From 907d649fc3b6465bf58a79766a267006e0da453c Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 22 Feb 2018 20:14:36 +0100 Subject: sys/linux: add few ip and tcp options --- sys/linux/386.go | 44 ++++++++++++++++++++++++++++++++++------ sys/linux/amd64.go | 44 ++++++++++++++++++++++++++++++++++------ sys/linux/arm.go | 37 ++++++++++++++++++++++++++++------ sys/linux/arm64.go | 44 ++++++++++++++++++++++++++++++++++------ sys/linux/ppc64le.go | 44 ++++++++++++++++++++++++++++++++++------ sys/linux/vnet.txt | 48 ++++++++++++++++++++++++++++++++++++-------- sys/linux/vnet_386.const | 7 +++++++ sys/linux/vnet_amd64.const | 7 +++++++ sys/linux/vnet_arm64.const | 7 +++++++ sys/linux/vnet_ppc64le.const | 7 +++++++ 10 files changed, 251 insertions(+), 38 deletions(-) (limited to 'sys/linux') diff --git a/sys/linux/386.go b/sys/linux/386.go index a5ce6bc9f..bcafc2ab5 100644 --- a/sys/linux/386.go +++ b/sys/linux/386.go @@ -4392,14 +4392,15 @@ var structDescs_386 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, 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", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}}, - }}}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"}, - &StructType{Key: StructKey{Name: "ipv6_routing_ext_header"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_rt_hdr"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_sr_hdr"}, FldName: "srh"}, &StructType{Key: StructKey{Name: "ipv6_fragment_ext_header"}, FldName: "fragment"}, &StructType{Key: StructKey{Name: "ipv6_dstopts_ext_header"}, FldName: "dstopts"}, }}}, - {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{ + {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 14}, 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, 115}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}}, @@ -4407,7 +4408,8 @@ var structDescs_386 = []*KeyedStruct{ &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}, - }}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 6}}, IsPad: true}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_hopots_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_hopots_ext_header", IsVarlen: true}, 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, 115}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "options"}, @@ -4444,7 +4446,7 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "dccp_packet"}, FldName: "dccp"}, &StructType{Key: StructKey{Name: "gre_packet"}, FldName: "gre"}, }}}, - {Key: StructKey{Name: "ipv6_routing_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_routing_ext_header", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "ipv6_rt_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_rt_hdr", IsVarlen: true}, 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, 115}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "data"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{1, 0, 2}}, @@ -4452,6 +4454,16 @@ var structDescs_386 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, }, AlignAttr: 8}}, + {Key: StructKey{Name: "ipv6_sr_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_sr_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "nexthdr", 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, 115}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "hdrlen", TypeSize: 1}}, BitSize: 64, Buf: "segments"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "segments_left", TypeSize: 1}}, Buf: "segments"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "first_segment", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "flags", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "tag", TypeSize: 2}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "segments", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_tlv_calipso"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso", IsVarlen: true}, 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}}, BitSize: 8, Buf: "payload"}, @@ -9501,6 +9513,17 @@ var structDescs_386 = []*KeyedStruct{ {Key: StructKey{Name: "tcp_eol_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_eol_option", TypeSize: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, }}}, + {Key: StructKey{Name: "tcp_exp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_exp_fastopen_option", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 254}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "subtype", TypeSize: 2}, BigEndian: true}, Val: 63881}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "tcp_exp_smc_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_exp_smc_option", TypeSize: 6}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 254}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "subtype", TypeSize: 4}, BigEndian: true}, Val: 3805594585}, + }}}, {Key: StructKey{Name: "tcp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_fastopen_option", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 34}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, @@ -9556,6 +9579,8 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "tcp_timestamp_option"}, FldName: "timestamp"}, &StructType{Key: StructKey{Name: "tcp_md5sig_option"}, FldName: "md5sig"}, &StructType{Key: StructKey{Name: "tcp_fastopen_option"}, FldName: "fastopen"}, + &StructType{Key: StructKey{Name: "tcp_exp_fastopen_option"}, FldName: "exp_fastopen"}, + &StructType{Key: StructKey{Name: "tcp_exp_smc_option"}, FldName: "exp_smc"}, }}}, {Key: StructKey{Name: "tcp_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_options", IsVarlen: true}, Fields: []Type{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "tcp_option"}}}, @@ -22312,6 +22337,7 @@ var consts_386 = []ConstValue{ {Name: "IPV6_SRCRT_STRICT", Value: 1}, {Name: "IPV6_SRCRT_TYPE_0"}, {Name: "IPV6_SRCRT_TYPE_2", Value: 2}, + {Name: "IPV6_SRCRT_TYPE_4", Value: 4}, {Name: "IPV6_TCLASS", Value: 67}, {Name: "IPV6_TLV_CALIPSO", Value: 7}, {Name: "IPV6_TLV_HAO", Value: 201}, @@ -24095,6 +24121,10 @@ var consts_386 = []ConstValue{ {Name: "SPP_PMTUD_ENABLE", Value: 8}, {Name: "SPP_SACKDELAY_DISABLE", Value: 64}, {Name: "SPP_SACKDELAY_ENABLE", Value: 32}, + {Name: "SR6_FLAG1_ALERT", Value: 16}, + {Name: "SR6_FLAG1_HMAC", Value: 8}, + {Name: "SR6_FLAG1_OAM", Value: 32}, + {Name: "SR6_FLAG1_PROTECTED", Value: 64}, {Name: "STARTTIMER", Value: 2}, {Name: "STATX_ALL", Value: 4095}, {Name: "STATX_ATIME", Value: 32}, @@ -24155,11 +24185,13 @@ var consts_386 = []ConstValue{ {Name: "TCPOPT_EOL"}, {Name: "TCPOPT_EXP", Value: 254}, {Name: "TCPOPT_FASTOPEN", Value: 34}, + {Name: "TCPOPT_FASTOPEN_MAGIC", Value: 63881}, {Name: "TCPOPT_MD5SIG", Value: 19}, {Name: "TCPOPT_MSS", Value: 2}, {Name: "TCPOPT_NOP", Value: 1}, {Name: "TCPOPT_SACK", Value: 5}, {Name: "TCPOPT_SACK_PERM", Value: 4}, + {Name: "TCPOPT_SMC_MAGIC", Value: 3805594585}, {Name: "TCPOPT_TIMESTAMP", Value: 8}, {Name: "TCPOPT_WINDOW", Value: 3}, {Name: "TCP_CC_INFO", Value: 26}, @@ -24989,4 +25021,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "8fdb60d4bb97f8ba0a5c3013e9849cb604495f84" +const revision_386 = "4885144f9fd0616a83b5aad174e502a97fef2579" diff --git a/sys/linux/amd64.go b/sys/linux/amd64.go index c14b13a31..4763f17a4 100644 --- a/sys/linux/amd64.go +++ b/sys/linux/amd64.go @@ -4483,14 +4483,15 @@ var structDescs_amd64 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, 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", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}}, - }}}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"}, - &StructType{Key: StructKey{Name: "ipv6_routing_ext_header"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_rt_hdr"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_sr_hdr"}, FldName: "srh"}, &StructType{Key: StructKey{Name: "ipv6_fragment_ext_header"}, FldName: "fragment"}, &StructType{Key: StructKey{Name: "ipv6_dstopts_ext_header"}, FldName: "dstopts"}, }}}, - {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{ + {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 14}, 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, 115}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}}, @@ -4498,7 +4499,8 @@ var structDescs_amd64 = []*KeyedStruct{ &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}, - }}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 6}}, IsPad: true}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_hopots_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_hopots_ext_header", IsVarlen: true}, 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, 115}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "options"}, @@ -4535,7 +4537,7 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "dccp_packet"}, FldName: "dccp"}, &StructType{Key: StructKey{Name: "gre_packet"}, FldName: "gre"}, }}}, - {Key: StructKey{Name: "ipv6_routing_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_routing_ext_header", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "ipv6_rt_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_rt_hdr", IsVarlen: true}, 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, 115}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "data"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{1, 0, 2}}, @@ -4543,6 +4545,16 @@ var structDescs_amd64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, }, AlignAttr: 8}}, + {Key: StructKey{Name: "ipv6_sr_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_sr_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "nexthdr", 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, 115}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "hdrlen", TypeSize: 1}}, BitSize: 64, Buf: "segments"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "segments_left", TypeSize: 1}}, Buf: "segments"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "first_segment", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "flags", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "tag", TypeSize: 2}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "segments", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_tlv_calipso"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso", IsVarlen: true}, 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}}, BitSize: 8, Buf: "payload"}, @@ -9685,6 +9697,17 @@ var structDescs_amd64 = []*KeyedStruct{ {Key: StructKey{Name: "tcp_eol_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_eol_option", TypeSize: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, }}}, + {Key: StructKey{Name: "tcp_exp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_exp_fastopen_option", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 254}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "subtype", TypeSize: 2}, BigEndian: true}, Val: 63881}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "tcp_exp_smc_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_exp_smc_option", TypeSize: 6}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 254}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "subtype", TypeSize: 4}, BigEndian: true}, Val: 3805594585}, + }}}, {Key: StructKey{Name: "tcp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_fastopen_option", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 34}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, @@ -9740,6 +9763,8 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "tcp_timestamp_option"}, FldName: "timestamp"}, &StructType{Key: StructKey{Name: "tcp_md5sig_option"}, FldName: "md5sig"}, &StructType{Key: StructKey{Name: "tcp_fastopen_option"}, FldName: "fastopen"}, + &StructType{Key: StructKey{Name: "tcp_exp_fastopen_option"}, FldName: "exp_fastopen"}, + &StructType{Key: StructKey{Name: "tcp_exp_smc_option"}, FldName: "exp_smc"}, }}}, {Key: StructKey{Name: "tcp_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_options", IsVarlen: true}, Fields: []Type{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "tcp_option"}}}, @@ -22888,6 +22913,7 @@ var consts_amd64 = []ConstValue{ {Name: "IPV6_SRCRT_STRICT", Value: 1}, {Name: "IPV6_SRCRT_TYPE_0"}, {Name: "IPV6_SRCRT_TYPE_2", Value: 2}, + {Name: "IPV6_SRCRT_TYPE_4", Value: 4}, {Name: "IPV6_TCLASS", Value: 67}, {Name: "IPV6_TLV_CALIPSO", Value: 7}, {Name: "IPV6_TLV_HAO", Value: 201}, @@ -24671,6 +24697,10 @@ var consts_amd64 = []ConstValue{ {Name: "SPP_PMTUD_ENABLE", Value: 8}, {Name: "SPP_SACKDELAY_DISABLE", Value: 64}, {Name: "SPP_SACKDELAY_ENABLE", Value: 32}, + {Name: "SR6_FLAG1_ALERT", Value: 16}, + {Name: "SR6_FLAG1_HMAC", Value: 8}, + {Name: "SR6_FLAG1_OAM", Value: 32}, + {Name: "SR6_FLAG1_PROTECTED", Value: 64}, {Name: "STARTTIMER", Value: 2}, {Name: "STATX_ALL", Value: 4095}, {Name: "STATX_ATIME", Value: 32}, @@ -24731,11 +24761,13 @@ var consts_amd64 = []ConstValue{ {Name: "TCPOPT_EOL"}, {Name: "TCPOPT_EXP", Value: 254}, {Name: "TCPOPT_FASTOPEN", Value: 34}, + {Name: "TCPOPT_FASTOPEN_MAGIC", Value: 63881}, {Name: "TCPOPT_MD5SIG", Value: 19}, {Name: "TCPOPT_MSS", Value: 2}, {Name: "TCPOPT_NOP", Value: 1}, {Name: "TCPOPT_SACK", Value: 5}, {Name: "TCPOPT_SACK_PERM", Value: 4}, + {Name: "TCPOPT_SMC_MAGIC", Value: 3805594585}, {Name: "TCPOPT_TIMESTAMP", Value: 8}, {Name: "TCPOPT_WINDOW", Value: 3}, {Name: "TCP_CC_INFO", Value: 26}, @@ -25590,4 +25622,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "1fe40e55c5ca8f426b4c56960dcd3d57c42ecfec" +const revision_amd64 = "9b7d90db70a85ce4ca52fe31d459213bd0462e77" diff --git a/sys/linux/arm.go b/sys/linux/arm.go index ffeda8d6d..058f1048b 100644 --- a/sys/linux/arm.go +++ b/sys/linux/arm.go @@ -4409,14 +4409,15 @@ var structDescs_arm = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, 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", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}}, - }}}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"}, - &StructType{Key: StructKey{Name: "ipv6_routing_ext_header"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_rt_hdr"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_sr_hdr"}, FldName: "srh"}, &StructType{Key: StructKey{Name: "ipv6_fragment_ext_header"}, FldName: "fragment"}, &StructType{Key: StructKey{Name: "ipv6_dstopts_ext_header"}, FldName: "dstopts"}, }}}, - {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{ + {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 14}, 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, 115}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}}, @@ -4424,7 +4425,8 @@ var structDescs_arm = []*KeyedStruct{ &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}, - }}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 6}}, IsPad: true}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_hopots_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_hopots_ext_header", IsVarlen: true}, 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, 115}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "options"}, @@ -4461,7 +4463,7 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "dccp_packet"}, FldName: "dccp"}, &StructType{Key: StructKey{Name: "gre_packet"}, FldName: "gre"}, }}}, - {Key: StructKey{Name: "ipv6_routing_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_routing_ext_header", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "ipv6_rt_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_rt_hdr", IsVarlen: true}, 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, 115}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "data"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{1, 0, 2}}, @@ -4469,6 +4471,16 @@ var structDescs_arm = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, }, AlignAttr: 8}}, + {Key: StructKey{Name: "ipv6_sr_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_sr_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "nexthdr", 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, 115}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "hdrlen", TypeSize: 1}}, BitSize: 64, Buf: "segments"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "segments_left", TypeSize: 1}}, Buf: "segments"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "first_segment", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "flags", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "tag", TypeSize: 2}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "segments", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_tlv_calipso"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso", IsVarlen: true}, 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}}, BitSize: 8, Buf: "payload"}, @@ -9370,6 +9382,17 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "tcp_eol_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_eol_option", TypeSize: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, }}}, + {Key: StructKey{Name: "tcp_exp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_exp_fastopen_option", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 254}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "subtype", TypeSize: 2}, BigEndian: true}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "tcp_exp_smc_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_exp_smc_option", TypeSize: 6}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 254}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "subtype", TypeSize: 4}, BigEndian: true}}, + }}}, {Key: StructKey{Name: "tcp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_fastopen_option", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 34}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, @@ -9425,6 +9448,8 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "tcp_timestamp_option"}, FldName: "timestamp"}, &StructType{Key: StructKey{Name: "tcp_md5sig_option"}, FldName: "md5sig"}, &StructType{Key: StructKey{Name: "tcp_fastopen_option"}, FldName: "fastopen"}, + &StructType{Key: StructKey{Name: "tcp_exp_fastopen_option"}, FldName: "exp_fastopen"}, + &StructType{Key: StructKey{Name: "tcp_exp_smc_option"}, FldName: "exp_smc"}, }}}, {Key: StructKey{Name: "tcp_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_options", IsVarlen: true}, Fields: []Type{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "tcp_option"}}}, @@ -24847,4 +24872,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "5067581bdfd488a8007c90cb8de984853d046ff2" +const revision_arm = "220e335504887d2061cc543f218477c072ed099b" diff --git a/sys/linux/arm64.go b/sys/linux/arm64.go index f18698243..d7cae7c35 100644 --- a/sys/linux/arm64.go +++ b/sys/linux/arm64.go @@ -4483,14 +4483,15 @@ var structDescs_arm64 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, 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", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}}, - }}}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"}, - &StructType{Key: StructKey{Name: "ipv6_routing_ext_header"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_rt_hdr"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_sr_hdr"}, FldName: "srh"}, &StructType{Key: StructKey{Name: "ipv6_fragment_ext_header"}, FldName: "fragment"}, &StructType{Key: StructKey{Name: "ipv6_dstopts_ext_header"}, FldName: "dstopts"}, }}}, - {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{ + {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 14}, 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, 115}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}}, @@ -4498,7 +4499,8 @@ var structDescs_arm64 = []*KeyedStruct{ &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}, - }}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 6}}, IsPad: true}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_hopots_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_hopots_ext_header", IsVarlen: true}, 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, 115}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "options"}, @@ -4535,7 +4537,7 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "dccp_packet"}, FldName: "dccp"}, &StructType{Key: StructKey{Name: "gre_packet"}, FldName: "gre"}, }}}, - {Key: StructKey{Name: "ipv6_routing_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_routing_ext_header", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "ipv6_rt_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_rt_hdr", IsVarlen: true}, 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, 115}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "data"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{1, 0, 2}}, @@ -4543,6 +4545,16 @@ var structDescs_arm64 = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, }, AlignAttr: 8}}, + {Key: StructKey{Name: "ipv6_sr_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_sr_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "nexthdr", 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, 115}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "hdrlen", TypeSize: 1}}, BitSize: 64, Buf: "segments"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "segments_left", TypeSize: 1}}, Buf: "segments"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "first_segment", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "flags", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "tag", TypeSize: 2}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "segments", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_tlv_calipso"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso", IsVarlen: true}, 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}}, BitSize: 8, Buf: "payload"}, @@ -9490,6 +9502,17 @@ var structDescs_arm64 = []*KeyedStruct{ {Key: StructKey{Name: "tcp_eol_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_eol_option", TypeSize: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, }}}, + {Key: StructKey{Name: "tcp_exp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_exp_fastopen_option", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 254}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "subtype", TypeSize: 2}, BigEndian: true}, Val: 63881}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "tcp_exp_smc_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_exp_smc_option", TypeSize: 6}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 254}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "subtype", TypeSize: 4}, BigEndian: true}, Val: 3805594585}, + }}}, {Key: StructKey{Name: "tcp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_fastopen_option", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 34}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, @@ -9545,6 +9568,8 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "tcp_timestamp_option"}, FldName: "timestamp"}, &StructType{Key: StructKey{Name: "tcp_md5sig_option"}, FldName: "md5sig"}, &StructType{Key: StructKey{Name: "tcp_fastopen_option"}, FldName: "fastopen"}, + &StructType{Key: StructKey{Name: "tcp_exp_fastopen_option"}, FldName: "exp_fastopen"}, + &StructType{Key: StructKey{Name: "tcp_exp_smc_option"}, FldName: "exp_smc"}, }}}, {Key: StructKey{Name: "tcp_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_options", IsVarlen: true}, Fields: []Type{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "tcp_option"}}}, @@ -22354,6 +22379,7 @@ var consts_arm64 = []ConstValue{ {Name: "IPV6_SRCRT_STRICT", Value: 1}, {Name: "IPV6_SRCRT_TYPE_0"}, {Name: "IPV6_SRCRT_TYPE_2", Value: 2}, + {Name: "IPV6_SRCRT_TYPE_4", Value: 4}, {Name: "IPV6_TCLASS", Value: 67}, {Name: "IPV6_TLV_CALIPSO", Value: 7}, {Name: "IPV6_TLV_HAO", Value: 201}, @@ -24094,6 +24120,10 @@ var consts_arm64 = []ConstValue{ {Name: "SPP_PMTUD_ENABLE", Value: 8}, {Name: "SPP_SACKDELAY_DISABLE", Value: 64}, {Name: "SPP_SACKDELAY_ENABLE", Value: 32}, + {Name: "SR6_FLAG1_ALERT", Value: 16}, + {Name: "SR6_FLAG1_HMAC", Value: 8}, + {Name: "SR6_FLAG1_OAM", Value: 32}, + {Name: "SR6_FLAG1_PROTECTED", Value: 64}, {Name: "STARTTIMER", Value: 2}, {Name: "STATX_ALL", Value: 4095}, {Name: "STATX_ATIME", Value: 32}, @@ -24154,11 +24184,13 @@ var consts_arm64 = []ConstValue{ {Name: "TCPOPT_EOL"}, {Name: "TCPOPT_EXP", Value: 254}, {Name: "TCPOPT_FASTOPEN", Value: 34}, + {Name: "TCPOPT_FASTOPEN_MAGIC", Value: 63881}, {Name: "TCPOPT_MD5SIG", Value: 19}, {Name: "TCPOPT_MSS", Value: 2}, {Name: "TCPOPT_NOP", Value: 1}, {Name: "TCPOPT_SACK", Value: 5}, {Name: "TCPOPT_SACK_PERM", Value: 4}, + {Name: "TCPOPT_SMC_MAGIC", Value: 3805594585}, {Name: "TCPOPT_TIMESTAMP", Value: 8}, {Name: "TCPOPT_WINDOW", Value: 3}, {Name: "TCP_CC_INFO", Value: 26}, @@ -24972,4 +25004,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "1549416add43ab99966bf170357a517dd9a058c7" +const revision_arm64 = "606f172e9cacbfdd4fff24e8e9841fe84ec872be" diff --git a/sys/linux/ppc64le.go b/sys/linux/ppc64le.go index 0e7409281..8f3e73d18 100644 --- a/sys/linux/ppc64le.go +++ b/sys/linux/ppc64le.go @@ -4464,14 +4464,15 @@ var structDescs_ppc64le = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, 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", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_tlv_option"}}}, - }}}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_ext_header", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "ipv6_hopots_ext_header"}, FldName: "hopopts"}, - &StructType{Key: StructKey{Name: "ipv6_routing_ext_header"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_rt_hdr"}, FldName: "routing"}, + &StructType{Key: StructKey{Name: "ipv6_sr_hdr"}, FldName: "srh"}, &StructType{Key: StructKey{Name: "ipv6_fragment_ext_header"}, FldName: "fragment"}, &StructType{Key: StructKey{Name: "ipv6_dstopts_ext_header"}, FldName: "dstopts"}, }}}, - {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 8}, Fields: []Type{ + {Key: StructKey{Name: "ipv6_fragment_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_fragment_ext_header", TypeSize: 14}, 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, 115}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved1", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "fragment_off_hi", TypeSize: 1}}}, @@ -4479,7 +4480,8 @@ var structDescs_ppc64le = []*KeyedStruct{ &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}, - }}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 6}}, IsPad: true}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_hopots_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_hopots_ext_header", IsVarlen: true}, 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, 115}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "options"}, @@ -4516,7 +4518,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "dccp_packet"}, FldName: "dccp"}, &StructType{Key: StructKey{Name: "gre_packet"}, FldName: "gre"}, }}}, - {Key: StructKey{Name: "ipv6_routing_ext_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_routing_ext_header", IsVarlen: true}, Fields: []Type{ + {Key: StructKey{Name: "ipv6_rt_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_rt_hdr", IsVarlen: true}, 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, 115}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "length", TypeSize: 1}}, BitSize: 64, Buf: "data"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_routing_types", FldName: "routing_type", TypeSize: 1}}, Vals: []uint64{1, 0, 2}}, @@ -4524,6 +4526,16 @@ var structDescs_ppc64le = []*KeyedStruct{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 4}}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, }, AlignAttr: 8}}, + {Key: StructKey{Name: "ipv6_sr_hdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_sr_hdr", IsVarlen: true}, Fields: []Type{ + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "ipv6_types", FldName: "nexthdr", 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, 115}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize8", FldName: "hdrlen", TypeSize: 1}}, BitSize: 64, Buf: "segments"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 4}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "segments_left", TypeSize: 1}}, Buf: "segments"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "first_segment", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "flags", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "tag", TypeSize: 2}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "segments", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "ipv6_addr"}}}, + }, AlignAttr: 8}}, {Key: StructKey{Name: "ipv6_tlv_calipso"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ipv6_tlv_calipso", IsVarlen: true}, 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}}, BitSize: 8, Buf: "payload"}, @@ -9417,6 +9429,17 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "tcp_eol_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_eol_option", TypeSize: 1}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, }}}, + {Key: StructKey{Name: "tcp_exp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_exp_fastopen_option", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 254}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "subtype", TypeSize: 2}, BigEndian: true}, Val: 63881}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}, Kind: 1, RangeEnd: 16}, + }}}, + {Key: StructKey{Name: "tcp_exp_smc_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_exp_smc_option", TypeSize: 6}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 254}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "subtype", TypeSize: 4}, BigEndian: true}, Val: 3805594585}, + }}}, {Key: StructKey{Name: "tcp_fastopen_option"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_fastopen_option", IsVarlen: true}, Fields: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 34}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 1}}, Buf: "parent"}, @@ -9472,6 +9495,8 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "tcp_timestamp_option"}, FldName: "timestamp"}, &StructType{Key: StructKey{Name: "tcp_md5sig_option"}, FldName: "md5sig"}, &StructType{Key: StructKey{Name: "tcp_fastopen_option"}, FldName: "fastopen"}, + &StructType{Key: StructKey{Name: "tcp_exp_fastopen_option"}, FldName: "exp_fastopen"}, + &StructType{Key: StructKey{Name: "tcp_exp_smc_option"}, FldName: "exp_smc"}, }}}, {Key: StructKey{Name: "tcp_options"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "tcp_options", IsVarlen: true}, Fields: []Type{ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "options", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "tcp_option"}}}, @@ -22121,6 +22146,7 @@ var consts_ppc64le = []ConstValue{ {Name: "IPV6_SRCRT_STRICT", Value: 1}, {Name: "IPV6_SRCRT_TYPE_0"}, {Name: "IPV6_SRCRT_TYPE_2", Value: 2}, + {Name: "IPV6_SRCRT_TYPE_4", Value: 4}, {Name: "IPV6_TCLASS", Value: 67}, {Name: "IPV6_TLV_CALIPSO", Value: 7}, {Name: "IPV6_TLV_HAO", Value: 201}, @@ -23855,6 +23881,10 @@ var consts_ppc64le = []ConstValue{ {Name: "SPP_PMTUD_ENABLE", Value: 8}, {Name: "SPP_SACKDELAY_DISABLE", Value: 64}, {Name: "SPP_SACKDELAY_ENABLE", Value: 32}, + {Name: "SR6_FLAG1_ALERT", Value: 16}, + {Name: "SR6_FLAG1_HMAC", Value: 8}, + {Name: "SR6_FLAG1_OAM", Value: 32}, + {Name: "SR6_FLAG1_PROTECTED", Value: 64}, {Name: "STARTTIMER", Value: 2}, {Name: "STATX_ALL", Value: 4095}, {Name: "STATX_ATIME", Value: 32}, @@ -23913,11 +23943,13 @@ var consts_ppc64le = []ConstValue{ {Name: "TCPOPT_EOL"}, {Name: "TCPOPT_EXP", Value: 254}, {Name: "TCPOPT_FASTOPEN", Value: 34}, + {Name: "TCPOPT_FASTOPEN_MAGIC", Value: 63881}, {Name: "TCPOPT_MD5SIG", Value: 19}, {Name: "TCPOPT_MSS", Value: 2}, {Name: "TCPOPT_NOP", Value: 1}, {Name: "TCPOPT_SACK", Value: 5}, {Name: "TCPOPT_SACK_PERM", Value: 4}, + {Name: "TCPOPT_SMC_MAGIC", Value: 3805594585}, {Name: "TCPOPT_TIMESTAMP", Value: 8}, {Name: "TCPOPT_WINDOW", Value: 3}, {Name: "TCP_CC_INFO", Value: 26}, @@ -24734,4 +24766,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "bcb97366634096e72c134f863bf681a433f94b79" +const revision_ppc64le = "d9dbb1a3cd545f26896881049213c908e2f79e60" diff --git a/sys/linux/vnet.txt b/sys/linux/vnet.txt index 317c3b919..3fb81190d 100644 --- a/sys/linux/vnet.txt +++ b/sys/linux/vnet.txt @@ -471,6 +471,7 @@ ipv4_packet { include include +include include include @@ -538,7 +539,8 @@ type ipv6_addr_mask array[flags[ipv4_addr_mask_vals, int32be], 4] # length of the header in 8-octet units not including the first 8 octets. ipv6_ext_header [ hopopts ipv6_hopots_ext_header - routing ipv6_routing_ext_header + routing ipv6_rt_hdr + srh ipv6_sr_hdr fragment ipv6_fragment_ext_header dstopts ipv6_dstopts_ext_header ] [varlen] @@ -552,7 +554,7 @@ ipv6_hopots_ext_header { ipv6_routing_types = IPV6_SRCRT_STRICT, IPV6_SRCRT_TYPE_0, IPV6_SRCRT_TYPE_2 -ipv6_routing_ext_header { +ipv6_rt_hdr { next_header flags[ipv6_types, int8] length bytesize8[data, int8] routing_type flags[ipv6_routing_types, int8] @@ -561,6 +563,25 @@ ipv6_routing_ext_header { data array[ipv6_addr] } [packed, align_8] +ipv6_sr_hdr { + nexthdr flags[ipv6_types, int8] + hdrlen bytesize8[segments, int8] + type const[IPV6_SRCRT_TYPE_4, int8] + segments_left len[segments, int8] + first_segment int8 + flags int8 + tag int16 + segments array[ipv6_addr] +# TODO: this may be followed by sr6_tlv_hmac if SR6_FLAG1_HMAC is set. +# However, if we place it here, we won't be able to calculate hdrlen (len of 2 fields), +# and if we move segments and sr6_tlv_hmac into a separate struct, +# we won't be able to calculate segments_left because it will need to +# refer to a field of a subobject. What may help is allowing specifying +# subfields as len/bytesize targets, e.g. "len[payload.segments]", or "bytesize[parent_struct.foo]". +} [packed, align_8] + +ipv6_sr_flags = SR6_FLAG1_PROTECTED, SR6_FLAG1_OAM, SR6_FLAG1_ALERT, SR6_FLAG1_HMAC + ipv6_fragment_ext_header { next_header flags[ipv6_types, int8] reserved1 const[0, int8] @@ -569,14 +590,14 @@ ipv6_fragment_ext_header { reserved2 const[0, int8:2] fragment_off_lo int8:5 identification proc[100, 4, int32] -} [packed] +} [packed, align_8] ipv6_dstopts_ext_header { next_header flags[ipv6_types, int8] length bytesize8[options, int8] pad array[const[0, int8], 6] options array[ipv6_tlv_option] -} [packed] +} [packed, align_8] ipv6_tlv_option [ generic ipv6_tlv_generic @@ -648,9 +669,6 @@ ipv6_tlv_enc_lim { encap_limit int8 } [packed] -# TODO: add ipv6_rt_hdr header. -# TODO: add ipv6_sr_hdr header. - ipv6_packet { priority int8:4 version const[6, int8:4] @@ -712,7 +730,8 @@ tcp_option [ timestamp tcp_timestamp_option md5sig tcp_md5sig_option fastopen tcp_fastopen_option -# TODO: TCPOPT_EXP option + exp_fastopen tcp_exp_fastopen_option + exp_smc tcp_exp_smc_option ] [varlen] tcp_option_types = TCPOPT_NOP, TCPOPT_EOL, TCPOPT_MSS, TCPOPT_WINDOW, TCPOPT_SACK_PERM, TCPOPT_SACK, TCPOPT_TIMESTAMP, TCPOPT_MD5SIG, TCPOPT_FASTOPEN, TCPOPT_EXP @@ -782,6 +801,19 @@ tcp_fastopen_option { data array[int8, 0:16] } [packed] +tcp_exp_fastopen_option { + type const[TCPOPT_EXP, int8] + length len[parent, int8] + subtype const[TCPOPT_FASTOPEN_MAGIC, int16be] + data array[int8, 0:16] +} [packed] + +tcp_exp_smc_option { + type const[TCPOPT_EXP, int8] + length len[parent, int8] + subtype const[TCPOPT_SMC_MAGIC, int32be] +} [packed] + tcp_options { options array[tcp_option] } [packed, align_4] diff --git a/sys/linux/vnet_386.const b/sys/linux/vnet_386.const index 375cdcd4f..a4ecbc7fc 100644 --- a/sys/linux/vnet_386.const +++ b/sys/linux/vnet_386.const @@ -290,6 +290,7 @@ IPPROTO_UDPLITE = 136 IPV6_SRCRT_STRICT = 1 IPV6_SRCRT_TYPE_0 = 0 IPV6_SRCRT_TYPE_2 = 2 +IPV6_SRCRT_TYPE_4 = 4 IPV6_TLV_CALIPSO = 7 IPV6_TLV_HAO = 201 IPV6_TLV_JUMBO = 194 @@ -334,6 +335,10 @@ NEXTHDR_ICMP = 58 NEXTHDR_MOBILITY = 135 NEXTHDR_NONE = 59 NEXTHDR_ROUTING = 43 +SR6_FLAG1_ALERT = 16 +SR6_FLAG1_HMAC = 8 +SR6_FLAG1_OAM = 32 +SR6_FLAG1_PROTECTED = 64 TCPHDR_ACK = 16 TCPHDR_CWR = 128 TCPHDR_ECE = 64 @@ -346,11 +351,13 @@ TCPHDR_URG = 32 TCPOPT_EOL = 0 TCPOPT_EXP = 254 TCPOPT_FASTOPEN = 34 +TCPOPT_FASTOPEN_MAGIC = 63881 TCPOPT_MD5SIG = 19 TCPOPT_MSS = 2 TCPOPT_NOP = 1 TCPOPT_SACK = 5 TCPOPT_SACK_PERM = 4 +TCPOPT_SMC_MAGIC = 3805594585 TCPOPT_TIMESTAMP = 8 TCPOPT_WINDOW = 3 X25_CALL_ACCEPTED = 15 diff --git a/sys/linux/vnet_amd64.const b/sys/linux/vnet_amd64.const index 375cdcd4f..a4ecbc7fc 100644 --- a/sys/linux/vnet_amd64.const +++ b/sys/linux/vnet_amd64.const @@ -290,6 +290,7 @@ IPPROTO_UDPLITE = 136 IPV6_SRCRT_STRICT = 1 IPV6_SRCRT_TYPE_0 = 0 IPV6_SRCRT_TYPE_2 = 2 +IPV6_SRCRT_TYPE_4 = 4 IPV6_TLV_CALIPSO = 7 IPV6_TLV_HAO = 201 IPV6_TLV_JUMBO = 194 @@ -334,6 +335,10 @@ NEXTHDR_ICMP = 58 NEXTHDR_MOBILITY = 135 NEXTHDR_NONE = 59 NEXTHDR_ROUTING = 43 +SR6_FLAG1_ALERT = 16 +SR6_FLAG1_HMAC = 8 +SR6_FLAG1_OAM = 32 +SR6_FLAG1_PROTECTED = 64 TCPHDR_ACK = 16 TCPHDR_CWR = 128 TCPHDR_ECE = 64 @@ -346,11 +351,13 @@ TCPHDR_URG = 32 TCPOPT_EOL = 0 TCPOPT_EXP = 254 TCPOPT_FASTOPEN = 34 +TCPOPT_FASTOPEN_MAGIC = 63881 TCPOPT_MD5SIG = 19 TCPOPT_MSS = 2 TCPOPT_NOP = 1 TCPOPT_SACK = 5 TCPOPT_SACK_PERM = 4 +TCPOPT_SMC_MAGIC = 3805594585 TCPOPT_TIMESTAMP = 8 TCPOPT_WINDOW = 3 X25_CALL_ACCEPTED = 15 diff --git a/sys/linux/vnet_arm64.const b/sys/linux/vnet_arm64.const index 375cdcd4f..a4ecbc7fc 100644 --- a/sys/linux/vnet_arm64.const +++ b/sys/linux/vnet_arm64.const @@ -290,6 +290,7 @@ IPPROTO_UDPLITE = 136 IPV6_SRCRT_STRICT = 1 IPV6_SRCRT_TYPE_0 = 0 IPV6_SRCRT_TYPE_2 = 2 +IPV6_SRCRT_TYPE_4 = 4 IPV6_TLV_CALIPSO = 7 IPV6_TLV_HAO = 201 IPV6_TLV_JUMBO = 194 @@ -334,6 +335,10 @@ NEXTHDR_ICMP = 58 NEXTHDR_MOBILITY = 135 NEXTHDR_NONE = 59 NEXTHDR_ROUTING = 43 +SR6_FLAG1_ALERT = 16 +SR6_FLAG1_HMAC = 8 +SR6_FLAG1_OAM = 32 +SR6_FLAG1_PROTECTED = 64 TCPHDR_ACK = 16 TCPHDR_CWR = 128 TCPHDR_ECE = 64 @@ -346,11 +351,13 @@ TCPHDR_URG = 32 TCPOPT_EOL = 0 TCPOPT_EXP = 254 TCPOPT_FASTOPEN = 34 +TCPOPT_FASTOPEN_MAGIC = 63881 TCPOPT_MD5SIG = 19 TCPOPT_MSS = 2 TCPOPT_NOP = 1 TCPOPT_SACK = 5 TCPOPT_SACK_PERM = 4 +TCPOPT_SMC_MAGIC = 3805594585 TCPOPT_TIMESTAMP = 8 TCPOPT_WINDOW = 3 X25_CALL_ACCEPTED = 15 diff --git a/sys/linux/vnet_ppc64le.const b/sys/linux/vnet_ppc64le.const index 375cdcd4f..a4ecbc7fc 100644 --- a/sys/linux/vnet_ppc64le.const +++ b/sys/linux/vnet_ppc64le.const @@ -290,6 +290,7 @@ IPPROTO_UDPLITE = 136 IPV6_SRCRT_STRICT = 1 IPV6_SRCRT_TYPE_0 = 0 IPV6_SRCRT_TYPE_2 = 2 +IPV6_SRCRT_TYPE_4 = 4 IPV6_TLV_CALIPSO = 7 IPV6_TLV_HAO = 201 IPV6_TLV_JUMBO = 194 @@ -334,6 +335,10 @@ NEXTHDR_ICMP = 58 NEXTHDR_MOBILITY = 135 NEXTHDR_NONE = 59 NEXTHDR_ROUTING = 43 +SR6_FLAG1_ALERT = 16 +SR6_FLAG1_HMAC = 8 +SR6_FLAG1_OAM = 32 +SR6_FLAG1_PROTECTED = 64 TCPHDR_ACK = 16 TCPHDR_CWR = 128 TCPHDR_ECE = 64 @@ -346,11 +351,13 @@ TCPHDR_URG = 32 TCPOPT_EOL = 0 TCPOPT_EXP = 254 TCPOPT_FASTOPEN = 34 +TCPOPT_FASTOPEN_MAGIC = 63881 TCPOPT_MD5SIG = 19 TCPOPT_MSS = 2 TCPOPT_NOP = 1 TCPOPT_SACK = 5 TCPOPT_SACK_PERM = 4 +TCPOPT_SMC_MAGIC = 3805594585 TCPOPT_TIMESTAMP = 8 TCPOPT_WINDOW = 3 X25_CALL_ACCEPTED = 15 -- cgit mrf-deployment