diff --git a/unix/linux/types.go b/unix/linux/types.go index f80776a5..84c7c0dc 100644 --- a/unix/linux/types.go +++ b/unix/linux/types.go @@ -102,6 +102,7 @@ struct termios2 { #include #include #include +#include #include #include #include @@ -2921,3 +2922,18 @@ const ( PPS_GETCAP = C.PPS_GETCAP PPS_FETCH = C.PPS_FETCH ) + +// lwtunnel APIs + +const ( + LWTUNNEL_ENCAP_NONE = C.LWTUNNEL_ENCAP_NONE + LWTUNNEL_ENCAP_MPLS = C.LWTUNNEL_ENCAP_MPLS + LWTUNNEL_ENCAP_IP = C.LWTUNNEL_ENCAP_IP + LWTUNNEL_ENCAP_ILA = C.LWTUNNEL_ENCAP_ILA + LWTUNNEL_ENCAP_IP6 = C.LWTUNNEL_ENCAP_IP6 + LWTUNNEL_ENCAP_SEG6 = C.LWTUNNEL_ENCAP_SEG6 + LWTUNNEL_ENCAP_BPF = C.LWTUNNEL_ENCAP_BPF + LWTUNNEL_ENCAP_SEG6_LOCAL = C.LWTUNNEL_ENCAP_SEG6_LOCAL + LWTUNNEL_ENCAP_RPL = C.LWTUNNEL_ENCAP_RPL + LWTUNNEL_ENCAP_MAX = C.LWTUNNEL_ENCAP_MAX +) diff --git a/unix/mkerrors.sh b/unix/mkerrors.sh index 0c9a5c44..c0f9f2d5 100755 --- a/unix/mkerrors.sh +++ b/unix/mkerrors.sh @@ -225,6 +225,7 @@ struct ltchars { #include #include #include +#include #include #include #include @@ -561,6 +562,7 @@ ccflags="$@" $2 ~ /^CRYPTO_/ || $2 ~ /^TIPC_/ || $2 ~ /^DEVLINK_/ || + $2 ~ /^LWTUNNEL_IP/ || $2 !~ "WMESGLEN" && $2 ~ /^W[A-Z0-9]+$/ || $2 ~/^PPPIOC/ || diff --git a/unix/zerrors_linux.go b/unix/zerrors_linux.go index 2069fb86..b4611035 100644 --- a/unix/zerrors_linux.go +++ b/unix/zerrors_linux.go @@ -1217,6 +1217,12 @@ const ( LOOP_SET_STATUS_SETTABLE_FLAGS = 0xc LO_KEY_SIZE = 0x20 LO_NAME_SIZE = 0x40 + LWTUNNEL_IP6_MAX = 0x8 + LWTUNNEL_IP_MAX = 0x8 + LWTUNNEL_IP_OPTS_MAX = 0x3 + LWTUNNEL_IP_OPT_ERSPAN_MAX = 0x4 + LWTUNNEL_IP_OPT_GENEVE_MAX = 0x3 + LWTUNNEL_IP_OPT_VXLAN_MAX = 0x1 MADV_COLD = 0x14 MADV_DODUMP = 0x11 MADV_DOFORK = 0xb diff --git a/unix/ztypes_linux.go b/unix/ztypes_linux.go index a96ad4c2..22e67b2c 100644 --- a/unix/ztypes_linux.go +++ b/unix/ztypes_linux.go @@ -2981,3 +2981,16 @@ type PPSKTime struct { Nsec int32 Flags uint32 } + +const ( + LWTUNNEL_ENCAP_NONE = 0x0 + LWTUNNEL_ENCAP_MPLS = 0x1 + LWTUNNEL_ENCAP_IP = 0x2 + LWTUNNEL_ENCAP_ILA = 0x3 + LWTUNNEL_ENCAP_IP6 = 0x4 + LWTUNNEL_ENCAP_SEG6 = 0x5 + LWTUNNEL_ENCAP_BPF = 0x6 + LWTUNNEL_ENCAP_SEG6_LOCAL = 0x7 + LWTUNNEL_ENCAP_RPL = 0x8 + LWTUNNEL_ENCAP_MAX = 0x8 +)