148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris/****************************************************************************
248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ****************************************************************************
348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***
448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***   This header was automatically generated from a Linux kernel header
548af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***   of the same name, to make information necessary for userspace to
648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***   call into the kernel available to libc.  It contains only constants,
748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***   structures, and macros generated from the original header, and thus,
848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***   contains no copyrightable information.
948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***
1048af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***   To edit the content of this header, modify the corresponding
1148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***   source file (e.g. under external/kernel-headers/original/) then
1248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***   run bionic/libc/kernel/tools/update_all.py
1348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***
1448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***   Any manual change here will be lost the next time this script will
1548af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***   be run. You've been warned!
1648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ***
1748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ****************************************************************************
1848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris ****************************************************************************/
1948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#ifndef _UAPI_LINUX_SEG6_IPTUNNEL_H
2048af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define _UAPI_LINUX_SEG6_IPTUNNEL_H
21525ce914edf136d2bd02ac8c404d56c52e737f4dChristopher Ferris#include <linux/seg6.h>
2248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferrisenum {
2348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  SEG6_IPTUNNEL_UNSPEC,
2448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  SEG6_IPTUNNEL_SRH,
2548af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  __SEG6_IPTUNNEL_MAX,
2648af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris};
2748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define SEG6_IPTUNNEL_MAX (__SEG6_IPTUNNEL_MAX - 1)
2848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferrisstruct seg6_iptunnel_encap {
2948af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  int mode;
3048af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  struct ipv6_sr_hdr srh[0];
3148af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris};
3248af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#define SEG6_IPTUN_ENCAP_SIZE(x) ((sizeof(* x)) + (((x)->srh->hdrlen + 1) << 3))
3348af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferrisenum {
3448af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  SEG6_IPTUN_MODE_INLINE,
3548af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris  SEG6_IPTUN_MODE_ENCAP,
361308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris  SEG6_IPTUN_MODE_L2ENCAP,
3748af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris};
3848af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0Christopher Ferris#endif
39