diff options
| -rw-r--r-- | executor/defs.h | 12 | ||||
| -rw-r--r-- | sys/linux/gen/386.go | 65 | ||||
| -rw-r--r-- | sys/linux/gen/amd64.go | 65 | ||||
| -rw-r--r-- | sys/linux/gen/arm.go | 65 | ||||
| -rw-r--r-- | sys/linux/gen/arm64.go | 65 | ||||
| -rw-r--r-- | sys/linux/gen/mips64le.go | 65 | ||||
| -rw-r--r-- | sys/linux/gen/ppc64le.go | 65 | ||||
| -rw-r--r-- | sys/linux/socket_netlink_generic_wireguard.txt | 54 | ||||
| -rw-r--r-- | sys/linux/socket_netlink_generic_wireguard_386.const | 13 | ||||
| -rw-r--r-- | sys/linux/socket_netlink_generic_wireguard_amd64.const | 13 | ||||
| -rw-r--r-- | sys/linux/socket_netlink_generic_wireguard_arm.const | 13 | ||||
| -rw-r--r-- | sys/linux/socket_netlink_generic_wireguard_arm64.const | 13 | ||||
| -rw-r--r-- | sys/linux/socket_netlink_generic_wireguard_mips64le.const | 13 | ||||
| -rw-r--r-- | sys/linux/socket_netlink_generic_wireguard_ppc64le.const | 13 | ||||
| -rw-r--r-- | sys/linux/test/udp2 | 2 | ||||
| -rw-r--r-- | sys/linux/test/wireguard | 2 | ||||
| -rw-r--r-- | sys/linux/vnet.txt | 14 |
17 files changed, 505 insertions, 47 deletions
diff --git a/executor/defs.h b/executor/defs.h index b9e8cef54..4f4850f8f 100644 --- a/executor/defs.h +++ b/executor/defs.h @@ -70,7 +70,7 @@ #if GOARCH_386 #define GOARCH "386" -#define SYZ_REVISION "5b9e0b4a8e15ef119c63265da52f68f5f3fa63c5" +#define SYZ_REVISION "04fc8973b69dbf4979ab879e07778fc02b6e5a6c" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -80,7 +80,7 @@ #if GOARCH_amd64 #define GOARCH "amd64" -#define SYZ_REVISION "684bea62ae81e6704ad225e6cfe4f84ea99db882" +#define SYZ_REVISION "3f6c136a66718444baa514281669846d8fe2aa16" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -90,7 +90,7 @@ #if GOARCH_arm #define GOARCH "arm" -#define SYZ_REVISION "15c5ae6e6a0f930da2ac8465125147f2ac5fa492" +#define SYZ_REVISION "2b0679751c8799cba32f6803fdd37eba5cb8355b" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -100,7 +100,7 @@ #if GOARCH_arm64 #define GOARCH "arm64" -#define SYZ_REVISION "93bd7b3f23f14993a276b1b8b8246fd3038c4777" +#define SYZ_REVISION "0f791c98835aa79e3c5ebbaadda38e011f07a98e" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -110,7 +110,7 @@ #if GOARCH_mips64le #define GOARCH "mips64le" -#define SYZ_REVISION "583c3558fad43c0f407283ec73c790c9dade4450" +#define SYZ_REVISION "6d1455a98c4c2b4ea29cce95ff8395c5d94f15c0" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -120,7 +120,7 @@ #if GOARCH_ppc64le #define GOARCH "ppc64le" -#define SYZ_REVISION "a95e16cebdc8b39e62be936233a10841b6b124b0" +#define SYZ_REVISION "b07cf7921d128f13154b3db793acd4b11e6e1bec" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 9f4940ed8..960a0feca 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -8291,6 +8291,10 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_PDP_HASHSIZE, int16], int32]"}, FldName: "IFLA_GTP_PDP_HASHSIZE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_ROLE, int16], int32[0:2]]"}, FldName: "IFLA_GTP_ROLE"}, }}}, + {StructKey{Name: "gue_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "gue_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "hdr"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + }}}, {StructKey{Name: "guehdr"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen"}, BitfieldLen: 5, BitfieldUnit: 1}, BitSize: 32, Path: []string{"parent"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control"}, BitfieldOff: 5, BitfieldLen: 1, BitfieldUnit: 1}}, @@ -13872,6 +13876,38 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_ACT, int16], array[tca_actions]]"}, FldName: "TCA_MATCHALL_ACT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_FLAGS, int16], int32[0:8]]"}, FldName: "TCA_MATCHALL_FLAGS"}, }}}, + {StructKey{Name: "message_data"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "key_idx", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "counter", TypeSize: 8}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_data", IsVarlen: true}}, + }}}, + {StructKey{Name: "message_handshake_cookie"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_cookie", TypeSize: 64}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "nonce", TypeSize: 24}, Kind: 1, RangeBegin: 24, RangeEnd: 24}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_cookie", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + }}}, + {StructKey{Name: "message_handshake_initiation"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_initiation", TypeSize: 148}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_static", TypeSize: 48}, Kind: 1, RangeBegin: 48, RangeEnd: 48}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_timestamp", TypeSize: 28}, Kind: 1, RangeBegin: 28, RangeEnd: 28}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_handshake_response"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_response", TypeSize: 92}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_nothing", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_macs"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_macs", TypeSize: 32}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac1", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac2", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, {StructKey{Name: "meta_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "meta_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_HDR, int16], tcf_meta_hdr]"}, FldName: "TCA_EM_META_HDR"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_LVALUE, int16], array[tcf_em_meta_int_var]]"}, FldName: "TCA_EM_META_LVALUE"}, @@ -42764,16 +42800,17 @@ var structDescs_386 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", TypeSize: 4}}, Path: []string{"list"}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "list", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "udmabuf_create_item"}}}, }}}, - {StructKey{Name: "udp_extensions"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, - }}}, {StructKey{Name: "udp_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, ArgFormat: 1}, Path: []string{"parent"}}, &CsumType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, 1, "parent", 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}}, + &UnionType{Key: StructKey{Name: "udp_payload"}, FldName: "payload"}, + }}}, + {StructKey{Name: "udp_payload"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_payload", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + &StructType{Key: StructKey{Name: "gue_packet"}, FldName: "gue"}, + &UnionType{Key: StructKey{Name: "wg_packet"}, FldName: "wg"}, }}}, {StructKey{Name: "udp_timeout_nla_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_timeout_nla_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_tt[const[CTA_TIMEOUT_UDP_UNREPLIED, int16:14], 1, 0, int32be]"}, FldName: "CTA_TIMEOUT_UDP_UNREPLIED"}, @@ -45533,6 +45570,12 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}}, &ArrayType{TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, 1, 8, 8}, }}}, + {StructKey{Name: "wg_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "wg_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "message_handshake_initiation"}, FldName: "initiation"}, + &StructType{Key: StructKey{Name: "message_handshake_response"}, FldName: "response"}, + &StructType{Key: StructKey{Name: "message_handshake_cookie"}, FldName: "cookie"}, + &StructType{Key: StructKey{Name: "message_data"}, FldName: "data"}, + }}}, {StructKey{Name: "winsize"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}}, @@ -66628,6 +66671,8 @@ var consts_386 = []ConstValue{ {"CMTPGETCONNINFO", 2147763155}, {"CMTPGETCONNLIST", 2147763154}, {"CONTAINER_ID_TYPE", 4}, + {"COOKIE_LEN", 16}, + {"COOKIE_NONCE_LEN", 24}, {"COUNT_INFO_SIZE", 12}, {"CRYPTOCFGA_PRIORITY_VAL", 1}, {"CRYPTO_ALG_ASYNC", 128}, @@ -69626,6 +69671,10 @@ var consts_386 = []ConstValue{ {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED", 16}, {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE", 64}, {"MEMBARRIER_CMD_SHARED", 1}, + {"MESSAGE_DATA", 4}, + {"MESSAGE_HANDSHAKE_COOKIE", 3}, + {"MESSAGE_HANDSHAKE_INITIATION", 1}, + {"MESSAGE_HANDSHAKE_RESPONSE", 2}, {"MFD_ALLOW_SEALING", 2}, {"MFD_CLOEXEC", 1}, {"MFD_HUGETLB", 4}, @@ -70884,8 +70933,12 @@ var consts_386 = []ConstValue{ {"NLM_F_REQUEST", 1}, {"NLM_F_ROOT", 256}, {"NMAGIC", 264}, + {"NOISE_COOKIE_ENCRYPTED_LEN", 32}, + {"NOISE_NOTHING_ENCRYPTED_LEN", 16}, + {"NOISE_PUBLIC_KEY_ENCRYPTED_LEN", 48}, {"NOISE_PUBLIC_KEY_LEN", 32}, {"NOISE_SYMMETRIC_KEY_LEN", 32}, + {"NOISE_TIMESTAMP_ENCRYPTED_LEN", 28}, {Name: "NO_CLIENT"}, {"NPMODE_DROP", 1}, {"NPMODE_ERROR", 2}, @@ -75825,4 +75878,4 @@ var consts_386 = []ConstValue{ {"ethtool_per_queue_op_size", 128}, } -const revision_386 = "5b9e0b4a8e15ef119c63265da52f68f5f3fa63c5" +const revision_386 = "04fc8973b69dbf4979ab879e07778fc02b6e5a6c" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index ccd1c2599..affed1c06 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -8431,6 +8431,10 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_PDP_HASHSIZE, int16], int32]"}, FldName: "IFLA_GTP_PDP_HASHSIZE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_ROLE, int16], int32[0:2]]"}, FldName: "IFLA_GTP_ROLE"}, }}}, + {StructKey{Name: "gue_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "gue_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "hdr"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + }}}, {StructKey{Name: "guehdr"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen"}, BitfieldLen: 5, BitfieldUnit: 1}, BitSize: 32, Path: []string{"parent"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control"}, BitfieldOff: 5, BitfieldLen: 1, BitfieldUnit: 1}}, @@ -14040,6 +14044,38 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_ACT, int16], array[tca_actions]]"}, FldName: "TCA_MATCHALL_ACT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_FLAGS, int16], int32[0:8]]"}, FldName: "TCA_MATCHALL_FLAGS"}, }}}, + {StructKey{Name: "message_data"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "key_idx", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "counter", TypeSize: 8}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_data", IsVarlen: true}}, + }}}, + {StructKey{Name: "message_handshake_cookie"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_cookie", TypeSize: 64}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "nonce", TypeSize: 24}, Kind: 1, RangeBegin: 24, RangeEnd: 24}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_cookie", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + }}}, + {StructKey{Name: "message_handshake_initiation"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_initiation", TypeSize: 148}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_static", TypeSize: 48}, Kind: 1, RangeBegin: 48, RangeEnd: 48}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_timestamp", TypeSize: 28}, Kind: 1, RangeBegin: 28, RangeEnd: 28}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_handshake_response"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_response", TypeSize: 92}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_nothing", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_macs"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_macs", TypeSize: 32}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac1", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac2", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, {StructKey{Name: "meta_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "meta_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_HDR, int16], tcf_meta_hdr]"}, FldName: "TCA_EM_META_HDR"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_LVALUE, int16], array[tcf_em_meta_int_var]]"}, FldName: "TCA_EM_META_LVALUE"}, @@ -43533,16 +43569,17 @@ var structDescs_amd64 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", TypeSize: 4}}, Path: []string{"list"}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "list", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "udmabuf_create_item"}}}, }}}, - {StructKey{Name: "udp_extensions"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, - }}}, {StructKey{Name: "udp_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, ArgFormat: 1}, Path: []string{"parent"}}, &CsumType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, 1, "parent", 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}}, + &UnionType{Key: StructKey{Name: "udp_payload"}, FldName: "payload"}, + }}}, + {StructKey{Name: "udp_payload"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_payload", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + &StructType{Key: StructKey{Name: "gue_packet"}, FldName: "gue"}, + &UnionType{Key: StructKey{Name: "wg_packet"}, FldName: "wg"}, }}}, {StructKey{Name: "udp_timeout_nla_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_timeout_nla_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_tt[const[CTA_TIMEOUT_UDP_UNREPLIED, int16:14], 1, 0, int32be]"}, FldName: "CTA_TIMEOUT_UDP_UNREPLIED"}, @@ -46325,6 +46362,12 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}}, &ArrayType{TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, 1, 8, 8}, }}}, + {StructKey{Name: "wg_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "wg_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "message_handshake_initiation"}, FldName: "initiation"}, + &StructType{Key: StructKey{Name: "message_handshake_response"}, FldName: "response"}, + &StructType{Key: StructKey{Name: "message_handshake_cookie"}, FldName: "cookie"}, + &StructType{Key: StructKey{Name: "message_data"}, FldName: "data"}, + }}}, {StructKey{Name: "winsize"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}}, @@ -67574,6 +67617,8 @@ var consts_amd64 = []ConstValue{ {"CMTPGETCONNINFO", 2147763155}, {"CMTPGETCONNLIST", 2147763154}, {"CONTAINER_ID_TYPE", 4}, + {"COOKIE_LEN", 16}, + {"COOKIE_NONCE_LEN", 24}, {"COUNT_INFO_SIZE", 12}, {"CRYPTOCFGA_PRIORITY_VAL", 1}, {"CRYPTO_ALG_ASYNC", 128}, @@ -70572,6 +70617,10 @@ var consts_amd64 = []ConstValue{ {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED", 16}, {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE", 64}, {"MEMBARRIER_CMD_SHARED", 1}, + {"MESSAGE_DATA", 4}, + {"MESSAGE_HANDSHAKE_COOKIE", 3}, + {"MESSAGE_HANDSHAKE_INITIATION", 1}, + {"MESSAGE_HANDSHAKE_RESPONSE", 2}, {"MFD_ALLOW_SEALING", 2}, {"MFD_CLOEXEC", 1}, {"MFD_HUGETLB", 4}, @@ -71830,8 +71879,12 @@ var consts_amd64 = []ConstValue{ {"NLM_F_REQUEST", 1}, {"NLM_F_ROOT", 256}, {"NMAGIC", 264}, + {"NOISE_COOKIE_ENCRYPTED_LEN", 32}, + {"NOISE_NOTHING_ENCRYPTED_LEN", 16}, + {"NOISE_PUBLIC_KEY_ENCRYPTED_LEN", 48}, {"NOISE_PUBLIC_KEY_LEN", 32}, {"NOISE_SYMMETRIC_KEY_LEN", 32}, + {"NOISE_TIMESTAMP_ENCRYPTED_LEN", 28}, {Name: "NO_CLIENT"}, {"NPMODE_DROP", 1}, {"NPMODE_ERROR", 2}, @@ -76785,4 +76838,4 @@ var consts_amd64 = []ConstValue{ {"ethtool_per_queue_op_size", 128}, } -const revision_amd64 = "684bea62ae81e6704ad225e6cfe4f84ea99db882" +const revision_amd64 = "3f6c136a66718444baa514281669846d8fe2aa16" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index a5a161eee..9f344d7ca 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -8325,6 +8325,10 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_PDP_HASHSIZE, int16], int32]"}, FldName: "IFLA_GTP_PDP_HASHSIZE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_ROLE, int16], int32[0:2]]"}, FldName: "IFLA_GTP_ROLE"}, }}}, + {StructKey{Name: "gue_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "gue_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "hdr"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + }}}, {StructKey{Name: "guehdr"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen"}, BitfieldLen: 5, BitfieldUnit: 1}, BitSize: 32, Path: []string{"parent"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control"}, BitfieldOff: 5, BitfieldLen: 1, BitfieldUnit: 1}}, @@ -13728,6 +13732,38 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_ACT, int16], array[tca_actions]]"}, FldName: "TCA_MATCHALL_ACT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_FLAGS, int16], int32[0:8]]"}, FldName: "TCA_MATCHALL_FLAGS"}, }}}, + {StructKey{Name: "message_data"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "key_idx", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "counter", TypeSize: 8}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_data", IsVarlen: true}}, + }}}, + {StructKey{Name: "message_handshake_cookie"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_cookie", TypeSize: 64}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "nonce", TypeSize: 24}, Kind: 1, RangeBegin: 24, RangeEnd: 24}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_cookie", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + }}}, + {StructKey{Name: "message_handshake_initiation"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_initiation", TypeSize: 148}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_static", TypeSize: 48}, Kind: 1, RangeBegin: 48, RangeEnd: 48}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_timestamp", TypeSize: 28}, Kind: 1, RangeBegin: 28, RangeEnd: 28}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_handshake_response"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_response", TypeSize: 92}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_nothing", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_macs"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_macs", TypeSize: 32}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac1", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac2", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, {StructKey{Name: "meta_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "meta_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_HDR, int16], tcf_meta_hdr]"}, FldName: "TCA_EM_META_HDR"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_LVALUE, int16], array[tcf_em_meta_int_var]]"}, FldName: "TCA_EM_META_LVALUE"}, @@ -42647,16 +42683,17 @@ var structDescs_arm = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", TypeSize: 4}}, Path: []string{"list"}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "list", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "udmabuf_create_item"}}}, }}}, - {StructKey{Name: "udp_extensions"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, - }}}, {StructKey{Name: "udp_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, ArgFormat: 1}, Path: []string{"parent"}}, &CsumType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, 1, "parent", 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}}, + &UnionType{Key: StructKey{Name: "udp_payload"}, FldName: "payload"}, + }}}, + {StructKey{Name: "udp_payload"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_payload", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + &StructType{Key: StructKey{Name: "gue_packet"}, FldName: "gue"}, + &UnionType{Key: StructKey{Name: "wg_packet"}, FldName: "wg"}, }}}, {StructKey{Name: "udp_timeout_nla_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_timeout_nla_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_tt[const[CTA_TIMEOUT_UDP_UNREPLIED, int16:14], 1, 0, int32be]"}, FldName: "CTA_TIMEOUT_UDP_UNREPLIED"}, @@ -45407,6 +45444,12 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}}, &ArrayType{TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, 1, 8, 8}, }}}, + {StructKey{Name: "wg_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "wg_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "message_handshake_initiation"}, FldName: "initiation"}, + &StructType{Key: StructKey{Name: "message_handshake_response"}, FldName: "response"}, + &StructType{Key: StructKey{Name: "message_handshake_cookie"}, FldName: "cookie"}, + &StructType{Key: StructKey{Name: "message_data"}, FldName: "data"}, + }}}, {StructKey{Name: "winsize"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}}, @@ -66345,6 +66388,8 @@ var consts_arm = []ConstValue{ {"CMTPGETCONNINFO", 2147763155}, {"CMTPGETCONNLIST", 2147763154}, {"CONTAINER_ID_TYPE", 4}, + {"COOKIE_LEN", 16}, + {"COOKIE_NONCE_LEN", 24}, {"COUNT_INFO_SIZE", 12}, {"CRYPTOCFGA_PRIORITY_VAL", 1}, {"CRYPTO_ALG_ASYNC", 128}, @@ -69292,6 +69337,10 @@ var consts_arm = []ConstValue{ {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED", 16}, {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE", 64}, {"MEMBARRIER_CMD_SHARED", 1}, + {"MESSAGE_DATA", 4}, + {"MESSAGE_HANDSHAKE_COOKIE", 3}, + {"MESSAGE_HANDSHAKE_INITIATION", 1}, + {"MESSAGE_HANDSHAKE_RESPONSE", 2}, {"MFD_ALLOW_SEALING", 2}, {"MFD_CLOEXEC", 1}, {"MFD_HUGETLB", 4}, @@ -70548,8 +70597,12 @@ var consts_arm = []ConstValue{ {"NLM_F_REQUEST", 1}, {"NLM_F_ROOT", 256}, {"NMAGIC", 264}, + {"NOISE_COOKIE_ENCRYPTED_LEN", 32}, + {"NOISE_NOTHING_ENCRYPTED_LEN", 16}, + {"NOISE_PUBLIC_KEY_ENCRYPTED_LEN", 48}, {"NOISE_PUBLIC_KEY_LEN", 32}, {"NOISE_SYMMETRIC_KEY_LEN", 32}, + {"NOISE_TIMESTAMP_ENCRYPTED_LEN", 28}, {Name: "NO_CLIENT"}, {"NPMODE_DROP", 1}, {"NPMODE_ERROR", 2}, @@ -75477,4 +75530,4 @@ var consts_arm = []ConstValue{ {"ethtool_per_queue_op_size", 128}, } -const revision_arm = "15c5ae6e6a0f930da2ac8465125147f2ac5fa492" +const revision_arm = "2b0679751c8799cba32f6803fdd37eba5cb8355b" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index 7f43b9b3e..efbfd426b 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -8431,6 +8431,10 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_PDP_HASHSIZE, int16], int32]"}, FldName: "IFLA_GTP_PDP_HASHSIZE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_ROLE, int16], int32[0:2]]"}, FldName: "IFLA_GTP_ROLE"}, }}}, + {StructKey{Name: "gue_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "gue_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "hdr"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + }}}, {StructKey{Name: "guehdr"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen"}, BitfieldLen: 5, BitfieldUnit: 1}, BitSize: 32, Path: []string{"parent"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control"}, BitfieldOff: 5, BitfieldLen: 1, BitfieldUnit: 1}}, @@ -13849,6 +13853,38 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_ACT, int16], array[tca_actions]]"}, FldName: "TCA_MATCHALL_ACT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_FLAGS, int16], int32[0:8]]"}, FldName: "TCA_MATCHALL_FLAGS"}, }}}, + {StructKey{Name: "message_data"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "key_idx", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "counter", TypeSize: 8}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_data", IsVarlen: true}}, + }}}, + {StructKey{Name: "message_handshake_cookie"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_cookie", TypeSize: 64}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "nonce", TypeSize: 24}, Kind: 1, RangeBegin: 24, RangeEnd: 24}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_cookie", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + }}}, + {StructKey{Name: "message_handshake_initiation"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_initiation", TypeSize: 148}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_static", TypeSize: 48}, Kind: 1, RangeBegin: 48, RangeEnd: 48}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_timestamp", TypeSize: 28}, Kind: 1, RangeBegin: 28, RangeEnd: 28}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_handshake_response"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_response", TypeSize: 92}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_nothing", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_macs"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_macs", TypeSize: 32}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac1", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac2", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, {StructKey{Name: "meta_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "meta_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_HDR, int16], tcf_meta_hdr]"}, FldName: "TCA_EM_META_HDR"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_LVALUE, int16], array[tcf_em_meta_int_var]]"}, FldName: "TCA_EM_META_LVALUE"}, @@ -43342,16 +43378,17 @@ var structDescs_arm64 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", TypeSize: 4}}, Path: []string{"list"}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "list", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "udmabuf_create_item"}}}, }}}, - {StructKey{Name: "udp_extensions"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, - }}}, {StructKey{Name: "udp_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, ArgFormat: 1}, Path: []string{"parent"}}, &CsumType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, 1, "parent", 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}}, + &UnionType{Key: StructKey{Name: "udp_payload"}, FldName: "payload"}, + }}}, + {StructKey{Name: "udp_payload"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_payload", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + &StructType{Key: StructKey{Name: "gue_packet"}, FldName: "gue"}, + &UnionType{Key: StructKey{Name: "wg_packet"}, FldName: "wg"}, }}}, {StructKey{Name: "udp_timeout_nla_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_timeout_nla_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_tt[const[CTA_TIMEOUT_UDP_UNREPLIED, int16:14], 1, 0, int32be]"}, FldName: "CTA_TIMEOUT_UDP_UNREPLIED"}, @@ -46109,6 +46146,12 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}}, &ArrayType{TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, 1, 8, 8}, }}}, + {StructKey{Name: "wg_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "wg_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "message_handshake_initiation"}, FldName: "initiation"}, + &StructType{Key: StructKey{Name: "message_handshake_response"}, FldName: "response"}, + &StructType{Key: StructKey{Name: "message_handshake_cookie"}, FldName: "cookie"}, + &StructType{Key: StructKey{Name: "message_data"}, FldName: "data"}, + }}}, {StructKey{Name: "winsize"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}}, @@ -67012,6 +67055,8 @@ var consts_arm64 = []ConstValue{ {"CMTPGETCONNINFO", 2147763155}, {"CMTPGETCONNLIST", 2147763154}, {"CONTAINER_ID_TYPE", 4}, + {"COOKIE_LEN", 16}, + {"COOKIE_NONCE_LEN", 24}, {"COUNT_INFO_SIZE", 12}, {"CRYPTOCFGA_PRIORITY_VAL", 1}, {"CRYPTO_ALG_ASYNC", 128}, @@ -69969,6 +70014,10 @@ var consts_arm64 = []ConstValue{ {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED", 16}, {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE", 64}, {"MEMBARRIER_CMD_SHARED", 1}, + {"MESSAGE_DATA", 4}, + {"MESSAGE_HANDSHAKE_COOKIE", 3}, + {"MESSAGE_HANDSHAKE_INITIATION", 1}, + {"MESSAGE_HANDSHAKE_RESPONSE", 2}, {"MFD_ALLOW_SEALING", 2}, {"MFD_CLOEXEC", 1}, {"MFD_HUGETLB", 4}, @@ -71227,8 +71276,12 @@ var consts_arm64 = []ConstValue{ {"NLM_F_REQUEST", 1}, {"NLM_F_ROOT", 256}, {"NMAGIC", 264}, + {"NOISE_COOKIE_ENCRYPTED_LEN", 32}, + {"NOISE_NOTHING_ENCRYPTED_LEN", 16}, + {"NOISE_PUBLIC_KEY_ENCRYPTED_LEN", 48}, {"NOISE_PUBLIC_KEY_LEN", 32}, {"NOISE_SYMMETRIC_KEY_LEN", 32}, + {"NOISE_TIMESTAMP_ENCRYPTED_LEN", 28}, {Name: "NO_CLIENT"}, {"NPMODE_DROP", 1}, {"NPMODE_ERROR", 2}, @@ -76130,4 +76183,4 @@ var consts_arm64 = []ConstValue{ {"ethtool_per_queue_op_size", 128}, } -const revision_arm64 = "93bd7b3f23f14993a276b1b8b8246fd3038c4777" +const revision_arm64 = "0f791c98835aa79e3c5ebbaadda38e011f07a98e" diff --git a/sys/linux/gen/mips64le.go b/sys/linux/gen/mips64le.go index 7df390cd7..40fab0789 100644 --- a/sys/linux/gen/mips64le.go +++ b/sys/linux/gen/mips64le.go @@ -8428,6 +8428,10 @@ var structDescs_mips64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_PDP_HASHSIZE, int16], int32]"}, FldName: "IFLA_GTP_PDP_HASHSIZE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_ROLE, int16], int32[0:2]]"}, FldName: "IFLA_GTP_ROLE"}, }}}, + {StructKey{Name: "gue_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "gue_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "hdr"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + }}}, {StructKey{Name: "guehdr"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen"}, BitfieldLen: 5, BitfieldUnit: 1}, BitSize: 32, Path: []string{"parent"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control"}, BitfieldOff: 5, BitfieldLen: 1, BitfieldUnit: 1}}, @@ -13793,6 +13797,38 @@ var structDescs_mips64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_ACT, int16], array[tca_actions]]"}, FldName: "TCA_MATCHALL_ACT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_FLAGS, int16], int32[0:8]]"}, FldName: "TCA_MATCHALL_FLAGS"}, }}}, + {StructKey{Name: "message_data"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "key_idx", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "counter", TypeSize: 8}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_data", IsVarlen: true}}, + }}}, + {StructKey{Name: "message_handshake_cookie"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_cookie", TypeSize: 64}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "nonce", TypeSize: 24}, Kind: 1, RangeBegin: 24, RangeEnd: 24}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_cookie", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + }}}, + {StructKey{Name: "message_handshake_initiation"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_initiation", TypeSize: 148}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_static", TypeSize: 48}, Kind: 1, RangeBegin: 48, RangeEnd: 48}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_timestamp", TypeSize: 28}, Kind: 1, RangeBegin: 28, RangeEnd: 28}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_handshake_response"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_response", TypeSize: 92}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_nothing", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_macs"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_macs", TypeSize: 32}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac1", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac2", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, {StructKey{Name: "meta_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "meta_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_HDR, int16], tcf_meta_hdr]"}, FldName: "TCA_EM_META_HDR"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_LVALUE, int16], array[tcf_em_meta_int_var]]"}, FldName: "TCA_EM_META_LVALUE"}, @@ -43234,16 +43270,17 @@ var structDescs_mips64le = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", TypeSize: 4}}, Path: []string{"list"}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "list", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "udmabuf_create_item"}}}, }}}, - {StructKey{Name: "udp_extensions"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, - }}}, {StructKey{Name: "udp_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, ArgFormat: 1}, Path: []string{"parent"}}, &CsumType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, 1, "parent", 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}}, + &UnionType{Key: StructKey{Name: "udp_payload"}, FldName: "payload"}, + }}}, + {StructKey{Name: "udp_payload"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_payload", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + &StructType{Key: StructKey{Name: "gue_packet"}, FldName: "gue"}, + &UnionType{Key: StructKey{Name: "wg_packet"}, FldName: "wg"}, }}}, {StructKey{Name: "udp_timeout_nla_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_timeout_nla_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_tt[const[CTA_TIMEOUT_UDP_UNREPLIED, int16:14], 1, 0, int32be]"}, FldName: "CTA_TIMEOUT_UDP_UNREPLIED"}, @@ -45199,6 +45236,12 @@ var structDescs_mips64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}}, &ArrayType{TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, 1, 8, 8}, }}}, + {StructKey{Name: "wg_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "wg_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "message_handshake_initiation"}, FldName: "initiation"}, + &StructType{Key: StructKey{Name: "message_handshake_response"}, FldName: "response"}, + &StructType{Key: StructKey{Name: "message_handshake_cookie"}, FldName: "cookie"}, + &StructType{Key: StructKey{Name: "message_data"}, FldName: "data"}, + }}}, {StructKey{Name: "winsize"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}}, @@ -65704,6 +65747,8 @@ var consts_mips64le = []ConstValue{ {"CMTPGETCONNINFO", 1074021331}, {"CMTPGETCONNLIST", 1074021330}, {"CONTAINER_ID_TYPE", 4}, + {"COOKIE_LEN", 16}, + {"COOKIE_NONCE_LEN", 24}, {"COUNT_INFO_SIZE", 12}, {"CRYPTOCFGA_PRIORITY_VAL", 1}, {"CRYPTO_ALG_ASYNC", 128}, @@ -68557,6 +68602,10 @@ var consts_mips64le = []ConstValue{ {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED", 16}, {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE", 64}, {"MEMBARRIER_CMD_SHARED", 1}, + {"MESSAGE_DATA", 4}, + {"MESSAGE_HANDSHAKE_COOKIE", 3}, + {"MESSAGE_HANDSHAKE_INITIATION", 1}, + {"MESSAGE_HANDSHAKE_RESPONSE", 2}, {"MFD_ALLOW_SEALING", 2}, {"MFD_CLOEXEC", 1}, {"MFD_HUGETLB", 4}, @@ -69813,8 +69862,12 @@ var consts_mips64le = []ConstValue{ {"NLM_F_REQUEST", 1}, {"NLM_F_ROOT", 256}, {"NMAGIC", 264}, + {"NOISE_COOKIE_ENCRYPTED_LEN", 32}, + {"NOISE_NOTHING_ENCRYPTED_LEN", 16}, + {"NOISE_PUBLIC_KEY_ENCRYPTED_LEN", 48}, {"NOISE_PUBLIC_KEY_LEN", 32}, {"NOISE_SYMMETRIC_KEY_LEN", 32}, + {"NOISE_TIMESTAMP_ENCRYPTED_LEN", 28}, {Name: "NO_CLIENT"}, {"NPMODE_DROP", 1}, {"NPMODE_ERROR", 2}, @@ -73791,4 +73844,4 @@ var consts_mips64le = []ConstValue{ {"ethtool_per_queue_op_size", 128}, } -const revision_mips64le = "583c3558fad43c0f407283ec73c790c9dade4450" +const revision_mips64le = "6d1455a98c4c2b4ea29cce95ff8395c5d94f15c0" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index e6e8c8eb4..887eb069c 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -8430,6 +8430,10 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_PDP_HASHSIZE, int16], int32]"}, FldName: "IFLA_GTP_PDP_HASHSIZE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[IFLA_GTP_ROLE, int16], int32[0:2]]"}, FldName: "IFLA_GTP_ROLE"}, }}}, + {StructKey{Name: "gue_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "gue_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "guehdr"}, FldName: "hdr"}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + }}}, {StructKey{Name: "guehdr"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "guehdr", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "hlen"}, BitfieldLen: 5, BitfieldUnit: 1}, BitSize: 32, Path: []string{"parent"}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "control"}, BitfieldOff: 5, BitfieldLen: 1, BitfieldUnit: 1}}, @@ -13795,6 +13799,38 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_ACT, int16], array[tca_actions]]"}, FldName: "TCA_MATCHALL_ACT"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_MATCHALL_FLAGS, int16], int32[0:8]]"}, FldName: "TCA_MATCHALL_FLAGS"}, }}}, + {StructKey{Name: "message_data"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_data", IsVarlen: true}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "key_idx", TypeSize: 4}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "counter", TypeSize: 8}}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_data", IsVarlen: true}}, + }}}, + {StructKey{Name: "message_handshake_cookie"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_cookie", TypeSize: 64}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "nonce", TypeSize: 24}, Kind: 1, RangeBegin: 24, RangeEnd: 24}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_cookie", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + }}}, + {StructKey{Name: "message_handshake_initiation"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_initiation", TypeSize: 148}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_static", TypeSize: 48}, Kind: 1, RangeBegin: 48, RangeEnd: 48}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_timestamp", TypeSize: 28}, Kind: 1, RangeBegin: 28, RangeEnd: 28}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_handshake_response"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_handshake_response", TypeSize: 92}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sender_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "receiver_index", TypeSize: 4}}, Kind: 1, RangeEnd: 4}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "unencrypted_ephemeral", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "encrypted_nothing", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &StructType{Key: StructKey{Name: "message_macs"}, FldName: "macs"}, + }}}, + {StructKey{Name: "message_macs"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "message_macs", TypeSize: 32}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac1", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "mac2", TypeSize: 16}, Kind: 1, RangeBegin: 16, RangeEnd: 16}, + }}}, {StructKey{Name: "meta_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "meta_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_HDR, int16], tcf_meta_hdr]"}, FldName: "TCA_EM_META_HDR"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_EM_META_LVALUE, int16], array[tcf_em_meta_int_var]]"}, FldName: "TCA_EM_META_LVALUE"}, @@ -43220,16 +43256,17 @@ var structDescs_ppc64le = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", TypeSize: 4}}, Path: []string{"list"}}, &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "list", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "udmabuf_create_item"}}}, }}}, - {StructKey{Name: "udp_extensions"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_extensions", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "guehdr"}, FldName: "guehdr"}, - }}}, {StructKey{Name: "udp_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_packet", IsVarlen: true}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "src_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16be", FldName: "dst_port", TypeSize: 2}, ArgFormat: 1}, Kind: 1, RangeBegin: 20000, RangeEnd: 20004}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "length", TypeSize: 2}, ArgFormat: 1}, Path: []string{"parent"}}, &CsumType{IntTypeCommon{TypeCommon: TypeCommon{TypeName: "csum", FldName: "csum", TypeSize: 2}, ArgFormat: 1}, 1, "parent", 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}}, + &UnionType{Key: StructKey{Name: "udp_payload"}, FldName: "payload"}, + }}}, + {StructKey{Name: "udp_payload"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_payload", IsVarlen: true}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "opaque", IsVarlen: true}}, + &StructType{Key: StructKey{Name: "gue_packet"}, FldName: "gue"}, + &UnionType{Key: StructKey{Name: "wg_packet"}, FldName: "wg"}, }}}, {StructKey{Name: "udp_timeout_nla_policy"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "udp_timeout_nla_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_tt[const[CTA_TIMEOUT_UDP_UNREPLIED, int16:14], 1, 0, int32be]"}, FldName: "CTA_TIMEOUT_UDP_UNREPLIED"}, @@ -46012,6 +46049,12 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}}, &ArrayType{TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, 1, 8, 8}, }}}, + {StructKey{Name: "wg_packet"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "wg_packet", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "message_handshake_initiation"}, FldName: "initiation"}, + &StructType{Key: StructKey{Name: "message_handshake_response"}, FldName: "response"}, + &StructType{Key: StructKey{Name: "message_handshake_cookie"}, FldName: "cookie"}, + &StructType{Key: StructKey{Name: "message_data"}, FldName: "data"}, + }}}, {StructKey{Name: "winsize"}, &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}}, @@ -67034,6 +67077,8 @@ var consts_ppc64le = []ConstValue{ {"CMTPGETCONNINFO", 1074021331}, {"CMTPGETCONNLIST", 1074021330}, {"CONTAINER_ID_TYPE", 4}, + {"COOKIE_LEN", 16}, + {"COOKIE_NONCE_LEN", 24}, {"COUNT_INFO_SIZE", 12}, {"CRYPTOCFGA_PRIORITY_VAL", 1}, {"CRYPTO_ALG_ASYNC", 128}, @@ -69978,6 +70023,10 @@ var consts_ppc64le = []ConstValue{ {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED", 16}, {"MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE", 64}, {"MEMBARRIER_CMD_SHARED", 1}, + {"MESSAGE_DATA", 4}, + {"MESSAGE_HANDSHAKE_COOKIE", 3}, + {"MESSAGE_HANDSHAKE_INITIATION", 1}, + {"MESSAGE_HANDSHAKE_RESPONSE", 2}, {"MFD_ALLOW_SEALING", 2}, {"MFD_CLOEXEC", 1}, {"MFD_HUGETLB", 4}, @@ -71236,8 +71285,12 @@ var consts_ppc64le = []ConstValue{ {"NLM_F_REQUEST", 1}, {"NLM_F_ROOT", 256}, {"NMAGIC", 264}, + {"NOISE_COOKIE_ENCRYPTED_LEN", 32}, + {"NOISE_NOTHING_ENCRYPTED_LEN", 16}, + {"NOISE_PUBLIC_KEY_ENCRYPTED_LEN", 48}, {"NOISE_PUBLIC_KEY_LEN", 32}, {"NOISE_SYMMETRIC_KEY_LEN", 32}, + {"NOISE_TIMESTAMP_ENCRYPTED_LEN", 28}, {Name: "NO_CLIENT"}, {"NPMODE_DROP", 1}, {"NPMODE_ERROR", 2}, @@ -76127,4 +76180,4 @@ var consts_ppc64le = []ConstValue{ {"ethtool_per_queue_op_size", 128}, } -const revision_ppc64le = "a95e16cebdc8b39e62be936233a10841b6b124b0" +const revision_ppc64le = "b07cf7921d128f13154b3db793acd4b11e6e1bec" diff --git a/sys/linux/socket_netlink_generic_wireguard.txt b/sys/linux/socket_netlink_generic_wireguard.txt index fe06c1755..68a3f2826 100644 --- a/sys/linux/socket_netlink_generic_wireguard.txt +++ b/sys/linux/socket_netlink_generic_wireguard.txt @@ -2,6 +2,8 @@ # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. include <linux/net.h> +include <linux/socket.h> +include <uapi/asm-generic/socket.h> include <uapi/linux/if.h> include <uapi/linux/netlink.h> include <uapi/linux/genetlink.h> @@ -78,3 +80,55 @@ wireguard_public_key [ wgdevice_flag = WGDEVICE_F_REPLACE_PEERS wgpeer_flag = WGPEER_F_REMOVE_ME, WGPEER_F_REPLACE_ALLOWEDIPS, WGPEER_F_UPDATE_ONLY wireguard_devname = "wg0", "wg1", "wg2" + +wg_packet [ + initiation message_handshake_initiation + response message_handshake_response + cookie message_handshake_cookie + data message_data +] [varlen] + +message_handshake_initiation { + type const[MESSAGE_HANDSHAKE_INITIATION, int32] +# Not clear if these indexes are also generated randomly and we need to guess them or not. + sender_index int32[0:4] + unencrypted_ephemeral array[int8, NOISE_PUBLIC_KEY_LEN] + encrypted_static array[int8, NOISE_PUBLIC_KEY_ENCRYPTED_LEN] + encrypted_timestamp array[int8, NOISE_TIMESTAMP_ENCRYPTED_LEN] + macs message_macs +} + +message_handshake_response { + type const[MESSAGE_HANDSHAKE_RESPONSE, int32] + sender_index int32[0:4] + receiver_index int32[0:4] + unencrypted_ephemeral array[int8, NOISE_PUBLIC_KEY_LEN] + encrypted_nothing array[int8, NOISE_NOTHING_ENCRYPTED_LEN] + macs message_macs +} + +message_handshake_cookie { + type const[MESSAGE_HANDSHAKE_COOKIE, int32] + receiver_index int32[0:4] + nonce array[int8, COOKIE_NONCE_LEN] + encrypted_cookie array[int8, NOISE_COOKIE_ENCRYPTED_LEN] +} + +message_data { + type const[MESSAGE_DATA, int32] +# These are allocated randomly, so little chances guessing. + key_idx int32 +# This is used as chacha20poly1305 decryption nonce. + counter int64 + encrypted_data array[int8] +} + +message_macs { + mac1 array[int8, COOKIE_LEN] + mac2 array[int8, COOKIE_LEN] +} + +define NOISE_PUBLIC_KEY_ENCRYPTED_LEN noise_encrypted_len(NOISE_PUBLIC_KEY_LEN) +define NOISE_TIMESTAMP_ENCRYPTED_LEN noise_encrypted_len(NOISE_TIMESTAMP_LEN) +define NOISE_COOKIE_ENCRYPTED_LEN noise_encrypted_len(COOKIE_LEN) +define NOISE_NOTHING_ENCRYPTED_LEN noise_encrypted_len(0) diff --git a/sys/linux/socket_netlink_generic_wireguard_386.const b/sys/linux/socket_netlink_generic_wireguard_386.const index ff8368902..b90c6c39a 100644 --- a/sys/linux/socket_netlink_generic_wireguard_386.const +++ b/sys/linux/socket_netlink_generic_wireguard_386.const @@ -1,10 +1,22 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 +COOKIE_LEN = 16 +COOKIE_NONCE_LEN = 24 IFNAMSIZ = 16 +MESSAGE_DATA = 4 +MESSAGE_HANDSHAKE_COOKIE = 3 +MESSAGE_HANDSHAKE_INITIATION = 1 +MESSAGE_HANDSHAKE_RESPONSE = 2 +NOISE_COOKIE_ENCRYPTED_LEN = 32 +NOISE_NOTHING_ENCRYPTED_LEN = 16 +NOISE_PUBLIC_KEY_ENCRYPTED_LEN = 48 NOISE_PUBLIC_KEY_LEN = 32 NOISE_SYMMETRIC_KEY_LEN = 32 +NOISE_TIMESTAMP_ENCRYPTED_LEN = 28 SIOCGIFINDEX = 35123 +SOL_SOCKET = 1 +SO_BINDTODEVICE = 25 WGALLOWEDIP_A_CIDR_MASK = 3 WGALLOWEDIP_A_FAMILY = 1 WGALLOWEDIP_A_IPADDR = 2 @@ -30,3 +42,4 @@ WG_CMD_GET_DEVICE = 0 WG_CMD_SET_DEVICE = 1 __NR_ioctl = 54 __NR_sendmsg = 370 +__NR_setsockopt = 366 diff --git a/sys/linux/socket_netlink_generic_wireguard_amd64.const b/sys/linux/socket_netlink_generic_wireguard_amd64.const index 48f6f322c..8e00400f7 100644 --- a/sys/linux/socket_netlink_generic_wireguard_amd64.const +++ b/sys/linux/socket_netlink_generic_wireguard_amd64.const @@ -1,10 +1,22 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 +COOKIE_LEN = 16 +COOKIE_NONCE_LEN = 24 IFNAMSIZ = 16 +MESSAGE_DATA = 4 +MESSAGE_HANDSHAKE_COOKIE = 3 +MESSAGE_HANDSHAKE_INITIATION = 1 +MESSAGE_HANDSHAKE_RESPONSE = 2 +NOISE_COOKIE_ENCRYPTED_LEN = 32 +NOISE_NOTHING_ENCRYPTED_LEN = 16 +NOISE_PUBLIC_KEY_ENCRYPTED_LEN = 48 NOISE_PUBLIC_KEY_LEN = 32 NOISE_SYMMETRIC_KEY_LEN = 32 +NOISE_TIMESTAMP_ENCRYPTED_LEN = 28 SIOCGIFINDEX = 35123 +SOL_SOCKET = 1 +SO_BINDTODEVICE = 25 WGALLOWEDIP_A_CIDR_MASK = 3 WGALLOWEDIP_A_FAMILY = 1 WGALLOWEDIP_A_IPADDR = 2 @@ -30,3 +42,4 @@ WG_CMD_GET_DEVICE = 0 WG_CMD_SET_DEVICE = 1 __NR_ioctl = 16 __NR_sendmsg = 46 +__NR_setsockopt = 54 diff --git a/sys/linux/socket_netlink_generic_wireguard_arm.const b/sys/linux/socket_netlink_generic_wireguard_arm.const index 40e72e5e9..a206cf8c3 100644 --- a/sys/linux/socket_netlink_generic_wireguard_arm.const +++ b/sys/linux/socket_netlink_generic_wireguard_arm.const @@ -1,10 +1,22 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 +COOKIE_LEN = 16 +COOKIE_NONCE_LEN = 24 IFNAMSIZ = 16 +MESSAGE_DATA = 4 +MESSAGE_HANDSHAKE_COOKIE = 3 +MESSAGE_HANDSHAKE_INITIATION = 1 +MESSAGE_HANDSHAKE_RESPONSE = 2 +NOISE_COOKIE_ENCRYPTED_LEN = 32 +NOISE_NOTHING_ENCRYPTED_LEN = 16 +NOISE_PUBLIC_KEY_ENCRYPTED_LEN = 48 NOISE_PUBLIC_KEY_LEN = 32 NOISE_SYMMETRIC_KEY_LEN = 32 +NOISE_TIMESTAMP_ENCRYPTED_LEN = 28 SIOCGIFINDEX = 35123 +SOL_SOCKET = 1 +SO_BINDTODEVICE = 25 WGALLOWEDIP_A_CIDR_MASK = 3 WGALLOWEDIP_A_FAMILY = 1 WGALLOWEDIP_A_IPADDR = 2 @@ -30,3 +42,4 @@ WG_CMD_GET_DEVICE = 0 WG_CMD_SET_DEVICE = 1 __NR_ioctl = 54 __NR_sendmsg = 296 +__NR_setsockopt = 294 diff --git a/sys/linux/socket_netlink_generic_wireguard_arm64.const b/sys/linux/socket_netlink_generic_wireguard_arm64.const index d1669456a..62c6735a1 100644 --- a/sys/linux/socket_netlink_generic_wireguard_arm64.const +++ b/sys/linux/socket_netlink_generic_wireguard_arm64.const @@ -1,10 +1,22 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 +COOKIE_LEN = 16 +COOKIE_NONCE_LEN = 24 IFNAMSIZ = 16 +MESSAGE_DATA = 4 +MESSAGE_HANDSHAKE_COOKIE = 3 +MESSAGE_HANDSHAKE_INITIATION = 1 +MESSAGE_HANDSHAKE_RESPONSE = 2 +NOISE_COOKIE_ENCRYPTED_LEN = 32 +NOISE_NOTHING_ENCRYPTED_LEN = 16 +NOISE_PUBLIC_KEY_ENCRYPTED_LEN = 48 NOISE_PUBLIC_KEY_LEN = 32 NOISE_SYMMETRIC_KEY_LEN = 32 +NOISE_TIMESTAMP_ENCRYPTED_LEN = 28 SIOCGIFINDEX = 35123 +SOL_SOCKET = 1 +SO_BINDTODEVICE = 25 WGALLOWEDIP_A_CIDR_MASK = 3 WGALLOWEDIP_A_FAMILY = 1 WGALLOWEDIP_A_IPADDR = 2 @@ -30,3 +42,4 @@ WG_CMD_GET_DEVICE = 0 WG_CMD_SET_DEVICE = 1 __NR_ioctl = 29 __NR_sendmsg = 211 +__NR_setsockopt = 208 diff --git a/sys/linux/socket_netlink_generic_wireguard_mips64le.const b/sys/linux/socket_netlink_generic_wireguard_mips64le.const index 0b1aefd01..6b26c4845 100644 --- a/sys/linux/socket_netlink_generic_wireguard_mips64le.const +++ b/sys/linux/socket_netlink_generic_wireguard_mips64le.const @@ -1,10 +1,22 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 +COOKIE_LEN = 16 +COOKIE_NONCE_LEN = 24 IFNAMSIZ = 16 +MESSAGE_DATA = 4 +MESSAGE_HANDSHAKE_COOKIE = 3 +MESSAGE_HANDSHAKE_INITIATION = 1 +MESSAGE_HANDSHAKE_RESPONSE = 2 +NOISE_COOKIE_ENCRYPTED_LEN = 32 +NOISE_NOTHING_ENCRYPTED_LEN = 16 +NOISE_PUBLIC_KEY_ENCRYPTED_LEN = 48 NOISE_PUBLIC_KEY_LEN = 32 NOISE_SYMMETRIC_KEY_LEN = 32 +NOISE_TIMESTAMP_ENCRYPTED_LEN = 28 SIOCGIFINDEX = 35123 +SOL_SOCKET = 1 +SO_BINDTODEVICE = 25 WGALLOWEDIP_A_CIDR_MASK = 3 WGALLOWEDIP_A_FAMILY = 1 WGALLOWEDIP_A_IPADDR = 2 @@ -30,3 +42,4 @@ WG_CMD_GET_DEVICE = 0 WG_CMD_SET_DEVICE = 1 __NR_ioctl = 5015 __NR_sendmsg = 5045 +__NR_setsockopt = 5053 diff --git a/sys/linux/socket_netlink_generic_wireguard_ppc64le.const b/sys/linux/socket_netlink_generic_wireguard_ppc64le.const index 5f0d78095..721fdea2c 100644 --- a/sys/linux/socket_netlink_generic_wireguard_ppc64le.const +++ b/sys/linux/socket_netlink_generic_wireguard_ppc64le.const @@ -1,10 +1,22 @@ # AUTOGENERATED FILE AF_INET = 2 AF_INET6 = 10 +COOKIE_LEN = 16 +COOKIE_NONCE_LEN = 24 IFNAMSIZ = 16 +MESSAGE_DATA = 4 +MESSAGE_HANDSHAKE_COOKIE = 3 +MESSAGE_HANDSHAKE_INITIATION = 1 +MESSAGE_HANDSHAKE_RESPONSE = 2 +NOISE_COOKIE_ENCRYPTED_LEN = 32 +NOISE_NOTHING_ENCRYPTED_LEN = 16 +NOISE_PUBLIC_KEY_ENCRYPTED_LEN = 48 NOISE_PUBLIC_KEY_LEN = 32 NOISE_SYMMETRIC_KEY_LEN = 32 +NOISE_TIMESTAMP_ENCRYPTED_LEN = 28 SIOCGIFINDEX = 35123 +SOL_SOCKET = 1 +SO_BINDTODEVICE = 25 WGALLOWEDIP_A_CIDR_MASK = 3 WGALLOWEDIP_A_FAMILY = 1 WGALLOWEDIP_A_IPADDR = 2 @@ -30,3 +42,4 @@ WG_CMD_GET_DEVICE = 0 WG_CMD_SET_DEVICE = 1 __NR_ioctl = 54 __NR_sendmsg = 341 +__NR_setsockopt = 339 diff --git a/sys/linux/test/udp2 b/sys/linux/test/udp2 index a0247700f..b8280ee85 100644 --- a/sys/linux/test/udp2 +++ b/sys/linux/test/udp2 @@ -2,5 +2,5 @@ r0 = socket$inet_udp(AUTO, AUTO, AUTO) bind$inet(r0, &AUTO={AUTO, 0x4e20, @empty}, AUTO) -syz_emit_ethernet(AUTO, &AUTO={@local, @empty, @void, {@ipv4={AUTO, @udp={{AUTO, AUTO, 0x0, 0x0, AUTO, 0x0, 0x0, 0x0, AUTO, 0x0, @empty, @empty, {[]}}, {0x0, 0x4e20, AUTO, 0x0, [], ""/10}}}}}, 0x0) +syz_emit_ethernet(AUTO, &AUTO={@local, @empty, @void, {@ipv4={AUTO, @udp={{AUTO, AUTO, 0x0, 0x0, AUTO, 0x0, 0x0, 0x0, AUTO, 0x0, @empty, @empty, {[]}}, {0x0, 0x4e20, AUTO, 0x0, @opaque=""/10}}}}}, 0x0) recvfrom(r0, &AUTO=""/10, AUTO, 0x0, 0x0, 0x0) diff --git a/sys/linux/test/wireguard b/sys/linux/test/wireguard new file mode 100644 index 000000000..1933bc969 --- /dev/null +++ b/sys/linux/test/wireguard @@ -0,0 +1,2 @@ +syz_emit_ethernet(AUTO, &AUTO={@local, @empty, @void, {@ipv4={AUTO, @udp={{AUTO, AUTO, 0x0, 0x0, AUTO, 0x0, 0x0, 0x0, AUTO, 0x0, @empty, @empty, {[]}}, {0x0, 0x4e22, AUTO, 0x0, @wg=@initiation={AUTO, 0x0, "", "", "", {"", ""}}}}}}}, 0x0) +syz_emit_ethernet(AUTO, &AUTO={@local, @empty, @void, {@ipv4={AUTO, @udp={{AUTO, AUTO, 0x0, 0x0, AUTO, 0x0, 0x0, 0x0, AUTO, 0x0, @empty, @empty, {[]}}, {0x0, 0x4e22, AUTO, 0x0, @wg=@data={AUTO, 0x0, 0x0, ""/100}}}}}}, 0x0) diff --git a/sys/linux/vnet.txt b/sys/linux/vnet.txt index 7ad9421e7..2dba9f768 100644 --- a/sys/linux/vnet.txt +++ b/sys/linux/vnet.txt @@ -845,14 +845,20 @@ udp_packet { dst_port sock_port length len[parent, int16be] csum csum[parent, pseudo, IPPROTO_UDP, int16be] - extensions array[udp_extensions] - data array[int8] + payload udp_payload } [packed] -udp_extensions [ - guehdr guehdr +udp_payload [ + opaque array[int8] + gue gue_packet + wg wg_packet ] [varlen] +gue_packet { + hdr guehdr + opaque array[int8] +} [packed] + guehdr { hlen bytesize4[parent, int8:5] control int8:1 |
