From dde1ffd49b32cb4fb6b13f9e823cd4b7d2c852b0 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 29 Dec 2017 18:50:08 +0100 Subject: sys/linux: describe ipv6 tlv options --- executor/syscalls_linux.h | 10 +++--- sys/linux/386.go | 69 ++++++++++++++++++++++++++++++++++----- sys/linux/amd64.go | 69 ++++++++++++++++++++++++++++++++++----- sys/linux/arm.go | 69 ++++++++++++++++++++++++++++++++++----- sys/linux/arm64.go | 69 ++++++++++++++++++++++++++++++++++----- sys/linux/ppc64le.go | 69 ++++++++++++++++++++++++++++++++++----- sys/linux/vnet.txt | 78 +++++++++++++++++++++++++++++++++++++++----- sys/linux/vnet_386.const | 1 + sys/linux/vnet_amd64.const | 1 + sys/linux/vnet_arm.const | 1 + sys/linux/vnet_arm64.const | 1 + sys/linux/vnet_ppc64le.const | 1 + 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 include +include include 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 -- cgit mrf-deployment