aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Pirko <jiri@mellanox.com>2019-10-21 16:36:26 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-11-03 14:20:59 +0100
commit97f4b019d87a073ff02a3ff8b08ada59aea6e688 (patch)
treecf0edc4a7a8a418942011164d8915d026d47921e
parentfceca3f4b76241ca8a285c9a15c4aa7580184156 (diff)
downloadsyzkaller-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.h10
-rw-r--r--sys/linux/gen/386.go35
-rw-r--r--sys/linux/gen/amd64.go35
-rw-r--r--sys/linux/gen/arm.go35
-rw-r--r--sys/linux/gen/arm64.go35
-rw-r--r--sys/linux/gen/ppc64le.go35
-rw-r--r--sys/linux/socket_netlink_generic_devlink.txt12
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()