aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-12-29 18:50:08 +0100
committerDmitry Vyukov <dvyukov@google.com>2017-12-29 18:50:08 +0100
commitdde1ffd49b32cb4fb6b13f9e823cd4b7d2c852b0 (patch)
treeb2e8456614b06b8dddd9387bba75a4dc4f210bd4
parentc25d74ee514fe00f228a0cc7c158cf2906329ea8 (diff)
sys/linux: describe ipv6 tlv options
-rw-r--r--executor/syscalls_linux.h10
-rw-r--r--sys/linux/386.go69
-rw-r--r--sys/linux/amd64.go69
-rw-r--r--sys/linux/arm.go69
-rw-r--r--sys/linux/arm64.go69
-rw-r--r--sys/linux/ppc64le.go69
-rw-r--r--sys/linux/vnet.txt78
-rw-r--r--sys/linux/vnet_386.const1
-rw-r--r--sys/linux/vnet_amd64.const1
-rw-r--r--sys/linux/vnet_arm.const1
-rw-r--r--sys/linux/vnet_arm64.const1
-rw-r--r--sys/linux/vnet_ppc64le.const1
12 files changed, 385 insertions, 53 deletions
diff --git a/executor/syscalls_linux.h b/executor/syscalls_linux.h
index b03865273..65dfb5d41 100644
--- a/executor/syscalls_linux.h
+++ b/executor/syscalls_linux.h
@@ -2,7 +2,7 @@
#if defined(__i386__) || 0
#define GOARCH "386"
-#define SYZ_REVISION "3d3bad2b255454a8764b6f9d46f8b50bf481141f"
+#define SYZ_REVISION "6a21c840076336a9ecd7b0c8f64c9a732dcadd9f"
#define __NR_syz_emit_ethernet 1000000
#define __NR_syz_extract_tcp_res 1000001
#define __NR_syz_fuse_mount 1000002
@@ -1486,7 +1486,7 @@ call_t syscalls[] = {
#if defined(__x86_64__) || 0
#define GOARCH "amd64"
-#define SYZ_REVISION "4466758fabaf0b60e33956aa3f05f1cb8385d132"
+#define SYZ_REVISION "988c5ee5ade3b7ceaadecccf9ef75f6abcb1c77e"
#define __NR_syz_emit_ethernet 1000000
#define __NR_syz_extract_tcp_res 1000001
#define __NR_syz_fuse_mount 1000002
@@ -3030,7 +3030,7 @@ call_t syscalls[] = {
#if defined(__arm__) || 0
#define GOARCH "arm"
-#define SYZ_REVISION "53bafa795203ec45b62cf141542793ae901f5f98"
+#define SYZ_REVISION "05cdeb383f6c4238e62bcffbfe9de88bb7a60785"
#define __NR_syz_emit_ethernet 1000000
#define __NR_syz_extract_tcp_res 1000001
#define __NR_syz_fuse_mount 1000002
@@ -4524,7 +4524,7 @@ call_t syscalls[] = {
#if defined(__aarch64__) || 0
#define GOARCH "arm64"
-#define SYZ_REVISION "88bc0e2f6cfc4b223275d48bde865611a84ef15d"
+#define SYZ_REVISION "93cee2390cde5b496d0ed2dd8457f83c405abe47"
#define __NR_syz_emit_ethernet 1000000
#define __NR_syz_extract_tcp_res 1000001
#define __NR_syz_fuse_mount 1000002
@@ -5997,7 +5997,7 @@ call_t syscalls[] = {
#if defined(__ppc64__) || defined(__PPC64__) || defined(__powerpc64__) || 0
#define GOARCH "ppc64le"
-#define SYZ_REVISION "582c76a6684cad8a0a355724a1fcb5179169b2f1"
+#define SYZ_REVISION "077779897893b2cf049c4e0c46ca6903bbc1ef8a"
#define __NR_syz_emit_ethernet 1000000
#define __NR_syz_extract_tcp_res 1000001
#define __NR_syz_fuse_mount 1000002
diff --git a/sys/linux/386.go b/sys/linux/386.go
index 55792fe23..827522424 100644
--- a/sys/linux/386.go
+++ b/sys/linux/386.go
@@ -2488,7 +2488,7 @@ var structDescs_386 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "options"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6},
- &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &StructType{Key: StructKey{Name: "ipv6_tlv_option"}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}},
}}},
{Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header"}, Fields: []Type{
&StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"},
@@ -2498,10 +2498,10 @@ var structDescs_386 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "reserved1", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "m_flag", TypeSize: 1}, BitfieldLen: 1, BitfieldMdl: true}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_lo", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 5}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "identification", TypeSize: 4}}, ValuesStart: 100, ValuesPerProc: 4},
}}},
@@ -2509,7 +2509,7 @@ var structDescs_386 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "options"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6},
- &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &StructType{Key: StructKey{Name: "ipv6_tlv_option"}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}},
}, AlignAttr: 8}},
{Key: StructKey{Name: "ipv6_mreq"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_mreq", TypeSize: 20}, Fields: []Type{
&UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "multi"},
@@ -2545,14 +2545,66 @@ var structDescs_386 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "data"},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{1, 0, 2}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "segments_left", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "reserved", TypeSize: 4}, BigEndian: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data"}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}},
}, AlignAttr: 8}},
- {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option"}, Fields: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 1, 5, 7, 194, 201, 255, 254}},
+ {Key: StructKey{Name: "ipv6_tlv_calipso"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso"}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 7},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, ByteSize: 1, Buf: "payload"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_calipso_payload"}, FldName: "payload"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_calipso_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso_payload"}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "domain", TypeSize: 4}, BigEndian: true}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "compartment_length", TypeSize: 1}}, ByteSize: 4, Buf: "compartment_bitmap"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sensitivity_level", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "checksum", TypeSize: 2}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "compartment_bitmap"}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8}}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_enc_lim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_enc_lim", TypeSize: 3}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "encap_limit", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_generic"}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "data"},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data"}},
}}},
+ {Key: StructKey{Name: "ipv6_tlv_hao"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_hao", TypeSize: 18}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 201},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, ByteSize: 1, Buf: "addr"},
+ &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "addr"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_jumbo"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_jumbo", TypeSize: 6}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 194},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "pkt_len", TypeSize: 4}, BigEndian: true}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "ipv6_tlv_generic"}, FldName: "generic"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_pad1"}, FldName: "pad1"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_padn"}, FldName: "padn"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_ra"}, FldName: "ra"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_jumbo"}, FldName: "jumbo"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_calipso"}, FldName: "calipso"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_hao"}, FldName: "hao"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_enc_lim"}, FldName: "enc_lim"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_pad1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_pad1", TypeSize: 3}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_padn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_padn"}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 1}}, Buf: "pad"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad"}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_ra"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_ra", TypeSize: 4}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 5},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 2},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "ra", TypeSize: 2}, BigEndian: true}},
+ }}},
{Key: StructKey{Name: "ipx_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipx_addr", TypeSize: 12}, Fields: []Type{
&UnionType{Key: StructKey{Name: "ipx_network"}, FldName: "network"},
&UnionType{Key: StructKey{Name: "ipx_node"}, FldName: "node"},
@@ -15079,6 +15131,7 @@ var consts_386 = []ConstValue{
{Name: "IPV6_TLV_PAD1"},
{Name: "IPV6_TLV_PADN", Value: 1},
{Name: "IPV6_TLV_ROUTERALERT", Value: 5},
+ {Name: "IPV6_TLV_TNL_ENCAP_LIMIT", Value: 4},
{Name: "IPV6_TRANSPARENT", Value: 75},
{Name: "IPV6_UNICAST_HOPS", Value: 16},
{Name: "IPV6_UNICAST_IF", Value: 76},
@@ -17163,4 +17216,4 @@ var consts_386 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_386 = "3d3bad2b255454a8764b6f9d46f8b50bf481141f"
+const revision_386 = "6a21c840076336a9ecd7b0c8f64c9a732dcadd9f"
diff --git a/sys/linux/amd64.go b/sys/linux/amd64.go
index 62ab92515..7c4e63801 100644
--- a/sys/linux/amd64.go
+++ b/sys/linux/amd64.go
@@ -2548,7 +2548,7 @@ var structDescs_amd64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "options"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6},
- &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &StructType{Key: StructKey{Name: "ipv6_tlv_option"}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}},
}}},
{Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header"}, Fields: []Type{
&StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"},
@@ -2558,10 +2558,10 @@ var structDescs_amd64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "reserved1", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "m_flag", TypeSize: 1}, BitfieldLen: 1, BitfieldMdl: true}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_lo", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 5}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "identification", TypeSize: 4}}, ValuesStart: 100, ValuesPerProc: 4},
}}},
@@ -2569,7 +2569,7 @@ var structDescs_amd64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "options"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6},
- &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &StructType{Key: StructKey{Name: "ipv6_tlv_option"}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}},
}, AlignAttr: 8}},
{Key: StructKey{Name: "ipv6_mreq"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_mreq", TypeSize: 20}, Fields: []Type{
&UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "multi"},
@@ -2605,14 +2605,66 @@ var structDescs_amd64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "data"},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{1, 0, 2}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "segments_left", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "reserved", TypeSize: 4}, BigEndian: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data"}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}},
}, AlignAttr: 8}},
- {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option"}, Fields: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 1, 5, 7, 194, 201, 255, 254}},
+ {Key: StructKey{Name: "ipv6_tlv_calipso"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso"}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 7},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, ByteSize: 1, Buf: "payload"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_calipso_payload"}, FldName: "payload"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_calipso_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso_payload"}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "domain", TypeSize: 4}, BigEndian: true}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "compartment_length", TypeSize: 1}}, ByteSize: 4, Buf: "compartment_bitmap"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sensitivity_level", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "checksum", TypeSize: 2}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "compartment_bitmap"}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8}}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_enc_lim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_enc_lim", TypeSize: 3}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "encap_limit", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_generic"}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "data"},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data"}},
}}},
+ {Key: StructKey{Name: "ipv6_tlv_hao"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_hao", TypeSize: 18}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 201},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, ByteSize: 1, Buf: "addr"},
+ &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "addr"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_jumbo"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_jumbo", TypeSize: 6}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 194},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "pkt_len", TypeSize: 4}, BigEndian: true}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "ipv6_tlv_generic"}, FldName: "generic"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_pad1"}, FldName: "pad1"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_padn"}, FldName: "padn"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_ra"}, FldName: "ra"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_jumbo"}, FldName: "jumbo"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_calipso"}, FldName: "calipso"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_hao"}, FldName: "hao"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_enc_lim"}, FldName: "enc_lim"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_pad1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_pad1", TypeSize: 3}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_padn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_padn"}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 1}}, Buf: "pad"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad"}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_ra"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_ra", TypeSize: 4}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 5},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 2},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "ra", TypeSize: 2}, BigEndian: true}},
+ }}},
{Key: StructKey{Name: "ipx_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipx_addr", TypeSize: 12}, Fields: []Type{
&UnionType{Key: StructKey{Name: "ipx_network"}, FldName: "network"},
&UnionType{Key: StructKey{Name: "ipx_node"}, FldName: "node"},
@@ -15581,6 +15633,7 @@ var consts_amd64 = []ConstValue{
{Name: "IPV6_TLV_PAD1"},
{Name: "IPV6_TLV_PADN", Value: 1},
{Name: "IPV6_TLV_ROUTERALERT", Value: 5},
+ {Name: "IPV6_TLV_TNL_ENCAP_LIMIT", Value: 4},
{Name: "IPV6_TRANSPARENT", Value: 75},
{Name: "IPV6_UNICAST_HOPS", Value: 16},
{Name: "IPV6_UNICAST_IF", Value: 76},
@@ -17690,4 +17743,4 @@ var consts_amd64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_amd64 = "4466758fabaf0b60e33956aa3f05f1cb8385d132"
+const revision_amd64 = "988c5ee5ade3b7ceaadecccf9ef75f6abcb1c77e"
diff --git a/sys/linux/arm.go b/sys/linux/arm.go
index 17170d5c5..576e2f675 100644
--- a/sys/linux/arm.go
+++ b/sys/linux/arm.go
@@ -2505,7 +2505,7 @@ var structDescs_arm = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "options"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6},
- &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &StructType{Key: StructKey{Name: "ipv6_tlv_option"}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}},
}}},
{Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header"}, Fields: []Type{
&StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"},
@@ -2515,10 +2515,10 @@ var structDescs_arm = []*KeyedStruct{
}}},
{Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "reserved1", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "m_flag", TypeSize: 1}, BitfieldLen: 1, BitfieldMdl: true}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_lo", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 5}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "identification", TypeSize: 4}}, ValuesStart: 100, ValuesPerProc: 4},
}}},
@@ -2526,7 +2526,7 @@ var structDescs_arm = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "options"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6},
- &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &StructType{Key: StructKey{Name: "ipv6_tlv_option"}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}},
}, AlignAttr: 8}},
{Key: StructKey{Name: "ipv6_mreq"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_mreq", TypeSize: 20}, Fields: []Type{
&UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "multi"},
@@ -2562,14 +2562,66 @@ var structDescs_arm = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "data"},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{1, 0, 2}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "segments_left", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "reserved", TypeSize: 4}, BigEndian: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data"}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}},
}, AlignAttr: 8}},
- {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option"}, Fields: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 1, 5, 7, 194, 201, 255, 254}},
+ {Key: StructKey{Name: "ipv6_tlv_calipso"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso"}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 7},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, ByteSize: 1, Buf: "payload"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_calipso_payload"}, FldName: "payload"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_calipso_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso_payload"}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "domain", TypeSize: 4}, BigEndian: true}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "compartment_length", TypeSize: 1}}, ByteSize: 4, Buf: "compartment_bitmap"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sensitivity_level", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "checksum", TypeSize: 2}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "compartment_bitmap"}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8}}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_enc_lim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_enc_lim", TypeSize: 3}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "encap_limit", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_generic"}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "data"},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data"}},
}}},
+ {Key: StructKey{Name: "ipv6_tlv_hao"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_hao", TypeSize: 18}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 201},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, ByteSize: 1, Buf: "addr"},
+ &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "addr"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_jumbo"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_jumbo", TypeSize: 6}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 194},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "pkt_len", TypeSize: 4}, BigEndian: true}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "ipv6_tlv_generic"}, FldName: "generic"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_pad1"}, FldName: "pad1"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_padn"}, FldName: "padn"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_ra"}, FldName: "ra"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_jumbo"}, FldName: "jumbo"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_calipso"}, FldName: "calipso"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_hao"}, FldName: "hao"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_enc_lim"}, FldName: "enc_lim"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_pad1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_pad1", TypeSize: 3}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_padn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_padn"}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 1}}, Buf: "pad"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad"}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_ra"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_ra", TypeSize: 4}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 5},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 2},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "ra", TypeSize: 2}, BigEndian: true}},
+ }}},
{Key: StructKey{Name: "ipx_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipx_addr", TypeSize: 12}, Fields: []Type{
&UnionType{Key: StructKey{Name: "ipx_network"}, FldName: "network"},
&UnionType{Key: StructKey{Name: "ipx_node"}, FldName: "node"},
@@ -14996,6 +15048,7 @@ var consts_arm = []ConstValue{
{Name: "IPV6_TLV_PAD1"},
{Name: "IPV6_TLV_PADN", Value: 1},
{Name: "IPV6_TLV_ROUTERALERT", Value: 5},
+ {Name: "IPV6_TLV_TNL_ENCAP_LIMIT", Value: 4},
{Name: "IPV6_TRANSPARENT", Value: 75},
{Name: "IPV6_UNICAST_HOPS", Value: 16},
{Name: "IPV6_UNICAST_IF", Value: 76},
@@ -17031,4 +17084,4 @@ var consts_arm = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm = "53bafa795203ec45b62cf141542793ae901f5f98"
+const revision_arm = "05cdeb383f6c4238e62bcffbfe9de88bb7a60785"
diff --git a/sys/linux/arm64.go b/sys/linux/arm64.go
index d9db6a453..af98d81e1 100644
--- a/sys/linux/arm64.go
+++ b/sys/linux/arm64.go
@@ -2548,7 +2548,7 @@ var structDescs_arm64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "options"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6},
- &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &StructType{Key: StructKey{Name: "ipv6_tlv_option"}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}},
}}},
{Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header"}, Fields: []Type{
&StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"},
@@ -2558,10 +2558,10 @@ var structDescs_arm64 = []*KeyedStruct{
}}},
{Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "reserved1", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "m_flag", TypeSize: 1}, BitfieldLen: 1, BitfieldMdl: true}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_lo", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 5}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "identification", TypeSize: 4}}, ValuesStart: 100, ValuesPerProc: 4},
}}},
@@ -2569,7 +2569,7 @@ var structDescs_arm64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "options"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6},
- &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &StructType{Key: StructKey{Name: "ipv6_tlv_option"}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}},
}, AlignAttr: 8}},
{Key: StructKey{Name: "ipv6_mreq"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_mreq", TypeSize: 20}, Fields: []Type{
&UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "multi"},
@@ -2605,14 +2605,66 @@ var structDescs_arm64 = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "data"},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{1, 0, 2}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "segments_left", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "reserved", TypeSize: 4}, BigEndian: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data"}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}},
}, AlignAttr: 8}},
- {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option"}, Fields: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 1, 5, 7, 194, 201, 255, 254}},
+ {Key: StructKey{Name: "ipv6_tlv_calipso"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso"}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 7},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, ByteSize: 1, Buf: "payload"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_calipso_payload"}, FldName: "payload"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_calipso_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso_payload"}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "domain", TypeSize: 4}, BigEndian: true}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "compartment_length", TypeSize: 1}}, ByteSize: 4, Buf: "compartment_bitmap"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sensitivity_level", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "checksum", TypeSize: 2}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "compartment_bitmap"}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8}}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_enc_lim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_enc_lim", TypeSize: 3}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "encap_limit", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_generic"}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "data"},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data"}},
}}},
+ {Key: StructKey{Name: "ipv6_tlv_hao"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_hao", TypeSize: 18}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 201},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, ByteSize: 1, Buf: "addr"},
+ &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "addr"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_jumbo"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_jumbo", TypeSize: 6}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 194},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "pkt_len", TypeSize: 4}, BigEndian: true}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "ipv6_tlv_generic"}, FldName: "generic"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_pad1"}, FldName: "pad1"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_padn"}, FldName: "padn"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_ra"}, FldName: "ra"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_jumbo"}, FldName: "jumbo"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_calipso"}, FldName: "calipso"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_hao"}, FldName: "hao"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_enc_lim"}, FldName: "enc_lim"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_pad1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_pad1", TypeSize: 3}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_padn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_padn"}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 1}}, Buf: "pad"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad"}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_ra"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_ra", TypeSize: 4}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 5},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 2},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "ra", TypeSize: 2}, BigEndian: true}},
+ }}},
{Key: StructKey{Name: "ipx_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipx_addr", TypeSize: 12}, Fields: []Type{
&UnionType{Key: StructKey{Name: "ipx_network"}, FldName: "network"},
&UnionType{Key: StructKey{Name: "ipx_node"}, FldName: "node"},
@@ -15047,6 +15099,7 @@ var consts_arm64 = []ConstValue{
{Name: "IPV6_TLV_PAD1"},
{Name: "IPV6_TLV_PADN", Value: 1},
{Name: "IPV6_TLV_ROUTERALERT", Value: 5},
+ {Name: "IPV6_TLV_TNL_ENCAP_LIMIT", Value: 4},
{Name: "IPV6_TRANSPARENT", Value: 75},
{Name: "IPV6_UNICAST_HOPS", Value: 16},
{Name: "IPV6_UNICAST_IF", Value: 76},
@@ -17072,4 +17125,4 @@ var consts_arm64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm64 = "88bc0e2f6cfc4b223275d48bde865611a84ef15d"
+const revision_arm64 = "93cee2390cde5b496d0ed2dd8457f83c405abe47"
diff --git a/sys/linux/ppc64le.go b/sys/linux/ppc64le.go
index 744b47270..26077ed35 100644
--- a/sys/linux/ppc64le.go
+++ b/sys/linux/ppc64le.go
@@ -2506,7 +2506,7 @@ var structDescs_ppc64le = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "options"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6},
- &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &StructType{Key: StructKey{Name: "ipv6_tlv_option"}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}},
}}},
{Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header"}, Fields: []Type{
&StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"},
@@ -2516,10 +2516,10 @@ var structDescs_ppc64le = []*KeyedStruct{
}}},
{Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "reserved1", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "m_flag", TypeSize: 1}, BitfieldLen: 1, BitfieldMdl: true}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved2", TypeSize: 1}, BitfieldOff: 1, BitfieldLen: 2, BitfieldMdl: true}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_lo", TypeSize: 1}, BitfieldOff: 3, BitfieldLen: 5}},
&ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "identification", TypeSize: 4}}, ValuesStart: 100, ValuesPerProc: 4},
}}},
@@ -2527,7 +2527,7 @@ var structDescs_ppc64le = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "next_header", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 4, 6, 8, 12, 17, 22, 29, 33, 41, 46, 47, 50, 51, 92, 94, 98, 103, 108, 132, 136, 137, 255, 0, 43, 44, 58, 59, 60, 135, 0, 43, 44, 47, 50, 51, 58, 59, 60, 135}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "options"},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad", TypeSize: 6}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}, Kind: 1, RangeBegin: 6, RangeEnd: 6},
- &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &StructType{Key: StructKey{Name: "ipv6_tlv_option"}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options"}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}},
}, AlignAttr: 8}},
{Key: StructKey{Name: "ipv6_mreq"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_mreq", TypeSize: 20}, Fields: []Type{
&UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "multi"},
@@ -2563,14 +2563,66 @@ var structDescs_ppc64le = []*KeyedStruct{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, ByteSize: 8, Buf: "data"},
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{1, 0, 2}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "segments_left", TypeSize: 1}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "reserved", TypeSize: 4}, BigEndian: true}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}},
&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data"}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}},
}, AlignAttr: 8}},
- {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option"}, Fields: []Type{
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option_types", FldName: "type", TypeSize: 1}}, Vals: []uint64{0, 1, 5, 7, 194, 201, 255, 254}},
+ {Key: StructKey{Name: "ipv6_tlv_calipso"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso"}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 7},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, ByteSize: 1, Buf: "payload"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_calipso_payload"}, FldName: "payload"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_calipso_payload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso_payload"}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "domain", TypeSize: 4}, BigEndian: true}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "compartment_length", TypeSize: 1}}, ByteSize: 4, Buf: "compartment_bitmap"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "sensitivity_level", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "checksum", TypeSize: 2}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "compartment_bitmap"}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8}}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_enc_lim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_enc_lim", TypeSize: 3}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "encap_limit", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_generic"}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "type", TypeSize: 1}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "data"},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data"}},
}}},
+ {Key: StructKey{Name: "ipv6_tlv_hao"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_hao", TypeSize: 18}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 201},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 1}}, ByteSize: 1, Buf: "addr"},
+ &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "addr"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_jumbo"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_jumbo", TypeSize: 6}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 194},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 4},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32be", FldName: "pkt_len", TypeSize: 4}, BigEndian: true}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_option"}, Fields: []Type{
+ &StructType{Key: StructKey{Name: "ipv6_tlv_generic"}, FldName: "generic"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_pad1"}, FldName: "pad1"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_padn"}, FldName: "padn"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_ra"}, FldName: "ra"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_jumbo"}, FldName: "jumbo"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_calipso"}, FldName: "calipso"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_hao"}, FldName: "hao"},
+ &StructType{Key: StructKey{Name: "ipv6_tlv_enc_lim"}, FldName: "enc_lim"},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_pad1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_pad1", TypeSize: 3}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "pad", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_padn"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_padn"}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 1}}, Buf: "pad"},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "pad"}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 1}}}},
+ }}},
+ {Key: StructKey{Name: "ipv6_tlv_ra"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_ra", TypeSize: 4}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 5},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "len", TypeSize: 1}}, Val: 2},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "ra", TypeSize: 2}, BigEndian: true}},
+ }}},
{Key: StructKey{Name: "ipx_addr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipx_addr", TypeSize: 12}, Fields: []Type{
&UnionType{Key: StructKey{Name: "ipx_network"}, FldName: "network"},
&UnionType{Key: StructKey{Name: "ipx_node"}, FldName: "node"},
@@ -14736,6 +14788,7 @@ var consts_ppc64le = []ConstValue{
{Name: "IPV6_TLV_PAD1"},
{Name: "IPV6_TLV_PADN", Value: 1},
{Name: "IPV6_TLV_ROUTERALERT", Value: 5},
+ {Name: "IPV6_TLV_TNL_ENCAP_LIMIT", Value: 4},
{Name: "IPV6_TRANSPARENT", Value: 75},
{Name: "IPV6_UNICAST_HOPS", Value: 16},
{Name: "IPV6_UNICAST_IF", Value: 76},
@@ -16753,4 +16806,4 @@ var consts_ppc64le = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_ppc64le = "582c76a6684cad8a0a355724a1fcb5179169b2f1"
+const revision_ppc64le = "077779897893b2cf049c4e0c46ca6903bbc1ef8a"
diff --git a/sys/linux/vnet.txt b/sys/linux/vnet.txt
index 0389f7133..76893a377 100644
--- a/sys/linux/vnet.txt
+++ b/sys/linux/vnet.txt
@@ -452,6 +452,7 @@ ipv4_packet {
include <uapi/linux/in6.h>
include <uapi/linux/ipv6.h>
+include <uapi/linux/ip6_tunnel.h>
include <net/ipv6.h>
ipv6_types = IPPROTO_IP, IPPROTO_ICMP, IPPROTO_IGMP, IPPROTO_IPIP, IPPROTO_TCP, IPPROTO_EGP, IPPROTO_PUP, IPPROTO_UDP, IPPROTO_IDP, IPPROTO_TP, IPPROTO_DCCP, IPPROTO_IPV6, IPPROTO_RSVP, IPPROTO_GRE, IPPROTO_ESP, IPPROTO_AH, IPPROTO_MTP, IPPROTO_BEETPH, IPPROTO_ENCAP, IPPROTO_PIM, IPPROTO_COMP, IPPROTO_SCTP, IPPROTO_UDPLITE, IPPROTO_MPLS, IPPROTO_RAW, IPPROTO_HOPOPTS, IPPROTO_ROUTING, IPPROTO_FRAGMENT, IPPROTO_ICMPV6, IPPROTO_NONE, IPPROTO_DSTOPTS, IPPROTO_MH, NEXTHDR_HOP, NEXTHDR_ROUTING, NEXTHDR_FRAGMENT, NEXTHDR_GRE, NEXTHDR_ESP, NEXTHDR_AUTH, NEXTHDR_ICMP, NEXTHDR_NONE, NEXTHDR_DEST, NEXTHDR_MOBILITY
@@ -491,7 +492,7 @@ ipv6_addr [
]
# TODO: Describe more types of headers
-# NEXTHDR_HOP, NEXTHDR_TCP, NEXTHDR_UDP, NEXTHDR_IPV6, NEXTHDR_ROUTING, NEXTHDR_FRAGMENT, NEXTHDR_GRE, NEXTHDR_ESP, NEXTHDR_AUTH, NEXTHDR_ICMP, NEXTHDR_NONE, NEXTHDR_DEST, NEXTHDR_SCTP, NEXTHDR_MOBILITY
+# NEXTHDR_HOP, NEXTHDR_TCP, NEXTHDR_UDP, NEXTHDR_IPV6, NEXTHDR_FRAGMENT, NEXTHDR_GRE, NEXTHDR_ESP, NEXTHDR_AUTH, NEXTHDR_ICMP, NEXTHDR_NONE, NEXTHDR_DEST, NEXTHDR_SCTP, NEXTHDR_MOBILITY
# https://tools.ietf.org/html/rfc2402
# https://tools.ietf.org/html/rfc2406
# https://tools.ietf.org/html/rfc3775
@@ -520,16 +521,16 @@ ipv6_routing_ext_header {
length bytesize8[data, int8]
routing_type flags[ipv6_routing_types, int8]
segments_left int8
- reserved int32be
+ reserved const[0, int32]
data array[ipv6_addr]
} [packed, align_8]
ipv6_fragment_ext_header {
next_header flags[ipv6_types, int8]
- reserved1 int8
+ reserved1 const[0, int8]
fragment_off_hi int8
m_flag int8:1
- reserved2 int8:2
+ reserved2 const[0, int8:2]
fragment_off_lo int8:5
identification proc[100, 4, int32]
} [packed]
@@ -541,15 +542,76 @@ ipv6_dstopts_ext_header {
options array[ipv6_tlv_option]
} [packed]
-# TODO: describe particular tlv options
-ipv6_tlv_option_types = IPV6_TLV_PAD1, IPV6_TLV_PADN, IPV6_TLV_ROUTERALERT, IPV6_TLV_CALIPSO, IPV6_TLV_JUMBO, IPV6_TLV_HAO, 0xff, 0xfe
+ipv6_tlv_option [
+ generic ipv6_tlv_generic
+ pad1 ipv6_tlv_pad1
+ padn ipv6_tlv_padn
+ ra ipv6_tlv_ra
+ jumbo ipv6_tlv_jumbo
+ calipso ipv6_tlv_calipso
+ hao ipv6_tlv_hao
+ enc_lim ipv6_tlv_enc_lim
+] [varlen]
-ipv6_tlv_option {
- type flags[ipv6_tlv_option_types, int8]
+ipv6_tlv_generic {
+ type int8
length len[data, int8]
data array[int8]
} [packed]
+ipv6_tlv_pad1 {
+ type const[IPV6_TLV_PAD1, int8]
+ len const[1, int8]
+ pad const[0, int8]
+} [packed]
+
+ipv6_tlv_padn {
+ type const[IPV6_TLV_PADN, int8]
+ len len[pad, int8]
+ pad array[const[0, int8]]
+} [packed]
+
+ipv6_tlv_ra {
+ type const[IPV6_TLV_ROUTERALERT, int8]
+ len const[2, int8]
+ ra int16be
+} [packed]
+
+ipv6_tlv_jumbo {
+ type const[IPV6_TLV_JUMBO, int8]
+ len const[4, int8]
+ pkt_len int32be
+} [packed]
+
+# https://tools.ietf.org/html/rfc5570#section-5.1
+ipv6_tlv_calipso {
+ type const[IPV6_TLV_CALIPSO, int8]
+ len bytesize[payload, int8]
+ payload ipv6_tlv_calipso_payload
+} [packed]
+
+# TODO: checksum is generally incorrect.
+# TODO: domain should be flags, but it's unclear if we have any domains registered by default.
+ipv6_tlv_calipso_payload {
+ domain int32be
+ compartment_length bytesize4[compartment_bitmap, int8]
+ sensitivity_level int8
+ checksum int16
+ compartment_bitmap array[int64]
+} [packed]
+
+ipv6_tlv_hao {
+ type const[IPV6_TLV_HAO, int8]
+ len bytesize[addr, int8]
+ addr ipv6_addr
+} [packed]
+
+ipv6_tlv_enc_lim {
+ type const[IPV6_TLV_TNL_ENCAP_LIMIT, int8]
+ len const[1, int8]
+ encap_limit int8
+} [packed]
+
ipv6_packet {
priority int8:4
version const[6, int8:4]
diff --git a/sys/linux/vnet_386.const b/sys/linux/vnet_386.const
index 6f9b09881..d29989958 100644
--- a/sys/linux/vnet_386.const
+++ b/sys/linux/vnet_386.const
@@ -268,6 +268,7 @@ IPV6_TLV_JUMBO = 194
IPV6_TLV_PAD1 = 0
IPV6_TLV_PADN = 1
IPV6_TLV_ROUTERALERT = 5
+IPV6_TLV_TNL_ENCAP_LIMIT = 4
IPX_TYPE_NCP = 17
IPX_TYPE_PPROP = 20
IPX_TYPE_RIP = 1
diff --git a/sys/linux/vnet_amd64.const b/sys/linux/vnet_amd64.const
index 6f9b09881..d29989958 100644
--- a/sys/linux/vnet_amd64.const
+++ b/sys/linux/vnet_amd64.const
@@ -268,6 +268,7 @@ IPV6_TLV_JUMBO = 194
IPV6_TLV_PAD1 = 0
IPV6_TLV_PADN = 1
IPV6_TLV_ROUTERALERT = 5
+IPV6_TLV_TNL_ENCAP_LIMIT = 4
IPX_TYPE_NCP = 17
IPX_TYPE_PPROP = 20
IPX_TYPE_RIP = 1
diff --git a/sys/linux/vnet_arm.const b/sys/linux/vnet_arm.const
index 6f9b09881..d29989958 100644
--- a/sys/linux/vnet_arm.const
+++ b/sys/linux/vnet_arm.const
@@ -268,6 +268,7 @@ IPV6_TLV_JUMBO = 194
IPV6_TLV_PAD1 = 0
IPV6_TLV_PADN = 1
IPV6_TLV_ROUTERALERT = 5
+IPV6_TLV_TNL_ENCAP_LIMIT = 4
IPX_TYPE_NCP = 17
IPX_TYPE_PPROP = 20
IPX_TYPE_RIP = 1
diff --git a/sys/linux/vnet_arm64.const b/sys/linux/vnet_arm64.const
index 6f9b09881..d29989958 100644
--- a/sys/linux/vnet_arm64.const
+++ b/sys/linux/vnet_arm64.const
@@ -268,6 +268,7 @@ IPV6_TLV_JUMBO = 194
IPV6_TLV_PAD1 = 0
IPV6_TLV_PADN = 1
IPV6_TLV_ROUTERALERT = 5
+IPV6_TLV_TNL_ENCAP_LIMIT = 4
IPX_TYPE_NCP = 17
IPX_TYPE_PPROP = 20
IPX_TYPE_RIP = 1
diff --git a/sys/linux/vnet_ppc64le.const b/sys/linux/vnet_ppc64le.const
index 6f9b09881..d29989958 100644
--- a/sys/linux/vnet_ppc64le.const
+++ b/sys/linux/vnet_ppc64le.const
@@ -268,6 +268,7 @@ IPV6_TLV_JUMBO = 194
IPV6_TLV_PAD1 = 0
IPV6_TLV_PADN = 1
IPV6_TLV_ROUTERALERT = 5
+IPV6_TLV_TNL_ENCAP_LIMIT = 4
IPX_TYPE_NCP = 17
IPX_TYPE_PPROP = 20
IPX_TYPE_RIP = 1