diff options
author | Jiri Pirko <jiri@mellanox.com> | 2019-10-21 16:36:26 +0200 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2019-11-03 14:20:59 +0100 |
commit | 97f4b019d87a073ff02a3ff8b08ada59aea6e688 (patch) | |
tree | cf0edc4a7a8a418942011164d8915d026d47921e | |
parent | fceca3f4b76241ca8a285c9a15c4aa7580184156 (diff) | |
download | syzkaller-97f4b019d87a073ff02a3ff8b08ada59aea6e688.tar.gz |
sys/linux: extend devlink for fixed pci handle
Extend devlink to also work with fixed pci handle "pci/0000:00:10.0".
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
-rw-r--r-- | executor/defs.h | 10 | ||||
-rw-r--r-- | sys/linux/gen/386.go | 35 | ||||
-rw-r--r-- | sys/linux/gen/amd64.go | 35 | ||||
-rw-r--r-- | sys/linux/gen/arm.go | 35 | ||||
-rw-r--r-- | sys/linux/gen/arm64.go | 35 | ||||
-rw-r--r-- | sys/linux/gen/ppc64le.go | 35 | ||||
-rw-r--r-- | sys/linux/socket_netlink_generic_devlink.txt | 12 |
7 files changed, 151 insertions, 46 deletions
diff --git a/executor/defs.h b/executor/defs.h index 224dcebc0..33621fc51 100644 --- a/executor/defs.h +++ b/executor/defs.h @@ -70,7 +70,7 @@ #if GOARCH_386 #define GOARCH "386" -#define SYZ_REVISION "7eb8350e1b073dfee4963a5d94bafc9b1003b97b" +#define SYZ_REVISION "e5c0001ae260a81ee59974b5ad110c196326f3f7" #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 "a093d5e1569dd464483bfd4d6bfa7543f16bbd5c" +#define SYZ_REVISION "50b907b28392ade8f795f8f88990d3cb84ab2ef5" #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 "e1c282fd1d656bbd387a680b8ce25fffe6cc1c71" +#define SYZ_REVISION "dfba12b4edeeb95d08f357872fac2de65eaeb841" #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 "29121afe864e2738ffc3c0bed2ac04dcd7561473" +#define SYZ_REVISION "a65fefc4d3a3550aecb837013bc8f74ba7513dce" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -110,7 +110,7 @@ #if GOARCH_ppc64le #define GOARCH "ppc64le" -#define SYZ_REVISION "98ee18f2f18312875c62edc25cffba3be088cfe4" +#define SYZ_REVISION "14eab01bd82692d4bd4d4047ed3cc79341917e90" #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 865bf3a6d..818229615 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -2711,23 +2711,31 @@ var structDescs_386 = []*KeyedStruct{ &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "id", TypeSize: 1}}, ValuesStart: 48, ValuesPerProc: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "z", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "devlink_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle", TypeSize: 32}, Fields: []Type{ + {Key: StructKey{Name: "devlink_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "devlink_handle_nsim"}, FldName: "nsim"}, + &StructType{Key: StructKey{Name: "devlink_handle_pci"}, FldName: "pci"}, + }}}, + {Key: StructKey{Name: "devlink_handle_nsim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle_nsim", TypeSize: 32}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]"}, FldName: "DEVLINK_ATTR_BUS_NAME"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]"}, FldName: "DEVLINK_ATTR_DEV_NAME"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_get"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_get", TypeSize: 40}, Fields: []Type{ + {Key: StructKey{Name: "devlink_handle_pci"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle_pci", TypeSize: 28}, Fields: []Type{ + &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]"}, FldName: "DEVLINK_ATTR_BUS_NAME"}, + &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]"}, FldName: "DEVLINK_ATTR_DEV_NAME"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "devlink_port_get"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_get", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "devlink_port_handle"}, FldName: "port_handle"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_handle", TypeSize: 40}, Fields: []Type{ - &StructType{Key: StructKey{Name: "devlink_handle"}, FldName: "port_handle"}, + {Key: StructKey{Name: "devlink_port_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_handle", IsVarlen: true}, Fields: []Type{ + &UnionType{Key: StructKey{Name: "devlink_handle"}, FldName: "port_handle"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]"}, FldName: "DEVLINK_ATTR_PORT_INDEX"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_set", TypeSize: 48}, Fields: []Type{ + {Key: StructKey{Name: "devlink_port_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_set", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "devlink_port_handle"}, FldName: "port_handle"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]"}, FldName: "DEVLINK_ATTR_PORT_TYPE"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "devlink_reload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "devlink_handle"}, FldName: "handle"}, + &UnionType{Key: StructKey{Name: "devlink_handle"}, FldName: "handle"}, &UnionType{Key: StructKey{Name: "devlink_reload_arg"}, FldName: "arg"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "devlink_reload_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload_arg", IsVarlen: true}, Fields: []Type{ @@ -13807,7 +13815,7 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 1, RangeBegin: 7388453, RangeEnd: 7388461}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 1, RangeBegin: 635427835, RangeEnd: 635427839}, &StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_GET]"}, FldName: "payload"}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_handle"}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "devlink_handle"}}}, }, AlignAttr: 4}}, {Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -14711,12 +14719,23 @@ var structDescs_386 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 10}, Kind: 2, Values: []string{"netdevsim\x00"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]", TypeSize: 8}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 4}, Kind: 2, Values: []string{"pci\x00"}}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]", TypeSize: 16}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 2}, &StructType{Key: StructKey{Name: "devlink_devname"}, FldName: "payload"}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 1}}, IsPad: true}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]", TypeSize: 20}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 2}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 13}, Kind: 2, Values: []string{"0000:00:10.0\x00"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]", TypeSize: 8}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 137}, @@ -55609,4 +55628,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "7eb8350e1b073dfee4963a5d94bafc9b1003b97b" +const revision_386 = "e5c0001ae260a81ee59974b5ad110c196326f3f7" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 612568515..c94d1906f 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -2720,23 +2720,31 @@ var structDescs_amd64 = []*KeyedStruct{ &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "id", TypeSize: 1}}, ValuesStart: 48, ValuesPerProc: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "z", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "devlink_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle", TypeSize: 32}, Fields: []Type{ + {Key: StructKey{Name: "devlink_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "devlink_handle_nsim"}, FldName: "nsim"}, + &StructType{Key: StructKey{Name: "devlink_handle_pci"}, FldName: "pci"}, + }}}, + {Key: StructKey{Name: "devlink_handle_nsim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle_nsim", TypeSize: 32}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]"}, FldName: "DEVLINK_ATTR_BUS_NAME"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]"}, FldName: "DEVLINK_ATTR_DEV_NAME"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_get"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_get", TypeSize: 40}, Fields: []Type{ + {Key: StructKey{Name: "devlink_handle_pci"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle_pci", TypeSize: 28}, Fields: []Type{ + &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]"}, FldName: "DEVLINK_ATTR_BUS_NAME"}, + &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]"}, FldName: "DEVLINK_ATTR_DEV_NAME"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "devlink_port_get"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_get", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "devlink_port_handle"}, FldName: "port_handle"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_handle", TypeSize: 40}, Fields: []Type{ - &StructType{Key: StructKey{Name: "devlink_handle"}, FldName: "port_handle"}, + {Key: StructKey{Name: "devlink_port_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_handle", IsVarlen: true}, Fields: []Type{ + &UnionType{Key: StructKey{Name: "devlink_handle"}, FldName: "port_handle"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]"}, FldName: "DEVLINK_ATTR_PORT_INDEX"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_set", TypeSize: 48}, Fields: []Type{ + {Key: StructKey{Name: "devlink_port_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_set", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "devlink_port_handle"}, FldName: "port_handle"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]"}, FldName: "DEVLINK_ATTR_PORT_TYPE"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "devlink_reload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "devlink_handle"}, FldName: "handle"}, + &UnionType{Key: StructKey{Name: "devlink_handle"}, FldName: "handle"}, &UnionType{Key: StructKey{Name: "devlink_reload_arg"}, FldName: "arg"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "devlink_reload_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload_arg", IsVarlen: true}, Fields: []Type{ @@ -14114,7 +14122,7 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 1, RangeBegin: 7388453, RangeEnd: 7388461}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 1, RangeBegin: 635427835, RangeEnd: 635427839}, &StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_GET]"}, FldName: "payload"}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_handle"}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "devlink_handle"}}}, }, AlignAttr: 4}}, {Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -15020,12 +15028,23 @@ var structDescs_amd64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 10}, Kind: 2, Values: []string{"netdevsim\x00"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]", TypeSize: 8}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 4}, Kind: 2, Values: []string{"pci\x00"}}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]", TypeSize: 16}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 2}, &StructType{Key: StructKey{Name: "devlink_devname"}, FldName: "payload"}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 1}}, IsPad: true}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]", TypeSize: 20}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 2}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 13}, Kind: 2, Values: []string{"0000:00:10.0\x00"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]", TypeSize: 8}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 137}, @@ -56164,4 +56183,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "a093d5e1569dd464483bfd4d6bfa7543f16bbd5c" +const revision_amd64 = "50b907b28392ade8f795f8f88990d3cb84ab2ef5" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 389c8d4b1..f0d350647 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -2711,23 +2711,31 @@ var structDescs_arm = []*KeyedStruct{ &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "id", TypeSize: 1}}, ValuesStart: 48, ValuesPerProc: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "z", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "devlink_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle", TypeSize: 32}, Fields: []Type{ + {Key: StructKey{Name: "devlink_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "devlink_handle_nsim"}, FldName: "nsim"}, + &StructType{Key: StructKey{Name: "devlink_handle_pci"}, FldName: "pci"}, + }}}, + {Key: StructKey{Name: "devlink_handle_nsim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle_nsim", TypeSize: 32}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]"}, FldName: "DEVLINK_ATTR_BUS_NAME"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]"}, FldName: "DEVLINK_ATTR_DEV_NAME"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_get"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_get", TypeSize: 40}, Fields: []Type{ + {Key: StructKey{Name: "devlink_handle_pci"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle_pci", TypeSize: 28}, Fields: []Type{ + &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]"}, FldName: "DEVLINK_ATTR_BUS_NAME"}, + &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]"}, FldName: "DEVLINK_ATTR_DEV_NAME"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "devlink_port_get"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_get", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "devlink_port_handle"}, FldName: "port_handle"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_handle", TypeSize: 40}, Fields: []Type{ - &StructType{Key: StructKey{Name: "devlink_handle"}, FldName: "port_handle"}, + {Key: StructKey{Name: "devlink_port_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_handle", IsVarlen: true}, Fields: []Type{ + &UnionType{Key: StructKey{Name: "devlink_handle"}, FldName: "port_handle"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]"}, FldName: "DEVLINK_ATTR_PORT_INDEX"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_set", TypeSize: 48}, Fields: []Type{ + {Key: StructKey{Name: "devlink_port_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_set", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "devlink_port_handle"}, FldName: "port_handle"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]"}, FldName: "DEVLINK_ATTR_PORT_TYPE"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "devlink_reload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "devlink_handle"}, FldName: "handle"}, + &UnionType{Key: StructKey{Name: "devlink_handle"}, FldName: "handle"}, &UnionType{Key: StructKey{Name: "devlink_reload_arg"}, FldName: "arg"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "devlink_reload_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload_arg", IsVarlen: true}, Fields: []Type{ @@ -13624,7 +13632,7 @@ var structDescs_arm = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 1, RangeBegin: 7388453, RangeEnd: 7388461}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 1, RangeBegin: 635427835, RangeEnd: 635427839}, &StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_GET]"}, FldName: "payload"}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_handle"}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "devlink_handle"}}}, }, AlignAttr: 4}}, {Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -14528,12 +14536,23 @@ var structDescs_arm = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 10}, Kind: 2, Values: []string{"netdevsim\x00"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]", TypeSize: 8}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 4}, Kind: 2, Values: []string{"pci\x00"}}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]", TypeSize: 16}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 2}, &StructType{Key: StructKey{Name: "devlink_devname"}, FldName: "payload"}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 1}}, IsPad: true}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]", TypeSize: 20}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 2}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 13}, Kind: 2, Values: []string{"0000:00:10.0\x00"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]", TypeSize: 8}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 137}, @@ -55186,4 +55205,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "e1c282fd1d656bbd387a680b8ce25fffe6cc1c71" +const revision_arm = "dfba12b4edeeb95d08f357872fac2de65eaeb841" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index 79fc268f1..e46ea0885 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -2720,23 +2720,31 @@ var structDescs_arm64 = []*KeyedStruct{ &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "id", TypeSize: 1}}, ValuesStart: 48, ValuesPerProc: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "z", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "devlink_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle", TypeSize: 32}, Fields: []Type{ + {Key: StructKey{Name: "devlink_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "devlink_handle_nsim"}, FldName: "nsim"}, + &StructType{Key: StructKey{Name: "devlink_handle_pci"}, FldName: "pci"}, + }}}, + {Key: StructKey{Name: "devlink_handle_nsim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle_nsim", TypeSize: 32}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]"}, FldName: "DEVLINK_ATTR_BUS_NAME"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]"}, FldName: "DEVLINK_ATTR_DEV_NAME"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_get"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_get", TypeSize: 40}, Fields: []Type{ + {Key: StructKey{Name: "devlink_handle_pci"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle_pci", TypeSize: 28}, Fields: []Type{ + &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]"}, FldName: "DEVLINK_ATTR_BUS_NAME"}, + &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]"}, FldName: "DEVLINK_ATTR_DEV_NAME"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "devlink_port_get"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_get", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "devlink_port_handle"}, FldName: "port_handle"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_handle", TypeSize: 40}, Fields: []Type{ - &StructType{Key: StructKey{Name: "devlink_handle"}, FldName: "port_handle"}, + {Key: StructKey{Name: "devlink_port_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_handle", IsVarlen: true}, Fields: []Type{ + &UnionType{Key: StructKey{Name: "devlink_handle"}, FldName: "port_handle"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]"}, FldName: "DEVLINK_ATTR_PORT_INDEX"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_set", TypeSize: 48}, Fields: []Type{ + {Key: StructKey{Name: "devlink_port_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_set", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "devlink_port_handle"}, FldName: "port_handle"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]"}, FldName: "DEVLINK_ATTR_PORT_TYPE"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "devlink_reload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "devlink_handle"}, FldName: "handle"}, + &UnionType{Key: StructKey{Name: "devlink_handle"}, FldName: "handle"}, &UnionType{Key: StructKey{Name: "devlink_reload_arg"}, FldName: "arg"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "devlink_reload_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload_arg", IsVarlen: true}, Fields: []Type{ @@ -13931,7 +13939,7 @@ var structDescs_arm64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 1, RangeBegin: 7388453, RangeEnd: 7388461}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 1, RangeBegin: 635427835, RangeEnd: 635427839}, &StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_GET]"}, FldName: "payload"}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_handle"}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "devlink_handle"}}}, }, AlignAttr: 4}}, {Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -14837,12 +14845,23 @@ var structDescs_arm64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 10}, Kind: 2, Values: []string{"netdevsim\x00"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]", TypeSize: 8}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 4}, Kind: 2, Values: []string{"pci\x00"}}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]", TypeSize: 16}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 2}, &StructType{Key: StructKey{Name: "devlink_devname"}, FldName: "payload"}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 1}}, IsPad: true}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]", TypeSize: 20}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 2}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 13}, Kind: 2, Values: []string{"0000:00:10.0\x00"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]", TypeSize: 8}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 137}, @@ -55516,4 +55535,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "29121afe864e2738ffc3c0bed2ac04dcd7561473" +const revision_arm64 = "a65fefc4d3a3550aecb837013bc8f74ba7513dce" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 365356709..7afdb823d 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -2719,23 +2719,31 @@ var structDescs_ppc64le = []*KeyedStruct{ &ProcType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "proc", FldName: "id", TypeSize: 1}}, ValuesStart: 48, ValuesPerProc: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "z", TypeSize: 1}}}, }}}, - {Key: StructKey{Name: "devlink_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle", TypeSize: 32}, Fields: []Type{ + {Key: StructKey{Name: "devlink_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle", IsVarlen: true}, Fields: []Type{ + &StructType{Key: StructKey{Name: "devlink_handle_nsim"}, FldName: "nsim"}, + &StructType{Key: StructKey{Name: "devlink_handle_pci"}, FldName: "pci"}, + }}}, + {Key: StructKey{Name: "devlink_handle_nsim"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle_nsim", TypeSize: 32}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]"}, FldName: "DEVLINK_ATTR_BUS_NAME"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]"}, FldName: "DEVLINK_ATTR_DEV_NAME"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_get"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_get", TypeSize: 40}, Fields: []Type{ + {Key: StructKey{Name: "devlink_handle_pci"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_handle_pci", TypeSize: 28}, Fields: []Type{ + &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]"}, FldName: "DEVLINK_ATTR_BUS_NAME"}, + &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]"}, FldName: "DEVLINK_ATTR_DEV_NAME"}, + }, AlignAttr: 4}}, + {Key: StructKey{Name: "devlink_port_get"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_get", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "devlink_port_handle"}, FldName: "port_handle"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_handle", TypeSize: 40}, Fields: []Type{ - &StructType{Key: StructKey{Name: "devlink_handle"}, FldName: "port_handle"}, + {Key: StructKey{Name: "devlink_port_handle"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_handle", IsVarlen: true}, Fields: []Type{ + &UnionType{Key: StructKey{Name: "devlink_handle"}, FldName: "port_handle"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]"}, FldName: "DEVLINK_ATTR_PORT_INDEX"}, }, AlignAttr: 4}}, - {Key: StructKey{Name: "devlink_port_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_set", TypeSize: 48}, Fields: []Type{ + {Key: StructKey{Name: "devlink_port_set"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_port_set", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "devlink_port_handle"}, FldName: "port_handle"}, &StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]"}, FldName: "DEVLINK_ATTR_PORT_TYPE"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "devlink_reload"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload", IsVarlen: true}, Fields: []Type{ - &StructType{Key: StructKey{Name: "devlink_handle"}, FldName: "handle"}, + &UnionType{Key: StructKey{Name: "devlink_handle"}, FldName: "handle"}, &UnionType{Key: StructKey{Name: "devlink_reload_arg"}, FldName: "arg"}, }, AlignAttr: 4}}, {Key: StructKey{Name: "devlink_reload_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload_arg", IsVarlen: true}, Fields: []Type{ @@ -13883,7 +13891,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 1, RangeBegin: 7388453, RangeEnd: 7388461}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 1, RangeBegin: 635427835, RangeEnd: 635427839}, &StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_GET]"}, FldName: "payload"}, - &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_handle"}}}, + &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "devlink_handle"}}}, }, AlignAttr: 4}}, {Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]", IsVarlen: true}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}}, @@ -14789,12 +14797,23 @@ var structDescs_ppc64le = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 10}, Kind: 2, Values: []string{"netdevsim\x00"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"pci\"]]", TypeSize: 8}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 1}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 4}, Kind: 2, Values: []string{"pci\x00"}}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], devlink_devname]", TypeSize: 16}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 2}, &StructType{Key: StructKey{Name: "devlink_devname"}, FldName: "payload"}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 1}}, IsPad: true}, }, AlignAttr: 4}}, + {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_DEV_NAME, int16], string[\"0000:00:10.0\"]]", TypeSize: 20}, Fields: []Type{ + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 2}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "payload", TypeSize: 13}, Kind: 2, Values: []string{"0000:00:10.0\x00"}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 3}}, IsPad: true}, + }, AlignAttr: 4}}, {Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]", TypeSize: 8}, Fields: []Type{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nla_len", TypeSize: 2}}, Path: []string{"parent"}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 137}, @@ -55481,4 +55500,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "98ee18f2f18312875c62edc25cffba3be088cfe4" +const revision_ppc64le = "14eab01bd82692d4bd4d4047ed3cc79341917e90" diff --git a/sys/linux/socket_netlink_generic_devlink.txt b/sys/linux/socket_netlink_generic_devlink.txt index 50312f5bb..f090e4104 100644 --- a/sys/linux/socket_netlink_generic_devlink.txt +++ b/sys/linux/socket_netlink_generic_devlink.txt @@ -18,11 +18,21 @@ devlink_devname { z const[0, int8] } [packed] -devlink_handle { +devlink_handle_nsim { DEVLINK_ATTR_BUS_NAME nlattr[DEVLINK_ATTR_BUS_NAME, string["netdevsim"]] DEVLINK_ATTR_DEV_NAME nlattr[DEVLINK_ATTR_DEV_NAME, devlink_devname] } [packed, align_4] +devlink_handle_pci { + DEVLINK_ATTR_BUS_NAME nlattr[DEVLINK_ATTR_BUS_NAME, string["pci"]] + DEVLINK_ATTR_DEV_NAME nlattr[DEVLINK_ATTR_DEV_NAME, string["0000:00:10.0"]] +} [packed, align_4] + +devlink_handle [ + nsim devlink_handle_nsim + pci devlink_handle_pci +] [varlen] + devlink_port_handle { port_handle devlink_handle # 0:3 is in sync with number of ports created by netdevsim_add() |