diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-03-21 15:27:47 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-03-21 15:27:47 +0100 |
| commit | 5b64ead83b3ebabba9dbedc2c553c151947a6bb1 (patch) | |
| tree | 7ecfb054008b9d6b727be5cb0af15a9a8b091f8a /sys | |
| parent | 81c512e6b1d669ff9c0f1aa349402c9cd35b1b79 (diff) | |
sys/linux: add guehdr for udp packets
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/linux/386.go | 16 | ||||
| -rw-r--r-- | sys/linux/amd64.go | 16 | ||||
| -rw-r--r-- | sys/linux/arm.go | 14 | ||||
| -rw-r--r-- | sys/linux/arm64.go | 16 | ||||
| -rw-r--r-- | sys/linux/ppc64le.go | 16 | ||||
| -rw-r--r-- | sys/linux/vnet.txt | 19 | ||||
| -rw-r--r-- | sys/linux/vnet_386.const | 2 | ||||
| -rw-r--r-- | sys/linux/vnet_amd64.const | 2 | ||||
| -rw-r--r-- | sys/linux/vnet_arm64.const | 2 | ||||
| -rw-r--r-- | sys/linux/vnet_ppc64le.const | 2 |
10 files changed, 100 insertions, 5 deletions
diff --git a/sys/linux/386.go b/sys/linux/386.go index 089055227..c545ffe37 100644 --- a/sys/linux/386.go +++ b/sys/linux/386.go @@ -2680,6 +2680,14 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_group"}, &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_source"}, }}}, + {Key: StructKey{Name: "guehdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen", TypeSize: 1}, BitfieldLen: 5, BitfieldMdl: true}, BitSize: 32, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control", TypeSize: 1}, BitfieldOff: 5, BitfieldLen: 1, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "version", TypeSize: 1}, BitfieldOff: 6, BitfieldLen: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "proto_ctype", TypeSize: 1}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "guehdr_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{256}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "priv", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "guehdr_prov_flags", TypeSize: 4}}, Vals: []uint64{128}}, Kind: 1, RangeEnd: 1}, + }}}, {Key: StructKey{Name: "hashlimit_cfg1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hashlimit_cfg1", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xt_hashlimit_modes", FldName: "mode", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "avg", TypeSize: 4}}}, @@ -10177,11 +10185,15 @@ var structDescs_386 = []*KeyedStruct{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "f0", TypeSize: 4, ArgDir: 1}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "f1", TypeSize: 4, ArgDir: 1}}, }}}, + {Key: StructKey{Name: "udp_extensions"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, + }}}, {Key: StructKey{Name: "udp_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, BigEndian: true}, Kind: 2, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, BigEndian: true}, Kind: 2, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, BigEndian: true}, Buf: "parent"}, &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, BigEndian: true}, Kind: 1, Buf: "parent", Protocol: 17}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extensions", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "udp_extensions"}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, }}}, {Key: StructKey{Name: "udp_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ @@ -22442,6 +22454,8 @@ var consts_386 = []ConstValue{ {Name: "GIO_UNISCRNMAP", Value: 19305}, {Name: "GRND_NONBLOCK", Value: 1}, {Name: "GRND_RANDOM", Value: 2}, + {Name: "GUE_FLAG_PRIV", Value: 256}, + {Name: "GUE_PFLAG_REMCSUM", Value: 128}, {Name: "HCIBLOCKADDR", Value: 1074022630}, {Name: "HCIDEVDOWN", Value: 1074022602}, {Name: "HCIDEVRESET", Value: 1074022603}, @@ -25705,4 +25719,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "07f18311863bda169fc776218d2d1d61ff0c5d80" +const revision_386 = "b0cca0943b5017ba63ed5e3b325251612d061f21" diff --git a/sys/linux/amd64.go b/sys/linux/amd64.go index 0eb67184f..d02d04be5 100644 --- a/sys/linux/amd64.go +++ b/sys/linux/amd64.go @@ -2764,6 +2764,14 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_group"}, &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_source"}, }}}, + {Key: StructKey{Name: "guehdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen", TypeSize: 1}, BitfieldLen: 5, BitfieldMdl: true}, BitSize: 32, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control", TypeSize: 1}, BitfieldOff: 5, BitfieldLen: 1, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "version", TypeSize: 1}, BitfieldOff: 6, BitfieldLen: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "proto_ctype", TypeSize: 1}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "guehdr_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{256}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "priv", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "guehdr_prov_flags", TypeSize: 4}}, Vals: []uint64{128}}, Kind: 1, RangeEnd: 1}, + }}}, {Key: StructKey{Name: "hashlimit_cfg1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hashlimit_cfg1", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xt_hashlimit_modes", FldName: "mode", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "avg", TypeSize: 4}}}, @@ -10437,11 +10445,15 @@ var structDescs_amd64 = []*KeyedStruct{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "f0", TypeSize: 4, ArgDir: 1}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "f1", TypeSize: 4, ArgDir: 1}}, }}}, + {Key: StructKey{Name: "udp_extensions"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, + }}}, {Key: StructKey{Name: "udp_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, BigEndian: true}, Kind: 2, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, BigEndian: true}, Kind: 2, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, BigEndian: true}, Buf: "parent"}, &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, BigEndian: true}, Kind: 1, Buf: "parent", Protocol: 17}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extensions", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "udp_extensions"}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, }}}, {Key: StructKey{Name: "udp_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ @@ -23039,6 +23051,8 @@ var consts_amd64 = []ConstValue{ {Name: "GIO_UNISCRNMAP", Value: 19305}, {Name: "GRND_NONBLOCK", Value: 1}, {Name: "GRND_RANDOM", Value: 2}, + {Name: "GUE_FLAG_PRIV", Value: 256}, + {Name: "GUE_PFLAG_REMCSUM", Value: 128}, {Name: "HCIBLOCKADDR", Value: 1074022630}, {Name: "HCIDEVDOWN", Value: 1074022602}, {Name: "HCIDEVRESET", Value: 1074022603}, @@ -26327,4 +26341,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "40c12d23c5c1e6c11e1ab13ed032c1e4dc0e684f" +const revision_amd64 = "c4e271d66e2dfd758cf369682d72bbf3590dedd0" diff --git a/sys/linux/arm.go b/sys/linux/arm.go index 023cc1f77..3fefd8a93 100644 --- a/sys/linux/arm.go +++ b/sys/linux/arm.go @@ -2665,6 +2665,14 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_group"}, &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_source"}, }}}, + {Key: StructKey{Name: "guehdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen", TypeSize: 1}, BitfieldLen: 5, BitfieldMdl: true}, BitSize: 32, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control", TypeSize: 1}, BitfieldOff: 5, BitfieldLen: 1, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "version", TypeSize: 1}, BitfieldOff: 6, BitfieldLen: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "proto_ctype", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "guehdr_flags", FldName: "flags", TypeSize: 2}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "priv", IsVarlen: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "guehdr_prov_flags", TypeSize: 4}}}, Kind: 1, RangeEnd: 1}, + }}}, {Key: StructKey{Name: "hashlimit_cfg1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hashlimit_cfg1", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xt_hashlimit_modes", FldName: "mode", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "avg", TypeSize: 4}}}, @@ -10022,11 +10030,15 @@ var structDescs_arm = []*KeyedStruct{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "f0", TypeSize: 4, ArgDir: 1}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "f1", TypeSize: 4, ArgDir: 1}}, }}}, + {Key: StructKey{Name: "udp_extensions"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, + }}}, {Key: StructKey{Name: "udp_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, BigEndian: true}, Kind: 2, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, BigEndian: true}, Kind: 2, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, BigEndian: true}, Buf: "parent"}, &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, BigEndian: true}, Kind: 1, Buf: "parent", Protocol: 17}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extensions", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "udp_extensions"}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, }}}, {Key: StructKey{Name: "udp_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ @@ -25426,4 +25438,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "6698d4a368f4947b3b613f838e2e403841d38070" +const revision_arm = "07cef835f8b609cd2ffca0b97f77fa531c570b71" diff --git a/sys/linux/arm64.go b/sys/linux/arm64.go index b5ee6d960..0fe5313a5 100644 --- a/sys/linux/arm64.go +++ b/sys/linux/arm64.go @@ -2764,6 +2764,14 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_group"}, &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_source"}, }}}, + {Key: StructKey{Name: "guehdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen", TypeSize: 1}, BitfieldLen: 5, BitfieldMdl: true}, BitSize: 32, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control", TypeSize: 1}, BitfieldOff: 5, BitfieldLen: 1, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "version", TypeSize: 1}, BitfieldOff: 6, BitfieldLen: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "proto_ctype", TypeSize: 1}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "guehdr_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{256}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "priv", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "guehdr_prov_flags", TypeSize: 4}}, Vals: []uint64{128}}, Kind: 1, RangeEnd: 1}, + }}}, {Key: StructKey{Name: "hashlimit_cfg1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hashlimit_cfg1", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xt_hashlimit_modes", FldName: "mode", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "avg", TypeSize: 4}}}, @@ -10238,11 +10246,15 @@ var structDescs_arm64 = []*KeyedStruct{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "f0", TypeSize: 4, ArgDir: 1}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "f1", TypeSize: 4, ArgDir: 1}}, }}}, + {Key: StructKey{Name: "udp_extensions"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, + }}}, {Key: StructKey{Name: "udp_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, BigEndian: true}, Kind: 2, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, BigEndian: true}, Kind: 2, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, BigEndian: true}, Buf: "parent"}, &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, BigEndian: true}, Kind: 1, Buf: "parent", Protocol: 17}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extensions", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "udp_extensions"}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, }}}, {Key: StructKey{Name: "udp_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ @@ -22505,6 +22517,8 @@ var consts_arm64 = []ConstValue{ {Name: "GIO_UNISCRNMAP", Value: 19305}, {Name: "GRND_NONBLOCK", Value: 1}, {Name: "GRND_RANDOM", Value: 2}, + {Name: "GUE_FLAG_PRIV", Value: 256}, + {Name: "GUE_PFLAG_REMCSUM", Value: 128}, {Name: "HCIBLOCKADDR", Value: 1074022630}, {Name: "HCIDEVDOWN", Value: 1074022602}, {Name: "HCIDEVRESET", Value: 1074022603}, @@ -25709,4 +25723,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "82423022bc7f184a88fcd00fbd20962f6dbbd57e" +const revision_arm64 = "cac26d4197832d1b50b8b6ea469c8061b7405bc4" diff --git a/sys/linux/ppc64le.go b/sys/linux/ppc64le.go index 755521b07..4c9bee8e4 100644 --- a/sys/linux/ppc64le.go +++ b/sys/linux/ppc64le.go @@ -2758,6 +2758,14 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_group"}, &StructType{Key: StructKey{Name: "sockaddr_storage_in6"}, FldName: "gsr_source"}, }}}, + {Key: StructKey{Name: "guehdr"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen", TypeSize: 1}, BitfieldLen: 5, BitfieldMdl: true}, BitSize: 32, Buf: "parent"}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control", TypeSize: 1}, BitfieldOff: 5, BitfieldLen: 1, BitfieldMdl: true}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "version", TypeSize: 1}, BitfieldOff: 6, BitfieldLen: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "proto_ctype", TypeSize: 1}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "guehdr_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "priv", IsVarlen: true}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "guehdr_prov_flags", TypeSize: 4}}, Vals: []uint64{2147483648}}, Kind: 1, RangeEnd: 1}, + }}}, {Key: StructKey{Name: "hashlimit_cfg1"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "hashlimit_cfg1", TypeSize: 32}, Fields: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xt_hashlimit_modes", FldName: "mode", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "avg", TypeSize: 4}}}, @@ -10093,11 +10101,15 @@ var structDescs_ppc64le = []*KeyedStruct{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "f0", TypeSize: 4, ArgDir: 1}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_udp6", FldName: "f1", TypeSize: 4, ArgDir: 1}}, }}}, + {Key: StructKey{Name: "udp_extensions"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, + }}}, {Key: StructKey{Name: "udp_packet"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, BigEndian: true}, Kind: 2, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, BigEndian: true}, Kind: 2, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, BigEndian: true}, Buf: "parent"}, &CsumType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, BigEndian: true}, Kind: 1, Buf: "parent", Protocol: 17}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "extensions", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "udp_extensions"}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}}, }}}, {Key: StructKey{Name: "udp_pair", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_pair", TypeSize: 8, ArgDir: 1}, Fields: []Type{ @@ -22272,6 +22284,8 @@ var consts_ppc64le = []ConstValue{ {Name: "GIO_UNISCRNMAP", Value: 19305}, {Name: "GRND_NONBLOCK", Value: 1}, {Name: "GRND_RANDOM", Value: 2}, + {Name: "GUE_FLAG_PRIV", Value: 1}, + {Name: "GUE_PFLAG_REMCSUM", Value: 2147483648}, {Name: "HCIBLOCKADDR", Value: 2147764454}, {Name: "HCIDEVDOWN", Value: 2147764426}, {Name: "HCIDEVRESET", Value: 2147764427}, @@ -25471,4 +25485,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "18c287ebbc9da2ff832292feccf65374879463b6" +const revision_ppc64le = "d32421a63a0dd72f857a8cb4cdc483487132c60a" diff --git a/sys/linux/vnet.txt b/sys/linux/vnet.txt index b046c9733..1f7902cc7 100644 --- a/sys/linux/vnet.txt +++ b/sys/linux/vnet.txt @@ -849,14 +849,33 @@ tcp_payload { # https://tools.ietf.org/html/rfc768 # https://en.wikipedia.org/wiki/User_Datagram_Protocol#Packet_structure +include <net/gue.h> + udp_packet { src_port sock_port dst_port sock_port length len[parent, int16be] csum csum[parent, pseudo, IPPROTO_UDP, int16be] + extensions array[udp_extensions] data array[int8] } [packed] +udp_extensions [ + guehdr guehdr +] [varlen] + +guehdr { + hlen bytesize4[parent, int8:5] + control int8:1 + version int8:2 + proto_ctype int8 + flags flags[guehdr_flags, int16] + priv array[flags[guehdr_prov_flags, int32], 0:1] +} [packed] + +guehdr_flags = GUE_FLAG_PRIV +guehdr_prov_flags = GUE_PFLAG_REMCSUM + ################################################################################ ###################################### GRE ##################################### ################################################################################ diff --git a/sys/linux/vnet_386.const b/sys/linux/vnet_386.const index e20a4b616..487ec34a7 100644 --- a/sys/linux/vnet_386.const +++ b/sys/linux/vnet_386.const @@ -174,6 +174,8 @@ ETH_P_WAN_PPP = 7 ETH_P_WCCP = 34878 ETH_P_X25 = 2053 ETH_P_XDSA = 248 +GUE_FLAG_PRIV = 256 +GUE_PFLAG_REMCSUM = 128 ICMPV6_ADDR_UNREACH = 3 ICMPV6_ADM_PROHIBITED = 1 ICMPV6_DEST_UNREACH = 1 diff --git a/sys/linux/vnet_amd64.const b/sys/linux/vnet_amd64.const index e20a4b616..487ec34a7 100644 --- a/sys/linux/vnet_amd64.const +++ b/sys/linux/vnet_amd64.const @@ -174,6 +174,8 @@ ETH_P_WAN_PPP = 7 ETH_P_WCCP = 34878 ETH_P_X25 = 2053 ETH_P_XDSA = 248 +GUE_FLAG_PRIV = 256 +GUE_PFLAG_REMCSUM = 128 ICMPV6_ADDR_UNREACH = 3 ICMPV6_ADM_PROHIBITED = 1 ICMPV6_DEST_UNREACH = 1 diff --git a/sys/linux/vnet_arm64.const b/sys/linux/vnet_arm64.const index e20a4b616..487ec34a7 100644 --- a/sys/linux/vnet_arm64.const +++ b/sys/linux/vnet_arm64.const @@ -174,6 +174,8 @@ ETH_P_WAN_PPP = 7 ETH_P_WCCP = 34878 ETH_P_X25 = 2053 ETH_P_XDSA = 248 +GUE_FLAG_PRIV = 256 +GUE_PFLAG_REMCSUM = 128 ICMPV6_ADDR_UNREACH = 3 ICMPV6_ADM_PROHIBITED = 1 ICMPV6_DEST_UNREACH = 1 diff --git a/sys/linux/vnet_ppc64le.const b/sys/linux/vnet_ppc64le.const index e20a4b616..bd122eee4 100644 --- a/sys/linux/vnet_ppc64le.const +++ b/sys/linux/vnet_ppc64le.const @@ -174,6 +174,8 @@ ETH_P_WAN_PPP = 7 ETH_P_WCCP = 34878 ETH_P_X25 = 2053 ETH_P_XDSA = 248 +GUE_FLAG_PRIV = 1 +GUE_PFLAG_REMCSUM = 2147483648 ICMPV6_ADDR_UNREACH = 3 ICMPV6_ADM_PROHIBITED = 1 ICMPV6_DEST_UNREACH = 1 |
