sys/linux: add support for basic devlink syscalls

Add support for basic set of devlink interface syscalls

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
diff --git a/executor/common_linux.h b/executor/common_linux.h
index a62aaea..1c0f51b 100644
--- a/executor/common_linux.h
+++ b/executor/common_linux.h
@@ -578,7 +578,7 @@
 	netlink_device_change(sock, "hsr_slave_0", true, 0, 0, 0);
 	netlink_device_change(sock, "hsr_slave_1", true, 0, 0, 0);
 
-	netdevsim_add((int)procid, 4);
+	netdevsim_add((int)procid, 4); // Number of port is in sync with value in sys/linux/socket_netlink_generic_devlink.txt
 
 	for (i = 0; i < sizeof(devices) / (sizeof(devices[0])); i++) {
 		// Assign some unique address to devices. Some devices won't up without this.
diff --git a/executor/defs.h b/executor/defs.h
index 51b0026..3b94756 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -70,7 +70,7 @@
 
 #if GOARCH_386
 #define GOARCH "386"
-#define SYZ_REVISION "306c4b5a2bf32eb9f33c52703e59230ea3634973"
+#define SYZ_REVISION "52b64a820efb04fb8758fcde46cecf7b7aa4cb3a"
 #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 "b972f8c2c260922d62a416f11a442e726b300e81"
+#define SYZ_REVISION "b2356dd475ed1e8aacb5c198a29892d4d7593151"
 #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 "199af46d3804bb5e005d66e363319ada9cb29975"
+#define SYZ_REVISION "d32f45fd2561f6716f226b939a3432ab05bdca24"
 #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 "d5b4fc347cee770a0db4341e870b9cfeaf2ccc2c"
+#define SYZ_REVISION "c5e23e1b54a104d7c401d6a206417fa5c966b63a"
 #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 "1d2f5f9ddf929289385928bbc6ad5ce0f033b990"
+#define SYZ_REVISION "6d414566deca81beac737f27edb06df2f5f2a806"
 #define SYZ_EXECUTOR_USES_FORK_SERVER 1
 #define SYZ_EXECUTOR_USES_SHMEM 1
 #define SYZ_PAGE_SIZE 4096
diff --git a/executor/syscalls.h b/executor/syscalls.h
index 9507a33..4927f6d 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -4023,6 +4023,10 @@
     {"sendmmsg$sock", 345},
     {"sendmmsg$unix", 345},
     {"sendmsg", 370},
+    {"sendmsg$DEVLINK_CMD_GET", 370},
+    {"sendmsg$DEVLINK_CMD_PORT_GET", 370},
+    {"sendmsg$DEVLINK_CMD_PORT_SET", 370},
+    {"sendmsg$DEVLINK_CMD_RELOAD", 370},
     {"sendmsg$FOU_CMD_ADD", 370},
     {"sendmsg$FOU_CMD_DEL", 370},
     {"sendmsg$FOU_CMD_GET", 370},
@@ -4524,6 +4528,7 @@
     {"syz_extract_tcp_res", 0, (syscall_t)syz_extract_tcp_res},
     {"syz_extract_tcp_res$synack", 0, (syscall_t)syz_extract_tcp_res},
     {"syz_genetlink_get_family_id$SEG6", 0, (syscall_t)syz_genetlink_get_family_id},
+    {"syz_genetlink_get_family_id$devlink", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$fou", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$ipvs", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$nbd", 0, (syscall_t)syz_genetlink_get_family_id},
@@ -6838,6 +6843,10 @@
     {"sendmmsg$sock", 307},
     {"sendmmsg$unix", 307},
     {"sendmsg", 46},
+    {"sendmsg$DEVLINK_CMD_GET", 46},
+    {"sendmsg$DEVLINK_CMD_PORT_GET", 46},
+    {"sendmsg$DEVLINK_CMD_PORT_SET", 46},
+    {"sendmsg$DEVLINK_CMD_RELOAD", 46},
     {"sendmsg$FOU_CMD_ADD", 46},
     {"sendmsg$FOU_CMD_DEL", 46},
     {"sendmsg$FOU_CMD_GET", 46},
@@ -7339,6 +7348,7 @@
     {"syz_extract_tcp_res", 0, (syscall_t)syz_extract_tcp_res},
     {"syz_extract_tcp_res$synack", 0, (syscall_t)syz_extract_tcp_res},
     {"syz_genetlink_get_family_id$SEG6", 0, (syscall_t)syz_genetlink_get_family_id},
+    {"syz_genetlink_get_family_id$devlink", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$fou", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$ipvs", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$nbd", 0, (syscall_t)syz_genetlink_get_family_id},
@@ -9607,6 +9617,10 @@
     {"sendmmsg$sock", 374},
     {"sendmmsg$unix", 374},
     {"sendmsg", 296},
+    {"sendmsg$DEVLINK_CMD_GET", 296},
+    {"sendmsg$DEVLINK_CMD_PORT_GET", 296},
+    {"sendmsg$DEVLINK_CMD_PORT_SET", 296},
+    {"sendmsg$DEVLINK_CMD_RELOAD", 296},
     {"sendmsg$FOU_CMD_ADD", 296},
     {"sendmsg$FOU_CMD_DEL", 296},
     {"sendmsg$FOU_CMD_GET", 296},
@@ -10106,6 +10120,7 @@
     {"syz_extract_tcp_res", 0, (syscall_t)syz_extract_tcp_res},
     {"syz_extract_tcp_res$synack", 0, (syscall_t)syz_extract_tcp_res},
     {"syz_genetlink_get_family_id$SEG6", 0, (syscall_t)syz_genetlink_get_family_id},
+    {"syz_genetlink_get_family_id$devlink", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$fou", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$ipvs", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$nbd", 0, (syscall_t)syz_genetlink_get_family_id},
@@ -12353,6 +12368,10 @@
     {"sendmmsg$sock", 269},
     {"sendmmsg$unix", 269},
     {"sendmsg", 211},
+    {"sendmsg$DEVLINK_CMD_GET", 211},
+    {"sendmsg$DEVLINK_CMD_PORT_GET", 211},
+    {"sendmsg$DEVLINK_CMD_PORT_SET", 211},
+    {"sendmsg$DEVLINK_CMD_RELOAD", 211},
     {"sendmsg$FOU_CMD_ADD", 211},
     {"sendmsg$FOU_CMD_DEL", 211},
     {"sendmsg$FOU_CMD_GET", 211},
@@ -12847,6 +12866,7 @@
     {"syz_extract_tcp_res", 0, (syscall_t)syz_extract_tcp_res},
     {"syz_extract_tcp_res$synack", 0, (syscall_t)syz_extract_tcp_res},
     {"syz_genetlink_get_family_id$SEG6", 0, (syscall_t)syz_genetlink_get_family_id},
+    {"syz_genetlink_get_family_id$devlink", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$fou", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$ipvs", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$nbd", 0, (syscall_t)syz_genetlink_get_family_id},
@@ -15107,6 +15127,10 @@
     {"sendmmsg$sock", 349},
     {"sendmmsg$unix", 349},
     {"sendmsg", 341},
+    {"sendmsg$DEVLINK_CMD_GET", 341},
+    {"sendmsg$DEVLINK_CMD_PORT_GET", 341},
+    {"sendmsg$DEVLINK_CMD_PORT_SET", 341},
+    {"sendmsg$DEVLINK_CMD_RELOAD", 341},
     {"sendmsg$FOU_CMD_ADD", 341},
     {"sendmsg$FOU_CMD_DEL", 341},
     {"sendmsg$FOU_CMD_GET", 341},
@@ -15606,6 +15630,7 @@
     {"syz_extract_tcp_res", 0, (syscall_t)syz_extract_tcp_res},
     {"syz_extract_tcp_res$synack", 0, (syscall_t)syz_extract_tcp_res},
     {"syz_genetlink_get_family_id$SEG6", 0, (syscall_t)syz_genetlink_get_family_id},
+    {"syz_genetlink_get_family_id$devlink", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$fou", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$ipvs", 0, (syscall_t)syz_genetlink_get_family_id},
     {"syz_genetlink_get_family_id$nbd", 0, (syscall_t)syz_genetlink_get_family_id},
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go
index a823f8a..fc12525 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -128,6 +128,7 @@
 	{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
 	{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
+	{Name: "genl_devlink_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_devlink_family_id"}, Values: []uint64{0}},
 	{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
 	{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
 	{Name: "genl_nbd_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_nbd_family_id"}, Values: []uint64{0}},
@@ -2686,6 +2687,35 @@
 		&StructType{Key: StructKey{Name: "nlattr_t[const[NETCONFA_IFINDEX, int16], ifindex]"}, FldName: "NETCONFA_IFINDEX"},
 		&StructType{Key: StructKey{Name: "nlattr_t[const[NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, int16], int32]"}, FldName: "IGNORE_ROUTES_WITH_LINKDOWN"},
 	}}},
+	{Key: StructKey{Name: "devlink_devname"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_devname", TypeSize: 11}, Fields: []Type{
+		&BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", TypeSize: 9}, Kind: 2, Values: []string{"netdevsim"}, NoZ: true},
+		&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{
+		&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{
+		&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"},
+		&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{
+		&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_reload_arg"}, FldName: "arg"},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "devlink_reload_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload_arg", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]"}, FldName: "DEVLINK_ATTR_NETNS_PID"},
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]"}, FldName: "DEVLINK_ATTR_NETNS_FD"},
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]"}, FldName: "DEVLINK_ATTR_NETNS_ID"},
+	}}},
 	{Key: StructKey{Name: "devname_mask"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devname_mask", TypeSize: 16}, Fields: []Type{
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "devname_mask_values", FldName: "lo", TypeSize: 1}}, Vals: []uint64{0, 255}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 15}}, IsPad: true},
@@ -6459,6 +6489,26 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_GET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_GET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 5},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 6},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_RELOAD]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_RELOAD]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 37},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "genlmsghdr_t[FOU_CMD_ADD]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[FOU_CMD_ADD]", TypeSize: 4}, Fields: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 1},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
@@ -8242,6 +8292,22 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "netlink_msg_route_sched"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
 	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]", TypeSize: 8}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]", TypeSize: 8}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]", TypeSize: 8}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]", TypeSize: 8}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
+	}}},
 	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]", TypeSize: 8}, Fields: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
@@ -11877,6 +11943,42 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 4}}},
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
 	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]", TypeSize: 28}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 4}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 4}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 4}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]", TypeSize: 28}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 4}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 4}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 4}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]", TypeSize: 28}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 4}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 4}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 4}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]", TypeSize: 28}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 4}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 4}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 4}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}}},
 	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]", TypeSize: 28}, Fields: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
@@ -13656,6 +13758,42 @@
 		&StructType{Key: StructKey{Name: "xfrm_usersa_info"}, FldName: "payload"},
 		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "xfrm_attrs"}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, 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"}}},
+	}, 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"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_port_get"}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_port_set"}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_RELOAD]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_reload"}}},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]", IsVarlen: true}, Fields: []Type{
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_fou_family_id", FldName: "type", TypeSize: 2}},
@@ -14525,6 +14663,44 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 1},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]", 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: 1},
+		&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_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_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},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_namespace", FldName: "payload", TypeSize: 4}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]", 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: 139},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]", 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: 138},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "payload", TypeSize: 4}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]", 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: 3},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]", 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: 4},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "payload", TypeSize: 2}}, Kind: 2, RangeEnd: 3},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "nlattr_t[const[FOU_ATTR_AF, int16], flags[fou_families, int8]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[FOU_ATTR_AF, int16], flags[fou_families, int8]]", 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: 2},
@@ -42106,6 +42282,26 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "send_msghdr"}}},
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
 	}},
+	{NR: 370, Name: "sendmsg$DEVLINK_CMD_GET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 370, Name: "sendmsg$DEVLINK_CMD_PORT_GET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 370, Name: "sendmsg$DEVLINK_CMD_PORT_SET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 370, Name: "sendmsg$DEVLINK_CMD_RELOAD", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
 	{NR: 370, Name: "sendmsg$FOU_CMD_ADD", CallName: "sendmsg", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}}},
@@ -45181,6 +45377,9 @@
 	{Name: "syz_genetlink_get_family_id$SEG6", CallName: "syz_genetlink_get_family_id", Args: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 5}, Kind: 2, Values: []string{"SEG6\x00"}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_seg6_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
+	{Name: "syz_genetlink_get_family_id$devlink", CallName: "syz_genetlink_get_family_id", Args: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 8}, Kind: 2, Values: []string{"devlink\x00"}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
 	{Name: "syz_genetlink_get_family_id$fou", CallName: "syz_genetlink_get_family_id", Args: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, Values: []string{"fou\x00"}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_fou_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
@@ -47647,6 +47846,19 @@
 	{Name: "DCCP_SOCKOPT_SERVER_TIMEWAIT", Value: 6},
 	{Name: "DCCP_SOCKOPT_SERVICE", Value: 2},
 	{Name: "DCCP_SOCKOPT_TX_CCID", Value: 14},
+	{Name: "DEVLINK_ATTR_BUS_NAME", Value: 1},
+	{Name: "DEVLINK_ATTR_DEV_NAME", Value: 2},
+	{Name: "DEVLINK_ATTR_NETNS_FD", Value: 137},
+	{Name: "DEVLINK_ATTR_NETNS_ID", Value: 139},
+	{Name: "DEVLINK_ATTR_NETNS_PID", Value: 138},
+	{Name: "DEVLINK_ATTR_PORT_INDEX", Value: 3},
+	{Name: "DEVLINK_ATTR_PORT_TYPE", Value: 4},
+	{Name: "DEVLINK_CMD_GET", Value: 1},
+	{Name: "DEVLINK_CMD_PORT_GET", Value: 5},
+	{Name: "DEVLINK_CMD_PORT_SET", Value: 6},
+	{Name: "DEVLINK_CMD_RELOAD", Value: 37},
+	{Name: "DEVLINK_PORT_TYPE_IB", Value: 3},
+	{Name: "DEVLINK_PORT_TYPE_NOTSET"},
 	{Name: "DMA_BUF_IOCTL_SYNC", Value: 1074291200},
 	{Name: "DMA_BUF_SYNC_END", Value: 4},
 	{Name: "DMA_BUF_SYNC_READ", Value: 1},
@@ -55075,4 +55287,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_386 = "306c4b5a2bf32eb9f33c52703e59230ea3634973"
+const revision_386 = "52b64a820efb04fb8758fcde46cecf7b7aa4cb3a"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index 7dcaab8..30e6ae0 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -128,6 +128,7 @@
 	{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
 	{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
+	{Name: "genl_devlink_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_devlink_family_id"}, Values: []uint64{0}},
 	{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
 	{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
 	{Name: "genl_nbd_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_nbd_family_id"}, Values: []uint64{0}},
@@ -2695,6 +2696,35 @@
 		&StructType{Key: StructKey{Name: "nlattr_t[const[NETCONFA_IFINDEX, int16], ifindex]"}, FldName: "NETCONFA_IFINDEX"},
 		&StructType{Key: StructKey{Name: "nlattr_t[const[NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, int16], int32]"}, FldName: "IGNORE_ROUTES_WITH_LINKDOWN"},
 	}}},
+	{Key: StructKey{Name: "devlink_devname"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_devname", TypeSize: 11}, Fields: []Type{
+		&BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", TypeSize: 9}, Kind: 2, Values: []string{"netdevsim"}, NoZ: true},
+		&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{
+		&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{
+		&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"},
+		&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{
+		&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_reload_arg"}, FldName: "arg"},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "devlink_reload_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload_arg", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]"}, FldName: "DEVLINK_ATTR_NETNS_PID"},
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]"}, FldName: "DEVLINK_ATTR_NETNS_FD"},
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]"}, FldName: "DEVLINK_ATTR_NETNS_ID"},
+	}}},
 	{Key: StructKey{Name: "devname_mask"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devname_mask", TypeSize: 16}, Fields: []Type{
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "devname_mask_values", FldName: "lo", TypeSize: 1}}, Vals: []uint64{0, 255}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 15}}, IsPad: true},
@@ -6554,6 +6584,26 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_GET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_GET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 5},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 6},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_RELOAD]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_RELOAD]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 37},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "genlmsghdr_t[FOU_CMD_ADD]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[FOU_CMD_ADD]", TypeSize: 4}, Fields: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 1},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
@@ -8352,6 +8402,22 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "netlink_msg_route_sched"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
 	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
 	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]", TypeSize: 16}, Fields: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
@@ -12006,6 +12072,50 @@
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
 	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
 	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]", TypeSize: 56}, Fields: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
@@ -13953,6 +14063,42 @@
 		&StructType{Key: StructKey{Name: "xfrm_usersa_info"}, FldName: "payload"},
 		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "xfrm_attrs"}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, 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"}}},
+	}, 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"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_port_get"}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_port_set"}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_RELOAD]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_reload"}}},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]", IsVarlen: true}, Fields: []Type{
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_fou_family_id", FldName: "type", TypeSize: 2}},
@@ -14824,6 +14970,44 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 1},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]", 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: 1},
+		&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_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_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},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_namespace", FldName: "payload", TypeSize: 4}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]", 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: 139},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]", 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: 138},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "payload", TypeSize: 4}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]", 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: 3},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]", 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: 4},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "payload", TypeSize: 2}}, Kind: 2, RangeEnd: 3},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "nlattr_t[const[FOU_ATTR_AF, int16], flags[fou_families, int8]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[FOU_ATTR_AF, int16], flags[fou_families, int8]]", 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: 2},
@@ -42636,6 +42820,26 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "send_msghdr"}}},
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
 	}},
+	{NR: 46, Name: "sendmsg$DEVLINK_CMD_GET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 46, Name: "sendmsg$DEVLINK_CMD_PORT_GET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 46, Name: "sendmsg$DEVLINK_CMD_PORT_SET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 46, Name: "sendmsg$DEVLINK_CMD_RELOAD", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
 	{NR: 46, Name: "sendmsg$FOU_CMD_ADD", CallName: "sendmsg", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}}},
@@ -45711,6 +45915,9 @@
 	{Name: "syz_genetlink_get_family_id$SEG6", CallName: "syz_genetlink_get_family_id", Args: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 5}, Kind: 2, Values: []string{"SEG6\x00"}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_seg6_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
+	{Name: "syz_genetlink_get_family_id$devlink", CallName: "syz_genetlink_get_family_id", Args: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 8}, Kind: 2, Values: []string{"devlink\x00"}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
 	{Name: "syz_genetlink_get_family_id$fou", CallName: "syz_genetlink_get_family_id", Args: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, Values: []string{"fou\x00"}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_fou_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
@@ -48177,6 +48384,19 @@
 	{Name: "DCCP_SOCKOPT_SERVER_TIMEWAIT", Value: 6},
 	{Name: "DCCP_SOCKOPT_SERVICE", Value: 2},
 	{Name: "DCCP_SOCKOPT_TX_CCID", Value: 14},
+	{Name: "DEVLINK_ATTR_BUS_NAME", Value: 1},
+	{Name: "DEVLINK_ATTR_DEV_NAME", Value: 2},
+	{Name: "DEVLINK_ATTR_NETNS_FD", Value: 137},
+	{Name: "DEVLINK_ATTR_NETNS_ID", Value: 139},
+	{Name: "DEVLINK_ATTR_NETNS_PID", Value: 138},
+	{Name: "DEVLINK_ATTR_PORT_INDEX", Value: 3},
+	{Name: "DEVLINK_ATTR_PORT_TYPE", Value: 4},
+	{Name: "DEVLINK_CMD_GET", Value: 1},
+	{Name: "DEVLINK_CMD_PORT_GET", Value: 5},
+	{Name: "DEVLINK_CMD_PORT_SET", Value: 6},
+	{Name: "DEVLINK_CMD_RELOAD", Value: 37},
+	{Name: "DEVLINK_PORT_TYPE_IB", Value: 3},
+	{Name: "DEVLINK_PORT_TYPE_NOTSET"},
 	{Name: "DMA_BUF_IOCTL_SYNC", Value: 1074291200},
 	{Name: "DMA_BUF_SYNC_END", Value: 4},
 	{Name: "DMA_BUF_SYNC_READ", Value: 1},
@@ -55620,4 +55840,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_amd64 = "b972f8c2c260922d62a416f11a442e726b300e81"
+const revision_amd64 = "b2356dd475ed1e8aacb5c198a29892d4d7593151"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index 49863da..ea9d2b4 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -128,6 +128,7 @@
 	{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
 	{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
+	{Name: "genl_devlink_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_devlink_family_id"}, Values: []uint64{0}},
 	{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
 	{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
 	{Name: "genl_nbd_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_nbd_family_id"}, Values: []uint64{0}},
@@ -2686,6 +2687,35 @@
 		&StructType{Key: StructKey{Name: "nlattr_t[const[NETCONFA_IFINDEX, int16], ifindex]"}, FldName: "NETCONFA_IFINDEX"},
 		&StructType{Key: StructKey{Name: "nlattr_t[const[NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, int16], int32]"}, FldName: "IGNORE_ROUTES_WITH_LINKDOWN"},
 	}}},
+	{Key: StructKey{Name: "devlink_devname"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_devname", TypeSize: 11}, Fields: []Type{
+		&BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", TypeSize: 9}, Kind: 2, Values: []string{"netdevsim"}, NoZ: true},
+		&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{
+		&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{
+		&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"},
+		&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{
+		&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_reload_arg"}, FldName: "arg"},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "devlink_reload_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload_arg", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]"}, FldName: "DEVLINK_ATTR_NETNS_PID"},
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]"}, FldName: "DEVLINK_ATTR_NETNS_FD"},
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]"}, FldName: "DEVLINK_ATTR_NETNS_ID"},
+	}}},
 	{Key: StructKey{Name: "devname_mask"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devname_mask", TypeSize: 16}, Fields: []Type{
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "devname_mask_values", FldName: "lo", TypeSize: 1}}, Vals: []uint64{0, 255}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 15}}, IsPad: true},
@@ -6459,6 +6489,26 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_GET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_GET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 5},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 6},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_RELOAD]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_RELOAD]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 37},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "genlmsghdr_t[FOU_CMD_ADD]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[FOU_CMD_ADD]", TypeSize: 4}, Fields: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 1},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
@@ -8242,6 +8292,22 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "netlink_msg_route_sched"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
 	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]", TypeSize: 8}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]", TypeSize: 8}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]", TypeSize: 8}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]", TypeSize: 8}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
+	}}},
 	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]", TypeSize: 8}, Fields: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
@@ -11694,6 +11760,42 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 4}}},
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
 	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]", TypeSize: 28}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 4}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 4}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 4}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]", TypeSize: 28}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 4}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 4}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 4}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]", TypeSize: 28}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 4}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 4}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 4}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]", TypeSize: 28}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 4}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 4}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 4}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}}},
 	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]", TypeSize: 28}, Fields: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
@@ -13473,6 +13575,42 @@
 		&StructType{Key: StructKey{Name: "xfrm_usersa_info"}, FldName: "payload"},
 		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "xfrm_attrs"}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, 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"}}},
+	}, 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"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_port_get"}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_port_set"}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_RELOAD]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_reload"}}},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]", IsVarlen: true}, Fields: []Type{
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_fou_family_id", FldName: "type", TypeSize: 2}},
@@ -14342,6 +14480,44 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 1},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]", 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: 1},
+		&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_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_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},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_namespace", FldName: "payload", TypeSize: 4}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]", 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: 139},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]", 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: 138},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "payload", TypeSize: 4}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]", 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: 3},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]", 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: 4},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "payload", TypeSize: 2}}, Kind: 2, RangeEnd: 3},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "nlattr_t[const[FOU_ATTR_AF, int16], flags[fou_families, int8]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[FOU_ATTR_AF, int16], flags[fou_families, int8]]", 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: 2},
@@ -41771,6 +41947,26 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "send_msghdr"}}},
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
 	}},
+	{NR: 296, Name: "sendmsg$DEVLINK_CMD_GET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 296, Name: "sendmsg$DEVLINK_CMD_PORT_GET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 296, Name: "sendmsg$DEVLINK_CMD_PORT_SET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 296, Name: "sendmsg$DEVLINK_CMD_RELOAD", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
 	{NR: 296, Name: "sendmsg$FOU_CMD_ADD", CallName: "sendmsg", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}}},
@@ -44837,6 +45033,9 @@
 	{Name: "syz_genetlink_get_family_id$SEG6", CallName: "syz_genetlink_get_family_id", Args: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 5}, Kind: 2, Values: []string{"SEG6\x00"}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_seg6_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
+	{Name: "syz_genetlink_get_family_id$devlink", CallName: "syz_genetlink_get_family_id", Args: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 8}, Kind: 2, Values: []string{"devlink\x00"}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
 	{Name: "syz_genetlink_get_family_id$fou", CallName: "syz_genetlink_get_family_id", Args: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, Values: []string{"fou\x00"}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_fou_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
@@ -47287,6 +47486,19 @@
 	{Name: "DCCP_SOCKOPT_SERVER_TIMEWAIT", Value: 6},
 	{Name: "DCCP_SOCKOPT_SERVICE", Value: 2},
 	{Name: "DCCP_SOCKOPT_TX_CCID", Value: 14},
+	{Name: "DEVLINK_ATTR_BUS_NAME", Value: 1},
+	{Name: "DEVLINK_ATTR_DEV_NAME", Value: 2},
+	{Name: "DEVLINK_ATTR_NETNS_FD", Value: 137},
+	{Name: "DEVLINK_ATTR_NETNS_ID", Value: 139},
+	{Name: "DEVLINK_ATTR_NETNS_PID", Value: 138},
+	{Name: "DEVLINK_ATTR_PORT_INDEX", Value: 3},
+	{Name: "DEVLINK_ATTR_PORT_TYPE", Value: 4},
+	{Name: "DEVLINK_CMD_GET", Value: 1},
+	{Name: "DEVLINK_CMD_PORT_GET", Value: 5},
+	{Name: "DEVLINK_CMD_PORT_SET", Value: 6},
+	{Name: "DEVLINK_CMD_RELOAD", Value: 37},
+	{Name: "DEVLINK_PORT_TYPE_IB", Value: 3},
+	{Name: "DEVLINK_PORT_TYPE_NOTSET"},
 	{Name: "DMA_BUF_IOCTL_SYNC", Value: 1074291200},
 	{Name: "DMA_BUF_SYNC_END", Value: 4},
 	{Name: "DMA_BUF_SYNC_READ", Value: 1},
@@ -54652,4 +54864,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_arm = "199af46d3804bb5e005d66e363319ada9cb29975"
+const revision_arm = "d32f45fd2561f6716f226b939a3432ab05bdca24"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index c5df5a4..feec796 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -128,6 +128,7 @@
 	{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
 	{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
+	{Name: "genl_devlink_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_devlink_family_id"}, Values: []uint64{0}},
 	{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
 	{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
 	{Name: "genl_nbd_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_nbd_family_id"}, Values: []uint64{0}},
@@ -2695,6 +2696,35 @@
 		&StructType{Key: StructKey{Name: "nlattr_t[const[NETCONFA_IFINDEX, int16], ifindex]"}, FldName: "NETCONFA_IFINDEX"},
 		&StructType{Key: StructKey{Name: "nlattr_t[const[NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, int16], int32]"}, FldName: "IGNORE_ROUTES_WITH_LINKDOWN"},
 	}}},
+	{Key: StructKey{Name: "devlink_devname"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_devname", TypeSize: 11}, Fields: []Type{
+		&BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", TypeSize: 9}, Kind: 2, Values: []string{"netdevsim"}, NoZ: true},
+		&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{
+		&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{
+		&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"},
+		&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{
+		&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_reload_arg"}, FldName: "arg"},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "devlink_reload_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload_arg", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]"}, FldName: "DEVLINK_ATTR_NETNS_PID"},
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]"}, FldName: "DEVLINK_ATTR_NETNS_FD"},
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]"}, FldName: "DEVLINK_ATTR_NETNS_ID"},
+	}}},
 	{Key: StructKey{Name: "devname_mask"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devname_mask", TypeSize: 16}, Fields: []Type{
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "devname_mask_values", FldName: "lo", TypeSize: 1}}, Vals: []uint64{0, 255}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 15}}, IsPad: true},
@@ -6554,6 +6584,26 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_GET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_GET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 5},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 6},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_RELOAD]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_RELOAD]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 37},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "genlmsghdr_t[FOU_CMD_ADD]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[FOU_CMD_ADD]", TypeSize: 4}, Fields: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 1},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
@@ -8352,6 +8402,22 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "netlink_msg_route_sched"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
 	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
 	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]", TypeSize: 16}, Fields: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
@@ -11823,6 +11889,50 @@
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
 	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
 	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]", TypeSize: 56}, Fields: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
@@ -13770,6 +13880,42 @@
 		&StructType{Key: StructKey{Name: "xfrm_usersa_info"}, FldName: "payload"},
 		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "xfrm_attrs"}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, 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"}}},
+	}, 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"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_port_get"}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_port_set"}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_RELOAD]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_reload"}}},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]", IsVarlen: true}, Fields: []Type{
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_fou_family_id", FldName: "type", TypeSize: 2}},
@@ -14641,6 +14787,44 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 1},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]", 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: 1},
+		&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_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_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},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_namespace", FldName: "payload", TypeSize: 4}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]", 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: 139},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]", 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: 138},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "payload", TypeSize: 4}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]", 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: 3},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]", 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: 4},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "payload", TypeSize: 2}}, Kind: 2, RangeEnd: 3},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "nlattr_t[const[FOU_ATTR_AF, int16], flags[fou_families, int8]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[FOU_ATTR_AF, int16], flags[fou_families, int8]]", 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: 2},
@@ -42140,6 +42324,26 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "send_msghdr"}}},
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
 	}},
+	{NR: 211, Name: "sendmsg$DEVLINK_CMD_GET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 211, Name: "sendmsg$DEVLINK_CMD_PORT_GET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 211, Name: "sendmsg$DEVLINK_CMD_PORT_SET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 211, Name: "sendmsg$DEVLINK_CMD_RELOAD", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
 	{NR: 211, Name: "sendmsg$FOU_CMD_ADD", CallName: "sendmsg", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}}},
@@ -45187,6 +45391,9 @@
 	{Name: "syz_genetlink_get_family_id$SEG6", CallName: "syz_genetlink_get_family_id", Args: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 5}, Kind: 2, Values: []string{"SEG6\x00"}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_seg6_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
+	{Name: "syz_genetlink_get_family_id$devlink", CallName: "syz_genetlink_get_family_id", Args: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 8}, Kind: 2, Values: []string{"devlink\x00"}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
 	{Name: "syz_genetlink_get_family_id$fou", CallName: "syz_genetlink_get_family_id", Args: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, Values: []string{"fou\x00"}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_fou_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
@@ -47623,6 +47830,19 @@
 	{Name: "DCCP_SOCKOPT_SERVER_TIMEWAIT", Value: 6},
 	{Name: "DCCP_SOCKOPT_SERVICE", Value: 2},
 	{Name: "DCCP_SOCKOPT_TX_CCID", Value: 14},
+	{Name: "DEVLINK_ATTR_BUS_NAME", Value: 1},
+	{Name: "DEVLINK_ATTR_DEV_NAME", Value: 2},
+	{Name: "DEVLINK_ATTR_NETNS_FD", Value: 137},
+	{Name: "DEVLINK_ATTR_NETNS_ID", Value: 139},
+	{Name: "DEVLINK_ATTR_NETNS_PID", Value: 138},
+	{Name: "DEVLINK_ATTR_PORT_INDEX", Value: 3},
+	{Name: "DEVLINK_ATTR_PORT_TYPE", Value: 4},
+	{Name: "DEVLINK_CMD_GET", Value: 1},
+	{Name: "DEVLINK_CMD_PORT_GET", Value: 5},
+	{Name: "DEVLINK_CMD_PORT_SET", Value: 6},
+	{Name: "DEVLINK_CMD_RELOAD", Value: 37},
+	{Name: "DEVLINK_PORT_TYPE_IB", Value: 3},
+	{Name: "DEVLINK_PORT_TYPE_NOTSET"},
 	{Name: "DMA_BUF_IOCTL_SYNC", Value: 1074291200},
 	{Name: "DMA_BUF_SYNC_END", Value: 4},
 	{Name: "DMA_BUF_SYNC_READ", Value: 1},
@@ -54972,4 +55192,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_arm64 = "d5b4fc347cee770a0db4341e870b9cfeaf2ccc2c"
+const revision_arm64 = "c5e23e1b54a104d7c401d6a206417fa5c966b63a"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index 60c2c76..6f8f122 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -128,6 +128,7 @@
 	{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
 	{Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
 	{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
+	{Name: "genl_devlink_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_devlink_family_id"}, Values: []uint64{0}},
 	{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
 	{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
 	{Name: "genl_nbd_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_nbd_family_id"}, Values: []uint64{0}},
@@ -2694,6 +2695,35 @@
 		&StructType{Key: StructKey{Name: "nlattr_t[const[NETCONFA_IFINDEX, int16], ifindex]"}, FldName: "NETCONFA_IFINDEX"},
 		&StructType{Key: StructKey{Name: "nlattr_t[const[NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, int16], int32]"}, FldName: "IGNORE_ROUTES_WITH_LINKDOWN"},
 	}}},
+	{Key: StructKey{Name: "devlink_devname"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_devname", TypeSize: 11}, Fields: []Type{
+		&BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", TypeSize: 9}, Kind: 2, Values: []string{"netdevsim"}, NoZ: true},
+		&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{
+		&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{
+		&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"},
+		&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{
+		&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_reload_arg"}, FldName: "arg"},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "devlink_reload_arg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devlink_reload_arg", IsVarlen: true}, Fields: []Type{
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]"}, FldName: "DEVLINK_ATTR_NETNS_PID"},
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_FD, int16], fd_namespace]"}, FldName: "DEVLINK_ATTR_NETNS_FD"},
+		&StructType{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]"}, FldName: "DEVLINK_ATTR_NETNS_ID"},
+	}}},
 	{Key: StructKey{Name: "devname_mask"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "devname_mask", TypeSize: 16}, Fields: []Type{
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "devname_mask_values", FldName: "lo", TypeSize: 1}}, Vals: []uint64{0, 255}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 15}}, IsPad: true},
@@ -6553,6 +6583,26 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_GET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_GET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 5},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 6},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_RELOAD]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[DEVLINK_CMD_RELOAD]", TypeSize: 4}, Fields: []Type{
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 37},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "reserved", TypeSize: 2}}},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "genlmsghdr_t[FOU_CMD_ADD]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "genlmsghdr_t[FOU_CMD_ADD]", TypeSize: 4}, Fields: []Type{
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 1}}, Val: 1},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "version", TypeSize: 1}}},
@@ -8351,6 +8401,22 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &UnionType{Key: StructKey{Name: "netlink_msg_route_sched"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
 	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
+	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]", TypeSize: 16}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
+	}}},
 	{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iovec[in, netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]", TypeSize: 16}, Fields: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
@@ -11775,6 +11841,50 @@
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
 	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
+	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]", TypeSize: 56}, Fields: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iovec[in, netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "vlen", TypeSize: 8}}, Val: 1},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrl", TypeSize: 8}}},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ctrllen", TypeSize: 8}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true},
+	}}},
 	{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]", TypeSize: 56}, Fields: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_nl_t[AF_NETLINK, const[0, int32], flags[netlink_group_bitmap, int32]]"}}},
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Path: []string{"addr"}},
@@ -13722,6 +13832,42 @@
 		&StructType{Key: StructKey{Name: "xfrm_usersa_info"}, FldName: "payload"},
 		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &UnionType{Key: StructKey{Name: "xfrm_attrs"}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, 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"}}},
+	}, 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"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_GET]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_port_get"}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_PORT_SET]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_port_set"}}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]", IsVarlen: true}, Fields: []Type{
+		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "type", TypeSize: 2}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "netlink_msg_flags", FldName: "flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 256, 512, 1024, 768, 256, 512, 1024, 2048}},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "seq", TypeSize: 4}}, Kind: 2, RangeBegin: 7388453, RangeEnd: 7388461},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "pid", TypeSize: 4}}, Kind: 2, RangeBegin: 635427835, RangeEnd: 635427839},
+		&StructType{Key: StructKey{Name: "genlmsghdr_t[DEVLINK_CMD_RELOAD]"}, FldName: "payload"},
+		&ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "attrs", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "devlink_reload"}}},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]", IsVarlen: true}, Fields: []Type{
 		&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"parent"}},
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "genl_fou_family_id", FldName: "type", TypeSize: 2}},
@@ -14593,6 +14739,44 @@
 		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nla_type", TypeSize: 2}}, Val: 1},
 		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}},
 	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_BUS_NAME, int16], string[\"netdevsim\"]]", 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: 1},
+		&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_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_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},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_namespace", FldName: "payload", TypeSize: 4}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_ID, int16], netns_id]", 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: 139},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}, Kind: 2, RangeEnd: 4},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_NETNS_PID, int16], pid]", 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: 138},
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "payload", TypeSize: 4}},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_PORT_INDEX, int16], int32[0:3]]", 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: 3},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "payload", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+	}, AlignAttr: 4}},
+	{Key: StructKey{Name: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[DEVLINK_ATTR_PORT_TYPE, int16], int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]", 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: 4},
+		&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "payload", TypeSize: 2}}, Kind: 2, RangeEnd: 3},
+		&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
+	}, AlignAttr: 4}},
 	{Key: StructKey{Name: "nlattr_t[const[FOU_ATTR_AF, int16], flags[fou_families, int8]]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nlattr_t[const[FOU_ATTR_AF, int16], flags[fou_families, int8]]", 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: 2},
@@ -42094,6 +42278,26 @@
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "send_msghdr"}}},
 		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
 	}},
+	{NR: 341, Name: "sendmsg$DEVLINK_CMD_GET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_GET], devlink_handle]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 341, Name: "sendmsg$DEVLINK_CMD_PORT_GET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 341, Name: "sendmsg$DEVLINK_CMD_PORT_SET", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
+	{NR: 341, Name: "sendmsg$DEVLINK_CMD_RELOAD", CallName: "sendmsg", Args: []Type{
+		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]"}}},
+		&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}, BitMask: true},
+	}},
 	{NR: 341, Name: "sendmsg$FOU_CMD_ADD", CallName: "sendmsg", Args: []Type{
 		&ResourceType{TypeCommon: TypeCommon{TypeName: "sock_nl_generic", FldName: "fd", TypeSize: 4}},
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_netlink[netlink_msg_t[genl_fou_family_id, genlmsghdr_t[FOU_CMD_ADD], fou_nl_policy]]"}}},
@@ -45160,6 +45364,9 @@
 	{Name: "syz_genetlink_get_family_id$SEG6", CallName: "syz_genetlink_get_family_id", Args: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 5}, Kind: 2, Values: []string{"SEG6\x00"}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_seg6_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
+	{Name: "syz_genetlink_get_family_id$devlink", CallName: "syz_genetlink_get_family_id", Args: []Type{
+		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 8}, Kind: 2, Values: []string{"devlink\x00"}}},
+	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_devlink_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
 	{Name: "syz_genetlink_get_family_id$fou", CallName: "syz_genetlink_get_family_id", Args: []Type{
 		&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "name", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 4}, Kind: 2, Values: []string{"fou\x00"}}},
 	}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "genl_fou_family_id", FldName: "ret", TypeSize: 2, ArgDir: 1}}},
@@ -47617,6 +47824,19 @@
 	{Name: "DCCP_SOCKOPT_SERVER_TIMEWAIT", Value: 6},
 	{Name: "DCCP_SOCKOPT_SERVICE", Value: 2},
 	{Name: "DCCP_SOCKOPT_TX_CCID", Value: 14},
+	{Name: "DEVLINK_ATTR_BUS_NAME", Value: 1},
+	{Name: "DEVLINK_ATTR_DEV_NAME", Value: 2},
+	{Name: "DEVLINK_ATTR_NETNS_FD", Value: 137},
+	{Name: "DEVLINK_ATTR_NETNS_ID", Value: 139},
+	{Name: "DEVLINK_ATTR_NETNS_PID", Value: 138},
+	{Name: "DEVLINK_ATTR_PORT_INDEX", Value: 3},
+	{Name: "DEVLINK_ATTR_PORT_TYPE", Value: 4},
+	{Name: "DEVLINK_CMD_GET", Value: 1},
+	{Name: "DEVLINK_CMD_PORT_GET", Value: 5},
+	{Name: "DEVLINK_CMD_PORT_SET", Value: 6},
+	{Name: "DEVLINK_CMD_RELOAD", Value: 37},
+	{Name: "DEVLINK_PORT_TYPE_IB", Value: 3},
+	{Name: "DEVLINK_PORT_TYPE_NOTSET"},
 	{Name: "DMA_BUF_IOCTL_SYNC", Value: 2148033024},
 	{Name: "DMA_BUF_SYNC_END", Value: 4},
 	{Name: "DMA_BUF_SYNC_READ", Value: 1},
@@ -54937,4 +55157,4 @@
 	{Name: "bpf_insn_load_imm_dw", Value: 24},
 }
 
-const revision_ppc64le = "1d2f5f9ddf929289385928bbc6ad5ce0f033b990"
+const revision_ppc64le = "6d414566deca81beac737f27edb06df2f5f2a806"
diff --git a/sys/linux/socket_netlink_generic_devlink.txt b/sys/linux/socket_netlink_generic_devlink.txt
new file mode 100644
index 0000000..50312f5
--- /dev/null
+++ b/sys/linux/socket_netlink_generic_devlink.txt
@@ -0,0 +1,62 @@
+# Copyright 2019 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+# AF_NETLINK/NETLINK_GENERIC/devlink support.
+
+include <linux/net.h>
+include <net/netlink.h>
+include <uapi/linux/netlink.h>
+include <uapi/linux/genetlink.h>
+include <uapi/linux/devlink.h>
+
+resource genl_devlink_family_id[int16]
+syz_genetlink_get_family_id$devlink(name ptr[in, string["devlink"]]) genl_devlink_family_id
+
+devlink_devname {
+	prefix	stringnoz["netdevsim"]
+	id	proc['0', 1, int8]
+	z	const[0, int8]
+} [packed]
+
+devlink_handle {
+	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_port_handle {
+	port_handle		devlink_handle
+# 0:3 is in sync with number of ports created by netdevsim_add()
+	DEVLINK_ATTR_PORT_INDEX	nlattr[DEVLINK_ATTR_PORT_INDEX, int32[0:3]]
+} [packed, align_4]
+
+type msghdr_nl_devlink[CMD] msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[CMD], devlink_handle]]
+sendmsg$DEVLINK_CMD_GET(fd sock_nl_generic, msg ptr[in, msghdr_nl_devlink[DEVLINK_CMD_GET]], f flags[send_flags])
+
+type msghdr_nl_devlink_reload msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_RELOAD], devlink_reload]]
+sendmsg$DEVLINK_CMD_RELOAD(fd sock_nl_generic, msg ptr[in, msghdr_nl_devlink_reload], f flags[send_flags])
+
+devlink_reload_arg [
+	DEVLINK_ATTR_NETNS_PID	nlattr[DEVLINK_ATTR_NETNS_PID, pid]
+	DEVLINK_ATTR_NETNS_FD	nlattr[DEVLINK_ATTR_NETNS_FD, fd_namespace]
+	DEVLINK_ATTR_NETNS_ID	nlattr[DEVLINK_ATTR_NETNS_ID, netns_id]
+] [varlen]
+
+devlink_reload {
+	handle	devlink_handle
+	arg	devlink_reload_arg
+} [packed, align_4]
+
+type msghdr_nl_devlink_port_get msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_GET], devlink_port_get]]
+sendmsg$DEVLINK_CMD_PORT_GET(fd sock_nl_generic, msg ptr[in, msghdr_nl_devlink_port_get], f flags[send_flags])
+
+devlink_port_get {
+	port_handle	devlink_port_handle
+} [packed, align_4]
+
+type msghdr_nl_devlink_port_set msghdr_netlink[netlink_msg_t[genl_devlink_family_id, genlmsghdr_t[DEVLINK_CMD_PORT_SET], devlink_port_set]]
+sendmsg$DEVLINK_CMD_PORT_SET(fd sock_nl_generic, msg ptr[in, msghdr_nl_devlink_port_set], f flags[send_flags])
+
+devlink_port_set {
+	port_handle		devlink_port_handle
+	DEVLINK_ATTR_PORT_TYPE	nlattr[DEVLINK_ATTR_PORT_TYPE, int16[DEVLINK_PORT_TYPE_NOTSET:DEVLINK_PORT_TYPE_IB]]
+} [packed, align_4]
diff --git a/sys/linux/socket_netlink_generic_devlink_386.const b/sys/linux/socket_netlink_generic_devlink_386.const
new file mode 100644
index 0000000..ba4abcb
--- /dev/null
+++ b/sys/linux/socket_netlink_generic_devlink_386.const
@@ -0,0 +1,15 @@
+# AUTOGENERATED FILE
+DEVLINK_ATTR_BUS_NAME = 1
+DEVLINK_ATTR_DEV_NAME = 2
+DEVLINK_ATTR_NETNS_FD = 137
+DEVLINK_ATTR_NETNS_ID = 139
+DEVLINK_ATTR_NETNS_PID = 138
+DEVLINK_ATTR_PORT_INDEX = 3
+DEVLINK_ATTR_PORT_TYPE = 4
+DEVLINK_CMD_GET = 1
+DEVLINK_CMD_PORT_GET = 5
+DEVLINK_CMD_PORT_SET = 6
+DEVLINK_CMD_RELOAD = 37
+DEVLINK_PORT_TYPE_IB = 3
+DEVLINK_PORT_TYPE_NOTSET = 0
+__NR_sendmsg = 370
diff --git a/sys/linux/socket_netlink_generic_devlink_amd64.const b/sys/linux/socket_netlink_generic_devlink_amd64.const
new file mode 100644
index 0000000..7af7b44
--- /dev/null
+++ b/sys/linux/socket_netlink_generic_devlink_amd64.const
@@ -0,0 +1,15 @@
+# AUTOGENERATED FILE
+DEVLINK_ATTR_BUS_NAME = 1
+DEVLINK_ATTR_DEV_NAME = 2
+DEVLINK_ATTR_NETNS_FD = 137
+DEVLINK_ATTR_NETNS_ID = 139
+DEVLINK_ATTR_NETNS_PID = 138
+DEVLINK_ATTR_PORT_INDEX = 3
+DEVLINK_ATTR_PORT_TYPE = 4
+DEVLINK_CMD_GET = 1
+DEVLINK_CMD_PORT_GET = 5
+DEVLINK_CMD_PORT_SET = 6
+DEVLINK_CMD_RELOAD = 37
+DEVLINK_PORT_TYPE_IB = 3
+DEVLINK_PORT_TYPE_NOTSET = 0
+__NR_sendmsg = 46
diff --git a/sys/linux/socket_netlink_generic_devlink_arm.const b/sys/linux/socket_netlink_generic_devlink_arm.const
new file mode 100644
index 0000000..be4de29
--- /dev/null
+++ b/sys/linux/socket_netlink_generic_devlink_arm.const
@@ -0,0 +1,15 @@
+# AUTOGENERATED FILE
+DEVLINK_ATTR_BUS_NAME = 1
+DEVLINK_ATTR_DEV_NAME = 2
+DEVLINK_ATTR_NETNS_FD = 137
+DEVLINK_ATTR_NETNS_ID = 139
+DEVLINK_ATTR_NETNS_PID = 138
+DEVLINK_ATTR_PORT_INDEX = 3
+DEVLINK_ATTR_PORT_TYPE = 4
+DEVLINK_CMD_GET = 1
+DEVLINK_CMD_PORT_GET = 5
+DEVLINK_CMD_PORT_SET = 6
+DEVLINK_CMD_RELOAD = 37
+DEVLINK_PORT_TYPE_IB = 3
+DEVLINK_PORT_TYPE_NOTSET = 0
+__NR_sendmsg = 296
diff --git a/sys/linux/socket_netlink_generic_devlink_arm64.const b/sys/linux/socket_netlink_generic_devlink_arm64.const
new file mode 100644
index 0000000..74882e7
--- /dev/null
+++ b/sys/linux/socket_netlink_generic_devlink_arm64.const
@@ -0,0 +1,15 @@
+# AUTOGENERATED FILE
+DEVLINK_ATTR_BUS_NAME = 1
+DEVLINK_ATTR_DEV_NAME = 2
+DEVLINK_ATTR_NETNS_FD = 137
+DEVLINK_ATTR_NETNS_ID = 139
+DEVLINK_ATTR_NETNS_PID = 138
+DEVLINK_ATTR_PORT_INDEX = 3
+DEVLINK_ATTR_PORT_TYPE = 4
+DEVLINK_CMD_GET = 1
+DEVLINK_CMD_PORT_GET = 5
+DEVLINK_CMD_PORT_SET = 6
+DEVLINK_CMD_RELOAD = 37
+DEVLINK_PORT_TYPE_IB = 3
+DEVLINK_PORT_TYPE_NOTSET = 0
+__NR_sendmsg = 211
diff --git a/sys/linux/socket_netlink_generic_devlink_ppc64le.const b/sys/linux/socket_netlink_generic_devlink_ppc64le.const
new file mode 100644
index 0000000..3bda452
--- /dev/null
+++ b/sys/linux/socket_netlink_generic_devlink_ppc64le.const
@@ -0,0 +1,15 @@
+# AUTOGENERATED FILE
+DEVLINK_ATTR_BUS_NAME = 1
+DEVLINK_ATTR_DEV_NAME = 2
+DEVLINK_ATTR_NETNS_FD = 137
+DEVLINK_ATTR_NETNS_ID = 139
+DEVLINK_ATTR_NETNS_PID = 138
+DEVLINK_ATTR_PORT_INDEX = 3
+DEVLINK_ATTR_PORT_TYPE = 4
+DEVLINK_CMD_GET = 1
+DEVLINK_CMD_PORT_GET = 5
+DEVLINK_CMD_PORT_SET = 6
+DEVLINK_CMD_RELOAD = 37
+DEVLINK_PORT_TYPE_IB = 3
+DEVLINK_PORT_TYPE_NOTSET = 0
+__NR_sendmsg = 341