From 85e7c1404ffb155db3fd40b21467402b308f2a7c Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 7 Jun 2018 12:53:34 +0200 Subject: sys/linux: add AF_XDP support --- sys/linux/gen/386.go | 132 +++++++++++++++++++++++++++++++++++- sys/linux/gen/amd64.go | 134 ++++++++++++++++++++++++++++++++++++- sys/linux/gen/arm.go | 132 +++++++++++++++++++++++++++++++++++- sys/linux/gen/arm64.go | 134 ++++++++++++++++++++++++++++++++++++- sys/linux/gen/ppc64le.go | 134 ++++++++++++++++++++++++++++++++++++- sys/linux/socket.txt | 2 + sys/linux/socket_xdp.txt | 62 +++++++++++++++++ sys/linux/socket_xdp_386.const | 27 ++++++++ sys/linux/socket_xdp_amd64.const | 27 ++++++++ sys/linux/socket_xdp_arm.const | 27 ++++++++ sys/linux/socket_xdp_arm64.const | 27 ++++++++ sys/linux/socket_xdp_ppc64le.const | 27 ++++++++ 12 files changed, 860 insertions(+), 5 deletions(-) create mode 100644 sys/linux/socket_xdp.txt create mode 100644 sys/linux/socket_xdp_386.const create mode 100644 sys/linux/socket_xdp_amd64.const create mode 100644 sys/linux/socket_xdp_arm.const create mode 100644 sys/linux/socket_xdp_arm64.const create mode 100644 sys/linux/socket_xdp_ppc64le.const (limited to 'sys/linux') diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 896e92db5..7168d860c 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -139,6 +139,7 @@ var resources_386 = []*ResourceDesc{ {Name: "sock_vsock", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "sock_vsock_dgram", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock", "sock_vsock_dgram"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "sock_vsock_stream", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock", "sock_vsock_stream"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, + {Name: "sock_xdp", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_xdp"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "tcp_seq_num", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"tcp_seq_num"}, Values: []uint64{1094861636}}, {Name: "time_nsec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 4}}}, Kind: []string{"time_nsec"}, Values: []uint64{0}}, {Name: "time_sec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 4}}}, Kind: []string{"time_sec"}, Values: []uint64{0}}, @@ -7801,6 +7802,15 @@ var structDescs_386 = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "ctrllen", TypeSize: 4}}, BitSize: 8, Buf: "ctrl"}, &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}}, }}}, + {Key: StructKey{Name: "msghdr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_xdp", TypeSize: 28}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_name", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_xdp"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_namelen", TypeSize: 4}}, Buf: "msg_name"}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_iov", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec[in, array[int8]]"}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_iovlen", TypeSize: 4}}, Buf: "msg_iov"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_control", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_controllen", TypeSize: 4}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "msg_flags", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}}, + }}}, {Key: StructKey{Name: "nd_policy"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nd_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[NDA_DST, int16], ipv4_addr]"}, FldName: "NDA_DST_IPV4"}, &StructType{Key: StructKey{Name: "nlattr_t[const[NDA_DST, int16], ipv6_addr]"}, FldName: "NDA_DST_IPV6"}, @@ -12610,6 +12620,7 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_rc", Dir: 2}, FldName: "rc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc", Dir: 2}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_vm", Dir: 2}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet", Dir: 2}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_generic", Dir: 2}, FldName: "generic"}, }}}, @@ -13109,6 +13120,7 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_nfc"}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc_llcp"}, FldName: "nfc_llcp"}, &StructType{Key: StructKey{Name: "sockaddr_vm"}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp"}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet"}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_storage_generic"}, FldName: "generic"}, }}}, @@ -13136,6 +13148,7 @@ var structDescs_386 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_nfc", Dir: 1}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc_llcp", Dir: 1}, FldName: "nfc_llcp"}, &StructType{Key: StructKey{Name: "sockaddr_vm", Dir: 1}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet", Dir: 1}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_storage_generic", Dir: 1}, FldName: "generic"}, }}}, @@ -13224,6 +13237,27 @@ var structDescs_386 = []*KeyedStruct{ &UnionType{Key: StructKey{Name: "vmaddr_cid", Dir: 2}, FldName: "svm_cid"}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "svm_zero", TypeSize: 4, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "sockaddr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, IsOptional: true}}, + }}}, + {Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 1}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 1, IsOptional: true}}, + }}}, + {Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 2}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 2, IsOptional: true}}, + }}}, {Key: StructKey{Name: "stab_policy"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "stab_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_STAB_BASE, int16], tc_sizespec]"}, FldName: "TCA_STAB_BASE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_STAB_DATA, int16], array[int16, 0:10]]"}, FldName: "TCA_STAB_DATA"}, @@ -15091,6 +15125,12 @@ var structDescs_386 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", IsVarlen: true}, Kind: 2, SubKind: "xattr_prefix", Values: []string{"system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", IsVarlen: true}, Kind: 2}, }}}, + {Key: StructKey{Name: "xdp_umem_reg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xdp_umem_reg", TypeSize: 24}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "addr", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_sizes", FldName: "len", TypeSize: 8}}, Vals: []uint64{4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_chunk_sizes", FldName: "chunk_size", TypeSize: 4}}, Vals: []uint64{2048, 4096}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "headroom", TypeSize: 4}}}, + }}}, {Key: StructKey{Name: "xfrm_address"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_address", TypeSize: 16}, Fields: []Type{ &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "in"}, &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "in6"}, @@ -17480,6 +17520,11 @@ var syscalls_386 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_vm"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Buf: "addr"}, }}, + {NR: 361, Name: "bind$xdp", CallName: "bind", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_xdp"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "addr"}, + }}, {NR: 357, Name: "bpf$BPF_GET_MAP_INFO", CallName: "bpf", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 15}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "bpf_get_map_info_arg"}}}, @@ -18391,6 +18436,20 @@ var syscalls_386 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 4}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}}, }}, + {NR: 365, Name: "getsockopt$XDP_MMAP_OFFSETS", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 1}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 96, ArgDir: 1}, Kind: 1, RangeBegin: 96, RangeEnd: 96}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "len", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", TypeSize: 4}}, BitSize: 8, Buf: "val"}}, + }}, + {NR: 365, Name: "getsockopt$XDP_STATISTICS", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 7}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 24, ArgDir: 1}, Kind: 1, RangeBegin: 24, RangeEnd: 24}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "len", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", TypeSize: 4}}, BitSize: 8, Buf: "val"}}, + }}, {NR: 365, Name: "getsockopt$ax25_buf", CallName: "getsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 257}, @@ -23662,6 +23721,14 @@ var syscalls_386 = []*Syscall{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ret", TypeSize: 8, ArgDir: 1}}}, + {NR: 192, Name: "mmap$xdp", CallName: "mmap", Args: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_mmap_offsets", FldName: "offset", TypeSize: 4}}, Vals: []uint64{0, 2147483648, 4294967296, 6442450944}}, + }}, {NR: 123, Name: "modify_ldt$read", CallName: "modify_ldt", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "func", TypeSize: 4}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}}, @@ -24966,6 +25033,11 @@ var syscalls_386 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_un"}}}, &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}}, }}, + {NR: 370, Name: "sendmsg$xdp", CallName: "sendmsg", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_xdp"}}}, + &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}}, + }}, {NR: 369, Name: "sendto", CallName: "sendto", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{IsVarlen: true}}}, @@ -25357,6 +25429,41 @@ var syscalls_386 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "timeval"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "val"}, }}, + {NR: 366, Name: "setsockopt$XDP_RX_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 2}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 366, Name: "setsockopt$XDP_TX_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 3}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 366, Name: "setsockopt$XDP_UMEM_COMPLETION_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 6}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 366, Name: "setsockopt$XDP_UMEM_FILL_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 5}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 366, Name: "setsockopt$XDP_UMEM_REG", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 4}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xdp_umem_reg"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "val"}, + }}, {NR: 366, Name: "setsockopt$ax25_buf", CallName: "setsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 257}, @@ -27031,6 +27138,11 @@ var syscalls_386 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_vsock_stream", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 359, Name: "socket$xdp", CallName: "socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 44}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 360, Name: "socketpair", CallName: "socketpair", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_domain", FldName: "domain", TypeSize: 4}}, Vals: []uint64{1, 2, 10, 4, 16, 9, 3, 8, 5, 17}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 10, 2048, 524288}}, @@ -27968,6 +28080,7 @@ var consts_386 = []ConstValue{ {Name: "AF_UNSPEC"}, {Name: "AF_VSOCK", Value: 40}, {Name: "AF_X25", Value: 9}, + {Name: "AF_XDP", Value: 44}, {Name: "AGP_USER_CACHED_MEMORY", Value: 65537}, {Name: "AGP_USER_MEMORY", Value: 65536}, {Name: "AH_ESP_V4_FLOW", Value: 4}, @@ -31695,6 +31808,7 @@ var consts_386 = []ConstValue{ {Name: "SOL_TIPC", Value: 271}, {Name: "SOL_UDP", Value: 17}, {Name: "SOL_UDPLITE", Value: 136}, + {Name: "SOL_XDP", Value: 283}, {Name: "SOPASS_MAX", Value: 6}, {Name: "SO_ACCEPTCONN", Value: 30}, {Name: "SO_ATTACH_BPF", Value: 50}, @@ -33134,6 +33248,22 @@ var consts_386 = []ConstValue{ {Name: "X25_RR", Value: 1}, {Name: "XATTR_CREATE", Value: 1}, {Name: "XATTR_REPLACE", Value: 2}, + {Name: "XDP_COPY", Value: 2}, + {Name: "XDP_MMAP_OFFSETS", Value: 1}, + {Name: "XDP_MMAP_OFFSETS_SIZE", Value: 96}, + {Name: "XDP_PGOFF_RX_RING"}, + {Name: "XDP_PGOFF_TX_RING", Value: 2147483648}, + {Name: "XDP_RX_RING", Value: 2}, + {Name: "XDP_SHARED_UMEM", Value: 1}, + {Name: "XDP_STATISTICS", Value: 7}, + {Name: "XDP_STATISTICS_SIZE", Value: 24}, + {Name: "XDP_TX_RING", Value: 3}, + {Name: "XDP_UMEM_COMPLETION_RING", Value: 6}, + {Name: "XDP_UMEM_FILL_RING", Value: 5}, + {Name: "XDP_UMEM_PGOFF_COMPLETION_RING", Value: 6442450944}, + {Name: "XDP_UMEM_PGOFF_FILL_RING", Value: 4294967296}, + {Name: "XDP_UMEM_REG", Value: 4}, + {Name: "XDP_ZEROCOPY", Value: 4}, {Name: "XFRMA_ADDRESS_FILTER", Value: 26}, {Name: "XFRMA_ALG_AEAD", Value: 18}, {Name: "XFRMA_ALG_AUTH", Value: 1}, @@ -33729,4 +33859,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "6cda41f0f4f262a9c712b30c0ee8f23d58a79977" +const revision_386 = "300bf5ff303811c4e4b2ec0232ab52e0a1b0780c" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 94dd2eee7..ea811bbf8 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -144,6 +144,7 @@ var resources_amd64 = []*ResourceDesc{ {Name: "sock_vsock", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "sock_vsock_dgram", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock", "sock_vsock_dgram"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "sock_vsock_stream", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock", "sock_vsock_stream"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, + {Name: "sock_xdp", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_xdp"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "tcp_seq_num", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"tcp_seq_num"}, Values: []uint64{1094861636}}, {Name: "te_session_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"te_session_id"}, Values: []uint64{0}}, {Name: "time_nsec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8}}}, Kind: []string{"time_nsec"}, Values: []uint64{0}}, @@ -8000,6 +8001,17 @@ var structDescs_amd64 = []*KeyedStruct{ &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}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, }}}, + {Key: StructKey{Name: "msghdr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_xdp", TypeSize: 56}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_name", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_xdp"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_namelen", TypeSize: 4}}, Buf: "msg_name"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_iov", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec[in, array[int8]]"}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_iovlen", TypeSize: 8}}, Buf: "msg_iov"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_control", TypeSize: 8}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_controllen", TypeSize: 8}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "msg_flags", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }}}, {Key: StructKey{Name: "msqid_ds"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msqid_ds", TypeSize: 120}, Fields: []Type{ &StructType{Key: StructKey{Name: "ipc_perm"}, FldName: "perm"}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "stime", TypeSize: 8}}}, @@ -12874,6 +12886,7 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_rc", Dir: 2}, FldName: "rc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc", Dir: 2}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_vm", Dir: 2}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet", Dir: 2}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_generic", Dir: 2}, FldName: "generic"}, }}}, @@ -13373,6 +13386,7 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_nfc"}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc_llcp"}, FldName: "nfc_llcp"}, &StructType{Key: StructKey{Name: "sockaddr_vm"}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp"}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet"}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_storage_generic"}, FldName: "generic"}, }}}, @@ -13400,6 +13414,7 @@ var structDescs_amd64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_nfc", Dir: 1}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc_llcp", Dir: 1}, FldName: "nfc_llcp"}, &StructType{Key: StructKey{Name: "sockaddr_vm", Dir: 1}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet", Dir: 1}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_storage_generic", Dir: 1}, FldName: "generic"}, }}}, @@ -13490,6 +13505,27 @@ var structDescs_amd64 = []*KeyedStruct{ &UnionType{Key: StructKey{Name: "vmaddr_cid", Dir: 2}, FldName: "svm_cid"}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "svm_zero", TypeSize: 4, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "sockaddr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, IsOptional: true}}, + }}}, + {Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 1}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 1, IsOptional: true}}, + }}}, + {Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 2}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 2, IsOptional: true}}, + }}}, {Key: StructKey{Name: "stab_policy"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "stab_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_STAB_BASE, int16], tc_sizespec]"}, FldName: "TCA_STAB_BASE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_STAB_DATA, int16], array[int16, 0:10]]"}, FldName: "TCA_STAB_DATA"}, @@ -15413,6 +15449,12 @@ var structDescs_amd64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", IsVarlen: true}, Kind: 2, SubKind: "xattr_prefix", Values: []string{"system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", IsVarlen: true}, Kind: 2}, }}}, + {Key: StructKey{Name: "xdp_umem_reg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xdp_umem_reg", TypeSize: 24}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "addr", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_sizes", FldName: "len", TypeSize: 8}}, Vals: []uint64{4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_chunk_sizes", FldName: "chunk_size", TypeSize: 4}}, Vals: []uint64{2048, 4096}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "headroom", TypeSize: 4}}}, + }}}, {Key: StructKey{Name: "xfrm_address"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_address", TypeSize: 16}, Fields: []Type{ &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "in"}, &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "in6"}, @@ -17919,6 +17961,11 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_vm"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"}, }}, + {NR: 49, Name: "bind$xdp", CallName: "bind", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_xdp"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "addr"}, + }}, {NR: 321, Name: "bpf$BPF_GET_MAP_INFO", CallName: "bpf", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 15}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_get_map_info_arg"}}}, @@ -18830,6 +18877,20 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}}, }}, + {NR: 55, Name: "getsockopt$XDP_MMAP_OFFSETS", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 1}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 96, ArgDir: 1}, Kind: 1, RangeBegin: 96, RangeEnd: 96}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "len", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", TypeSize: 4}}, BitSize: 8, Buf: "val"}}, + }}, + {NR: 55, Name: "getsockopt$XDP_STATISTICS", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 7}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 24, ArgDir: 1}, Kind: 1, RangeBegin: 24, RangeEnd: 24}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "len", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", TypeSize: 4}}, BitSize: 8, Buf: "val"}}, + }}, {NR: 55, Name: "getsockopt$ax25_buf", CallName: "getsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 257}, @@ -24121,6 +24182,14 @@ var syscalls_amd64 = []*Syscall{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ret", TypeSize: 8, ArgDir: 1}}}, + {NR: 9, Name: "mmap$xdp", CallName: "mmap", Args: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_mmap_offsets", FldName: "offset", TypeSize: 8}}, Vals: []uint64{0, 2147483648, 4294967296, 6442450944}}, + }}, {NR: 154, Name: "modify_ldt$read", CallName: "modify_ldt", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "func", TypeSize: 8}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}}, @@ -25567,6 +25636,11 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_un"}}}, &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}}, }}, + {NR: 46, Name: "sendmsg$xdp", CallName: "sendmsg", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_xdp"}}}, + &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}}, + }}, {NR: 44, Name: "sendto", CallName: "sendto", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{IsVarlen: true}}}, @@ -25958,6 +26032,41 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "timeval"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "val"}, }}, + {NR: 54, Name: "setsockopt$XDP_RX_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 2}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 54, Name: "setsockopt$XDP_TX_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 3}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 54, Name: "setsockopt$XDP_UMEM_COMPLETION_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 6}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 54, Name: "setsockopt$XDP_UMEM_FILL_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 5}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 54, Name: "setsockopt$XDP_UMEM_REG", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 4}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xdp_umem_reg"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, {NR: 54, Name: "setsockopt$ax25_buf", CallName: "setsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 257}, @@ -27689,6 +27798,11 @@ var syscalls_amd64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_vsock_stream", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 41, Name: "socket$xdp", CallName: "socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 44}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 53, Name: "socketpair", CallName: "socketpair", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_domain", FldName: "domain", TypeSize: 8}}, Vals: []uint64{1, 2, 10, 4, 16, 9, 3, 8, 5, 17}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 10, 2048, 524288}}, @@ -28626,6 +28740,7 @@ var consts_amd64 = []ConstValue{ {Name: "AF_UNSPEC"}, {Name: "AF_VSOCK", Value: 40}, {Name: "AF_X25", Value: 9}, + {Name: "AF_XDP", Value: 44}, {Name: "AGP_USER_CACHED_MEMORY", Value: 65537}, {Name: "AGP_USER_MEMORY", Value: 65536}, {Name: "AH_ESP_V4_FLOW", Value: 4}, @@ -32353,6 +32468,7 @@ var consts_amd64 = []ConstValue{ {Name: "SOL_TIPC", Value: 271}, {Name: "SOL_UDP", Value: 17}, {Name: "SOL_UDPLITE", Value: 136}, + {Name: "SOL_XDP", Value: 283}, {Name: "SOPASS_MAX", Value: 6}, {Name: "SO_ACCEPTCONN", Value: 30}, {Name: "SO_ATTACH_BPF", Value: 50}, @@ -33806,6 +33922,22 @@ var consts_amd64 = []ConstValue{ {Name: "X25_RR", Value: 1}, {Name: "XATTR_CREATE", Value: 1}, {Name: "XATTR_REPLACE", Value: 2}, + {Name: "XDP_COPY", Value: 2}, + {Name: "XDP_MMAP_OFFSETS", Value: 1}, + {Name: "XDP_MMAP_OFFSETS_SIZE", Value: 96}, + {Name: "XDP_PGOFF_RX_RING"}, + {Name: "XDP_PGOFF_TX_RING", Value: 2147483648}, + {Name: "XDP_RX_RING", Value: 2}, + {Name: "XDP_SHARED_UMEM", Value: 1}, + {Name: "XDP_STATISTICS", Value: 7}, + {Name: "XDP_STATISTICS_SIZE", Value: 24}, + {Name: "XDP_TX_RING", Value: 3}, + {Name: "XDP_UMEM_COMPLETION_RING", Value: 6}, + {Name: "XDP_UMEM_FILL_RING", Value: 5}, + {Name: "XDP_UMEM_PGOFF_COMPLETION_RING", Value: 6442450944}, + {Name: "XDP_UMEM_PGOFF_FILL_RING", Value: 4294967296}, + {Name: "XDP_UMEM_REG", Value: 4}, + {Name: "XDP_ZEROCOPY", Value: 4}, {Name: "XFRMA_ADDRESS_FILTER", Value: 26}, {Name: "XFRMA_ALG_AEAD", Value: 18}, {Name: "XFRMA_ALG_AUTH", Value: 1}, @@ -34412,4 +34544,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "be16abb889dde6de6d526a36bc8afe0432af2315" +const revision_amd64 = "60646f7095a1697774552d90dbc88fdd58f01a3e" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 92cc1d14b..a82ff7d5b 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -144,6 +144,7 @@ var resources_arm = []*ResourceDesc{ {Name: "sock_vsock", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "sock_vsock_dgram", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock", "sock_vsock_dgram"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "sock_vsock_stream", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock", "sock_vsock_stream"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, + {Name: "sock_xdp", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_xdp"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "tcp_seq_num", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"tcp_seq_num"}, Values: []uint64{1094861636}}, {Name: "time_nsec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 4}}}, Kind: []string{"time_nsec"}, Values: []uint64{0}}, {Name: "time_sec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 4}}}, Kind: []string{"time_sec"}, Values: []uint64{0}}, @@ -7631,6 +7632,15 @@ var structDescs_arm = []*KeyedStruct{ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "ctrllen", TypeSize: 4}}, BitSize: 8, Buf: "ctrl"}, &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}}, }}}, + {Key: StructKey{Name: "msghdr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_xdp", TypeSize: 28}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_name", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_xdp"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_namelen", TypeSize: 4}}, Buf: "msg_name"}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_iov", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec[in, array[int8]]"}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_iovlen", TypeSize: 4}}, Buf: "msg_iov"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_control", TypeSize: 4}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_controllen", TypeSize: 4}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "msg_flags", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}}, + }}}, {Key: StructKey{Name: "msqid_ds"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msqid_ds", TypeSize: 76}, Fields: []Type{ &StructType{Key: StructKey{Name: "ipc_perm"}, FldName: "perm"}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "stime", TypeSize: 4}}}, @@ -12479,6 +12489,7 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_rc", Dir: 2}, FldName: "rc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc", Dir: 2}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_vm", Dir: 2}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet", Dir: 2}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_generic", Dir: 2}, FldName: "generic"}, }}}, @@ -12978,6 +12989,7 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_nfc"}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc_llcp"}, FldName: "nfc_llcp"}, &StructType{Key: StructKey{Name: "sockaddr_vm"}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp"}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet"}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_storage_generic"}, FldName: "generic"}, }}}, @@ -13005,6 +13017,7 @@ var structDescs_arm = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_nfc", Dir: 1}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc_llcp", Dir: 1}, FldName: "nfc_llcp"}, &StructType{Key: StructKey{Name: "sockaddr_vm", Dir: 1}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet", Dir: 1}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_storage_generic", Dir: 1}, FldName: "generic"}, }}}, @@ -13093,6 +13106,27 @@ var structDescs_arm = []*KeyedStruct{ &UnionType{Key: StructKey{Name: "vmaddr_cid", Dir: 2}, FldName: "svm_cid"}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "svm_zero", TypeSize: 4, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "sockaddr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, IsOptional: true}}, + }}}, + {Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 1}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 1, IsOptional: true}}, + }}}, + {Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 2}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 2, IsOptional: true}}, + }}}, {Key: StructKey{Name: "stab_policy"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "stab_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_STAB_BASE, int16], tc_sizespec]"}, FldName: "TCA_STAB_BASE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_STAB_DATA, int16], array[int16, 0:10]]"}, FldName: "TCA_STAB_DATA"}, @@ -14944,6 +14978,12 @@ var structDescs_arm = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", IsVarlen: true}, Kind: 2, SubKind: "xattr_prefix", Values: []string{"system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", IsVarlen: true}, Kind: 2}, }}}, + {Key: StructKey{Name: "xdp_umem_reg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xdp_umem_reg", TypeSize: 24}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "addr", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_sizes", FldName: "len", TypeSize: 8}}, Vals: []uint64{4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_chunk_sizes", FldName: "chunk_size", TypeSize: 4}}, Vals: []uint64{2048, 4096}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "headroom", TypeSize: 4}}}, + }}}, {Key: StructKey{Name: "xfrm_address"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_address", TypeSize: 16}, Fields: []Type{ &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "in"}, &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "in6"}, @@ -17376,6 +17416,11 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_vm"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 4}}, Buf: "addr"}, }}, + {NR: 282, Name: "bind$xdp", CallName: "bind", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sockaddr_xdp"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "addr"}, + }}, {NR: 386, Name: "bpf$BPF_GET_MAP_INFO", CallName: "bpf", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 15}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "bpf_get_map_info_arg"}}}, @@ -18274,6 +18319,20 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 4}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}}, }}, + {NR: 295, Name: "getsockopt$XDP_MMAP_OFFSETS", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 1}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 96, ArgDir: 1}, Kind: 1, RangeBegin: 96, RangeEnd: 96}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "len", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", TypeSize: 4}}, BitSize: 8, Buf: "val"}}, + }}, + {NR: 295, Name: "getsockopt$XDP_STATISTICS", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 7}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 24, ArgDir: 1}, Kind: 1, RangeBegin: 24, RangeEnd: 24}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "len", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", TypeSize: 4}}, BitSize: 8, Buf: "val"}}, + }}, {NR: 295, Name: "getsockopt$ax25_buf", CallName: "getsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 257}, @@ -23416,6 +23475,14 @@ var syscalls_arm = []*Syscall{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ret", TypeSize: 8, ArgDir: 1}}}, + {NR: 192, Name: "mmap$xdp", CallName: "mmap", Args: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_mmap_offsets", FldName: "offset", TypeSize: 4}}, Vals: []uint64{0, 2147483648, 4294967296, 6442450944}}, + }}, {NR: 21, Name: "mount", CallName: "mount", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "src", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dst", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, @@ -24841,6 +24908,11 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_un"}}}, &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}}, }}, + {NR: 296, Name: "sendmsg$xdp", CallName: "sendmsg", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "msghdr_xdp"}}}, + &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}}, + }}, {NR: 290, Name: "sendto", CallName: "sendto", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{IsVarlen: true}}}, @@ -25229,6 +25301,41 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "timeval"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "val"}, }}, + {NR: 294, Name: "setsockopt$XDP_RX_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 2}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 294, Name: "setsockopt$XDP_TX_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 3}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 294, Name: "setsockopt$XDP_UMEM_COMPLETION_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 6}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 294, Name: "setsockopt$XDP_UMEM_FILL_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 5}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 294, Name: "setsockopt$XDP_UMEM_REG", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 4}}, Val: 4}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "xdp_umem_reg"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "val"}, + }}, {NR: 294, Name: "setsockopt$ax25_buf", CallName: "setsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 4}}, Val: 257}, @@ -26960,6 +27067,11 @@ var syscalls_arm = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_vsock_stream", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 281, Name: "socket$xdp", CallName: "socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 4}}, Val: 44}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 4}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 288, Name: "socketpair", CallName: "socketpair", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_domain", FldName: "domain", TypeSize: 4}}, Vals: []uint64{1, 2, 10, 4, 16, 9, 3, 8, 5, 17}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_type", FldName: "type", TypeSize: 4}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 10, 2048, 524288}}, @@ -27884,6 +27996,7 @@ var consts_arm = []ConstValue{ {Name: "AF_UNSPEC"}, {Name: "AF_VSOCK", Value: 40}, {Name: "AF_X25", Value: 9}, + {Name: "AF_XDP", Value: 44}, {Name: "AGP_USER_CACHED_MEMORY", Value: 65537}, {Name: "AGP_USER_MEMORY", Value: 65536}, {Name: "AH_ESP_V4_FLOW", Value: 4}, @@ -31563,6 +31676,7 @@ var consts_arm = []ConstValue{ {Name: "SOL_TIPC", Value: 271}, {Name: "SOL_UDP", Value: 17}, {Name: "SOL_UDPLITE", Value: 136}, + {Name: "SOL_XDP", Value: 283}, {Name: "SOPASS_MAX", Value: 6}, {Name: "SO_ACCEPTCONN", Value: 30}, {Name: "SO_ATTACH_BPF", Value: 50}, @@ -33002,6 +33116,22 @@ var consts_arm = []ConstValue{ {Name: "X25_RR", Value: 1}, {Name: "XATTR_CREATE", Value: 1}, {Name: "XATTR_REPLACE", Value: 2}, + {Name: "XDP_COPY", Value: 2}, + {Name: "XDP_MMAP_OFFSETS", Value: 1}, + {Name: "XDP_MMAP_OFFSETS_SIZE", Value: 96}, + {Name: "XDP_PGOFF_RX_RING"}, + {Name: "XDP_PGOFF_TX_RING", Value: 2147483648}, + {Name: "XDP_RX_RING", Value: 2}, + {Name: "XDP_SHARED_UMEM", Value: 1}, + {Name: "XDP_STATISTICS", Value: 7}, + {Name: "XDP_STATISTICS_SIZE", Value: 24}, + {Name: "XDP_TX_RING", Value: 3}, + {Name: "XDP_UMEM_COMPLETION_RING", Value: 6}, + {Name: "XDP_UMEM_FILL_RING", Value: 5}, + {Name: "XDP_UMEM_PGOFF_COMPLETION_RING", Value: 6442450944}, + {Name: "XDP_UMEM_PGOFF_FILL_RING", Value: 4294967296}, + {Name: "XDP_UMEM_REG", Value: 4}, + {Name: "XDP_ZEROCOPY", Value: 4}, {Name: "XFRMA_ADDRESS_FILTER", Value: 26}, {Name: "XFRMA_ALG_AEAD", Value: 18}, {Name: "XFRMA_ALG_AUTH", Value: 1}, @@ -33596,4 +33726,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "52a014c5715eeb48a861e4bfee00acd5fb810574" +const revision_arm = "b0e47dbe0e191152532614009887357d446f5d00" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index 031112e98..6f0899a33 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -144,6 +144,7 @@ var resources_arm64 = []*ResourceDesc{ {Name: "sock_vsock", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "sock_vsock_dgram", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock", "sock_vsock_dgram"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "sock_vsock_stream", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock", "sock_vsock_stream"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, + {Name: "sock_xdp", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_xdp"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "tcp_seq_num", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"tcp_seq_num"}, Values: []uint64{1094861636}}, {Name: "te_session_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"te_session_id"}, Values: []uint64{0}}, {Name: "time_nsec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8}}}, Kind: []string{"time_nsec"}, Values: []uint64{0}}, @@ -7805,6 +7806,17 @@ var structDescs_arm64 = []*KeyedStruct{ &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}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, }}}, + {Key: StructKey{Name: "msghdr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_xdp", TypeSize: 56}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_name", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_xdp"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_namelen", TypeSize: 4}}, Buf: "msg_name"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_iov", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec[in, array[int8]]"}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_iovlen", TypeSize: 8}}, Buf: "msg_iov"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_control", TypeSize: 8}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_controllen", TypeSize: 8}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "msg_flags", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }}}, {Key: StructKey{Name: "msqid_ds"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msqid_ds", TypeSize: 120}, Fields: []Type{ &StructType{Key: StructKey{Name: "ipc_perm"}, FldName: "perm"}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "stime", TypeSize: 8}}}, @@ -12679,6 +12691,7 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_rc", Dir: 2}, FldName: "rc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc", Dir: 2}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_vm", Dir: 2}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet", Dir: 2}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_generic", Dir: 2}, FldName: "generic"}, }}}, @@ -13178,6 +13191,7 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_nfc"}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc_llcp"}, FldName: "nfc_llcp"}, &StructType{Key: StructKey{Name: "sockaddr_vm"}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp"}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet"}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_storage_generic"}, FldName: "generic"}, }}}, @@ -13205,6 +13219,7 @@ var structDescs_arm64 = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_nfc", Dir: 1}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc_llcp", Dir: 1}, FldName: "nfc_llcp"}, &StructType{Key: StructKey{Name: "sockaddr_vm", Dir: 1}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet", Dir: 1}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_storage_generic", Dir: 1}, FldName: "generic"}, }}}, @@ -13295,6 +13310,27 @@ var structDescs_arm64 = []*KeyedStruct{ &UnionType{Key: StructKey{Name: "vmaddr_cid", Dir: 2}, FldName: "svm_cid"}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "svm_zero", TypeSize: 4, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "sockaddr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, IsOptional: true}}, + }}}, + {Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 1}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 1, IsOptional: true}}, + }}}, + {Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 2}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 2, IsOptional: true}}, + }}}, {Key: StructKey{Name: "stab_policy"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "stab_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_STAB_BASE, int16], tc_sizespec]"}, FldName: "TCA_STAB_BASE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_STAB_DATA, int16], array[int16, 0:10]]"}, FldName: "TCA_STAB_DATA"}, @@ -15193,6 +15229,12 @@ var structDescs_arm64 = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", IsVarlen: true}, Kind: 2, SubKind: "xattr_prefix", Values: []string{"system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", IsVarlen: true}, Kind: 2}, }}}, + {Key: StructKey{Name: "xdp_umem_reg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xdp_umem_reg", TypeSize: 24}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "addr", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_sizes", FldName: "len", TypeSize: 8}}, Vals: []uint64{4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_chunk_sizes", FldName: "chunk_size", TypeSize: 4}}, Vals: []uint64{2048, 4096}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "headroom", TypeSize: 4}}}, + }}}, {Key: StructKey{Name: "xfrm_address"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_address", TypeSize: 16}, Fields: []Type{ &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "in"}, &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "in6"}, @@ -17692,6 +17734,11 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_vm"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"}, }}, + {NR: 200, Name: "bind$xdp", CallName: "bind", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_xdp"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "addr"}, + }}, {NR: 280, Name: "bpf$BPF_GET_MAP_INFO", CallName: "bpf", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 15}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_get_map_info_arg"}}}, @@ -18558,6 +18605,20 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}}, }}, + {NR: 209, Name: "getsockopt$XDP_MMAP_OFFSETS", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 1}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 96, ArgDir: 1}, Kind: 1, RangeBegin: 96, RangeEnd: 96}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "len", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", TypeSize: 4}}, BitSize: 8, Buf: "val"}}, + }}, + {NR: 209, Name: "getsockopt$XDP_STATISTICS", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 7}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 24, ArgDir: 1}, Kind: 1, RangeBegin: 24, RangeEnd: 24}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "len", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", TypeSize: 4}}, BitSize: 8, Buf: "val"}}, + }}, {NR: 209, Name: "getsockopt$ax25_buf", CallName: "getsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 257}, @@ -23698,6 +23759,14 @@ var syscalls_arm64 = []*Syscall{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ret", TypeSize: 8, ArgDir: 1}}}, + {NR: 222, Name: "mmap$xdp", CallName: "mmap", Args: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_mmap_offsets", FldName: "offset", TypeSize: 8}}, Vals: []uint64{0, 2147483648, 4294967296, 6442450944}}, + }}, {NR: 40, Name: "mount", CallName: "mount", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "src", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "dst", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename", IsVarlen: true}, Kind: 3}}, @@ -25086,6 +25155,11 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_un"}}}, &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}}, }}, + {NR: 211, Name: "sendmsg$xdp", CallName: "sendmsg", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_xdp"}}}, + &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}}, + }}, {NR: 206, Name: "sendto", CallName: "sendto", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{IsVarlen: true}}}, @@ -25474,6 +25548,41 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "timeval"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "val"}, }}, + {NR: 208, Name: "setsockopt$XDP_RX_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 2}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 208, Name: "setsockopt$XDP_TX_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 3}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 208, Name: "setsockopt$XDP_UMEM_COMPLETION_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 6}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 208, Name: "setsockopt$XDP_UMEM_FILL_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 5}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 208, Name: "setsockopt$XDP_UMEM_REG", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 4}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xdp_umem_reg"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, {NR: 208, Name: "setsockopt$ax25_buf", CallName: "setsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 257}, @@ -27200,6 +27309,11 @@ var syscalls_arm64 = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_vsock_stream", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 198, Name: "socket$xdp", CallName: "socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 44}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 199, Name: "socketpair", CallName: "socketpair", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_domain", FldName: "domain", TypeSize: 8}}, Vals: []uint64{1, 2, 10, 4, 16, 9, 3, 8, 5, 17}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 10, 2048, 524288}}, @@ -28096,6 +28210,7 @@ var consts_arm64 = []ConstValue{ {Name: "AF_UNSPEC"}, {Name: "AF_VSOCK", Value: 40}, {Name: "AF_X25", Value: 9}, + {Name: "AF_XDP", Value: 44}, {Name: "AGP_USER_CACHED_MEMORY", Value: 65537}, {Name: "AGP_USER_MEMORY", Value: 65536}, {Name: "AH_ESP_V4_FLOW", Value: 4}, @@ -31780,6 +31895,7 @@ var consts_arm64 = []ConstValue{ {Name: "SOL_TIPC", Value: 271}, {Name: "SOL_UDP", Value: 17}, {Name: "SOL_UDPLITE", Value: 136}, + {Name: "SOL_XDP", Value: 283}, {Name: "SOPASS_MAX", Value: 6}, {Name: "SO_ACCEPTCONN", Value: 30}, {Name: "SO_ATTACH_BPF", Value: 50}, @@ -33233,6 +33349,22 @@ var consts_arm64 = []ConstValue{ {Name: "X25_RR", Value: 1}, {Name: "XATTR_CREATE", Value: 1}, {Name: "XATTR_REPLACE", Value: 2}, + {Name: "XDP_COPY", Value: 2}, + {Name: "XDP_MMAP_OFFSETS", Value: 1}, + {Name: "XDP_MMAP_OFFSETS_SIZE", Value: 96}, + {Name: "XDP_PGOFF_RX_RING"}, + {Name: "XDP_PGOFF_TX_RING", Value: 2147483648}, + {Name: "XDP_RX_RING", Value: 2}, + {Name: "XDP_SHARED_UMEM", Value: 1}, + {Name: "XDP_STATISTICS", Value: 7}, + {Name: "XDP_STATISTICS_SIZE", Value: 24}, + {Name: "XDP_TX_RING", Value: 3}, + {Name: "XDP_UMEM_COMPLETION_RING", Value: 6}, + {Name: "XDP_UMEM_FILL_RING", Value: 5}, + {Name: "XDP_UMEM_PGOFF_COMPLETION_RING", Value: 6442450944}, + {Name: "XDP_UMEM_PGOFF_FILL_RING", Value: 4294967296}, + {Name: "XDP_UMEM_REG", Value: 4}, + {Name: "XDP_ZEROCOPY", Value: 4}, {Name: "XFRMA_ADDRESS_FILTER", Value: 26}, {Name: "XFRMA_ALG_AEAD", Value: 18}, {Name: "XFRMA_ALG_AUTH", Value: 1}, @@ -33798,4 +33930,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "e8646a3fc1b9f03d8bb0aeb09a612bfb72188041" +const revision_arm64 = "64d8f466e406291f0ce4eb228754cd7a2cc6104d" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 6edff62c3..3a319ff92 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -137,6 +137,7 @@ var resources_ppc64le = []*ResourceDesc{ {Name: "sock_vsock", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "sock_vsock_dgram", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock", "sock_vsock_dgram"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "sock_vsock_stream", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_vsock", "sock_vsock_stream"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, + {Name: "sock_xdp", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "sock", "sock_xdp"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "tcp_seq_num", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"tcp_seq_num"}, Values: []uint64{1094861636}}, {Name: "time_nsec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8}}}, Kind: []string{"time_nsec"}, Values: []uint64{0}}, {Name: "time_sec", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8}}}, Kind: []string{"time_sec"}, Values: []uint64{0}}, @@ -7770,6 +7771,17 @@ var structDescs_ppc64le = []*KeyedStruct{ &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}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, }}}, + {Key: StructKey{Name: "msghdr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "msghdr_xdp", TypeSize: 56}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_name", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "sockaddr_xdp"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_namelen", TypeSize: 4}}, Buf: "msg_name"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg_iov", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec[in, array[int8]]"}}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "msg_iovlen", TypeSize: 8}}, Buf: "msg_iov"}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_control", TypeSize: 8}}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "msg_controllen", TypeSize: 8}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "send_flags", FldName: "msg_flags", TypeSize: 4}}, Vals: []uint64{2048, 4, 64, 128, 32768, 16384, 1, 16, 262144, 536870912, 67108864}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, + }}}, {Key: StructKey{Name: "nd_policy"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "nd_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[NDA_DST, int16], ipv4_addr]"}, FldName: "NDA_DST_IPV4"}, &StructType{Key: StructKey{Name: "nlattr_t[const[NDA_DST, int16], ipv6_addr]"}, FldName: "NDA_DST_IPV6"}, @@ -12603,6 +12615,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_rc", Dir: 2}, FldName: "rc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc", Dir: 2}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_vm", Dir: 2}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet", Dir: 2}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_generic", Dir: 2}, FldName: "generic"}, }}}, @@ -13102,6 +13115,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_nfc"}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc_llcp"}, FldName: "nfc_llcp"}, &StructType{Key: StructKey{Name: "sockaddr_vm"}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp"}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet"}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_storage_generic"}, FldName: "generic"}, }}}, @@ -13129,6 +13143,7 @@ var structDescs_ppc64le = []*KeyedStruct{ &StructType{Key: StructKey{Name: "sockaddr_nfc", Dir: 1}, FldName: "nfc"}, &StructType{Key: StructKey{Name: "sockaddr_nfc_llcp", Dir: 1}, FldName: "nfc_llcp"}, &StructType{Key: StructKey{Name: "sockaddr_vm", Dir: 1}, FldName: "vsock"}, + &StructType{Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, FldName: "xdp"}, &StructType{Key: StructKey{Name: "sockaddr_ethernet", Dir: 1}, FldName: "ethernet"}, &StructType{Key: StructKey{Name: "sockaddr_storage_generic", Dir: 1}, FldName: "generic"}, }}}, @@ -13219,6 +13234,27 @@ var structDescs_ppc64le = []*KeyedStruct{ &UnionType{Key: StructKey{Name: "vmaddr_cid", Dir: 2}, FldName: "svm_cid"}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "svm_zero", TypeSize: 4, ArgDir: 2}}}, }}}, + {Key: StructKey{Name: "sockaddr_xdp"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, IsOptional: true}}, + }}}, + {Key: StructKey{Name: "sockaddr_xdp", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 1}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 1}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 1}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 1}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 1}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 1, IsOptional: true}}, + }}}, + {Key: StructKey{Name: "sockaddr_xdp", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "sockaddr_xdp", TypeSize: 16, ArgDir: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sxdp_family", TypeSize: 2, ArgDir: 2}}, Val: 44}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "sxdp_flags", FldName: "sxdp_flags", TypeSize: 2, ArgDir: 2}}, Vals: []uint64{1, 2, 4}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "ifindex", FldName: "sxdp_ifindex", TypeSize: 4, ArgDir: 2}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sxdp_queue_id", TypeSize: 4, ArgDir: 2}}, Kind: 2, RangeEnd: 64}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "sxdp_shared_umem_fd", TypeSize: 4, ArgDir: 2, IsOptional: true}}, + }}}, {Key: StructKey{Name: "stab_policy"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "stab_policy", IsVarlen: true}, Fields: []Type{ &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_STAB_BASE, int16], tc_sizespec]"}, FldName: "TCA_STAB_BASE"}, &StructType{Key: StructKey{Name: "nlattr_t[const[TCA_STAB_DATA, int16], array[int16, 0:10]]"}, FldName: "TCA_STAB_DATA"}, @@ -14246,6 +14282,12 @@ var structDescs_ppc64le = []*KeyedStruct{ &BufferType{TypeCommon: TypeCommon{TypeName: "stringnoz", FldName: "prefix", IsVarlen: true}, Kind: 2, SubKind: "xattr_prefix", Values: []string{"system.", "trusted.", "security.", "user.", "btrfs.", "osx.", "os2."}, NoZ: true}, &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", IsVarlen: true}, Kind: 2}, }}}, + {Key: StructKey{Name: "xdp_umem_reg"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xdp_umem_reg", TypeSize: 24}, Fields: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr64", FldName: "addr", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_sizes", FldName: "len", TypeSize: 8}}, Vals: []uint64{4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_umem_chunk_sizes", FldName: "chunk_size", TypeSize: 4}}, Vals: []uint64{2048, 4096}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "headroom", TypeSize: 4}}}, + }}}, {Key: StructKey{Name: "xfrm_address"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "xfrm_address", TypeSize: 16}, Fields: []Type{ &UnionType{Key: StructKey{Name: "ipv4_addr"}, FldName: "in"}, &UnionType{Key: StructKey{Name: "ipv6_addr"}, FldName: "in6"}, @@ -16748,6 +16790,11 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_vm"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "addrlen", TypeSize: 8}}, Buf: "addr"}, }}, + {NR: 327, Name: "bind$xdp", CallName: "bind", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "addr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sockaddr_xdp"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "addr"}, + }}, {NR: 361, Name: "bpf$BPF_GET_MAP_INFO", CallName: "bpf", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 15}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "bpf_get_map_info_arg"}}}, @@ -17656,6 +17703,20 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optval", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "optlen", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 4, ArgDir: 2}}, Buf: "optval"}}, }}, + {NR: 340, Name: "getsockopt$XDP_MMAP_OFFSETS", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 1}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 96, ArgDir: 1}, Kind: 1, RangeBegin: 96, RangeEnd: 96}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "len", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", TypeSize: 4}}, BitSize: 8, Buf: "val"}}, + }}, + {NR: 340, Name: "getsockopt$XDP_STATISTICS", CallName: "getsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 7}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 24, ArgDir: 1}, Kind: 1, RangeBegin: 24, RangeEnd: 24}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "len", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", TypeSize: 4}}, BitSize: 8, Buf: "val"}}, + }}, {NR: 340, Name: "getsockopt$ax25_buf", CallName: "getsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 257}, @@ -22252,6 +22313,14 @@ var syscalls_ppc64le = []*Syscall{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_binder", FldName: "fd", TypeSize: 4}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "binder_ptr", FldName: "ret", TypeSize: 8, ArgDir: 1}}}, + {NR: 90, Name: "mmap$xdp", CallName: "mmap", Args: []Type{ + &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 128, 65536, 64, 32768, 131072, 0, 3, 0, 1048576}}, + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_mmap_offsets", FldName: "offset", TypeSize: 8}}, Vals: []uint64{0, 2147483648, 4294967296, 6442450944}}, + }}, {NR: 123, Name: "modify_ldt$read", CallName: "modify_ldt", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "func", TypeSize: 8}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1, IsVarlen: true}}}, @@ -23550,6 +23619,11 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_un"}}}, &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}}, }}, + {NR: 341, Name: "sendmsg$xdp", CallName: "sendmsg", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "msg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "msghdr_xdp"}}}, + &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}}, + }}, {NR: 335, Name: "sendto", CallName: "sendto", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{IsVarlen: true}}}, @@ -23938,6 +24012,41 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "timeval"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "val"}, }}, + {NR: 339, Name: "setsockopt$XDP_RX_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 2}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 339, Name: "setsockopt$XDP_TX_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 3}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 339, Name: "setsockopt$XDP_UMEM_COMPLETION_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 6}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 339, Name: "setsockopt$XDP_UMEM_FILL_RING", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 5}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "xdp_ring_sizes", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, + {NR: 339, Name: "setsockopt$XDP_UMEM_REG", CallName: "setsockopt", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "fd", TypeSize: 4}}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 283}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opt", TypeSize: 8}}, Val: 4}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "xdp_umem_reg"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "val"}, + }}, {NR: 339, Name: "setsockopt$ax25_buf", CallName: "setsockopt", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_ax25", FldName: "fd", TypeSize: 4}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "level", TypeSize: 8}}, Val: 257}, @@ -25612,6 +25721,11 @@ var syscalls_ppc64le = []*Syscall{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 1}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_vsock_stream", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {NR: 326, Name: "socket$xdp", CallName: "socket", Args: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "domain", TypeSize: 8}}, Val: 44}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 8}}, Val: 3}, + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "proto", TypeSize: 8}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_xdp", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 333, Name: "socketpair", CallName: "socketpair", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_domain", FldName: "domain", TypeSize: 8}}, Vals: []uint64{1, 2, 10, 4, 16, 9, 3, 8, 5, 17}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "socket_type", FldName: "type", TypeSize: 8}}, Vals: []uint64{1, 2, 3, 4, 5, 6, 10, 2048, 524288}}, @@ -26543,6 +26657,7 @@ var consts_ppc64le = []ConstValue{ {Name: "AF_UNSPEC"}, {Name: "AF_VSOCK", Value: 40}, {Name: "AF_X25", Value: 9}, + {Name: "AF_XDP", Value: 44}, {Name: "AGP_USER_CACHED_MEMORY", Value: 65537}, {Name: "AGP_USER_MEMORY", Value: 65536}, {Name: "AH_ESP_V4_FLOW", Value: 4}, @@ -30133,6 +30248,7 @@ var consts_ppc64le = []ConstValue{ {Name: "SOL_TIPC", Value: 271}, {Name: "SOL_UDP", Value: 17}, {Name: "SOL_UDPLITE", Value: 136}, + {Name: "SOL_XDP", Value: 283}, {Name: "SOPASS_MAX", Value: 6}, {Name: "SO_ACCEPTCONN", Value: 30}, {Name: "SO_ATTACH_BPF", Value: 50}, @@ -30618,6 +30734,22 @@ var consts_ppc64le = []ConstValue{ {Name: "X25_RR", Value: 1}, {Name: "XATTR_CREATE", Value: 1}, {Name: "XATTR_REPLACE", Value: 2}, + {Name: "XDP_COPY", Value: 2}, + {Name: "XDP_MMAP_OFFSETS", Value: 1}, + {Name: "XDP_MMAP_OFFSETS_SIZE", Value: 96}, + {Name: "XDP_PGOFF_RX_RING"}, + {Name: "XDP_PGOFF_TX_RING", Value: 2147483648}, + {Name: "XDP_RX_RING", Value: 2}, + {Name: "XDP_SHARED_UMEM", Value: 1}, + {Name: "XDP_STATISTICS", Value: 7}, + {Name: "XDP_STATISTICS_SIZE", Value: 24}, + {Name: "XDP_TX_RING", Value: 3}, + {Name: "XDP_UMEM_COMPLETION_RING", Value: 6}, + {Name: "XDP_UMEM_FILL_RING", Value: 5}, + {Name: "XDP_UMEM_PGOFF_COMPLETION_RING", Value: 6442450944}, + {Name: "XDP_UMEM_PGOFF_FILL_RING", Value: 4294967296}, + {Name: "XDP_UMEM_REG", Value: 4}, + {Name: "XDP_ZEROCOPY", Value: 4}, {Name: "XFRMA_ADDRESS_FILTER", Value: 26}, {Name: "XFRMA_ALG_AEAD", Value: 18}, {Name: "XFRMA_ALG_AUTH", Value: 1}, @@ -31208,4 +31340,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "72cbb03e7c697832efe4492f00164c4b20f238b1" +const revision_ppc64le = "240d492d9f61f94a2fc4baabad75e92ac06070ae" diff --git a/sys/linux/socket.txt b/sys/linux/socket.txt index e23387d08..37aad2b7b 100644 --- a/sys/linux/socket.txt +++ b/sys/linux/socket.txt @@ -64,6 +64,7 @@ sockaddr [ rc sockaddr_rc nfc sockaddr_nfc vsock sockaddr_vm + xdp sockaddr_xdp ethernet sockaddr_ethernet generic sockaddr_generic ] [size[SOCKADDR_SIZE]] @@ -93,6 +94,7 @@ sockaddr_storage [ nfc sockaddr_nfc nfc_llcp sockaddr_nfc_llcp vsock sockaddr_vm + xdp sockaddr_xdp ethernet sockaddr_ethernet generic sockaddr_storage_generic ] [size[SOCKADDR_STORAGE_SIZE]] diff --git a/sys/linux/socket_xdp.txt b/sys/linux/socket_xdp.txt new file mode 100644 index 000000000..0034a948e --- /dev/null +++ b/sys/linux/socket_xdp.txt @@ -0,0 +1,62 @@ +# Copyright 2018 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_XDP support. + +include +include +include + +resource sock_xdp[sock] + +socket$xdp(domain const[AF_XDP], type const[SOCK_RAW], proto const[0]) sock_xdp +bind$xdp(fd sock_xdp, addr ptr[in, sockaddr_xdp], len bytesize[addr]) +sendmsg$xdp(fd sock_xdp, msg ptr[in, msghdr_xdp], f flags[send_flags]) +mmap$xdp(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd sock_xdp, offset flags[xdp_mmap_offsets]) + +setsockopt$XDP_RX_RING(fd sock_xdp, level const[SOL_XDP], opt const[XDP_RX_RING], val ptr[in, flags[xdp_ring_sizes, int32]], len bytesize[val]) +setsockopt$XDP_TX_RING(fd sock_xdp, level const[SOL_XDP], opt const[XDP_TX_RING], val ptr[in, flags[xdp_ring_sizes, int32]], len bytesize[val]) +setsockopt$XDP_UMEM_FILL_RING(fd sock_xdp, level const[SOL_XDP], opt const[XDP_UMEM_FILL_RING], val ptr[in, flags[xdp_ring_sizes, int32]], len bytesize[val]) +setsockopt$XDP_UMEM_COMPLETION_RING(fd sock_xdp, level const[SOL_XDP], opt const[XDP_UMEM_COMPLETION_RING], val ptr[in, flags[xdp_ring_sizes, int32]], len bytesize[val]) +setsockopt$XDP_UMEM_REG(fd sock_xdp, level const[SOL_XDP], opt const[XDP_UMEM_REG], val ptr[in, xdp_umem_reg], len bytesize[val]) + +getsockopt$XDP_MMAP_OFFSETS(fd sock_xdp, level const[SOL_XDP], opt const[XDP_MMAP_OFFSETS], val ptr[out, array[int8, XDP_MMAP_OFFSETS_SIZE]], len ptr[in, bytesize[val, int32]]) +getsockopt$XDP_STATISTICS(fd sock_xdp, level const[SOL_XDP], opt const[XDP_STATISTICS], val ptr[out, array[int8, XDP_STATISTICS_SIZE]], len ptr[in, bytesize[val, int32]]) + +xdp_mmap_offsets = XDP_PGOFF_RX_RING, XDP_PGOFF_TX_RING, XDP_UMEM_PGOFF_FILL_RING, XDP_UMEM_PGOFF_COMPLETION_RING +xdp_ring_sizes = 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216 + +sockaddr_xdp { + sxdp_family const[AF_XDP, int16] + sxdp_flags flags[sxdp_flags, int16] + sxdp_ifindex ifindex + sxdp_queue_id int32[0:64] + sxdp_shared_umem_fd sock_xdp[opt] +} + +sxdp_flags = XDP_SHARED_UMEM, XDP_COPY, XDP_ZEROCOPY + +msghdr_xdp { + msg_name ptr[in, sockaddr_xdp, opt] + msg_namelen len[msg_name, int32] + msg_iov ptr[in, array[iovec_in]] + msg_iovlen len[msg_iov, intptr] + msg_control const[0, intptr] + msg_controllen const[0, intptr] + msg_flags flags[send_flags, int32] +} + +xdp_umem_reg { + addr ptr64[out, array[int8]] + len flags[xdp_umem_sizes, int64] + chunk_size flags[xdp_umem_chunk_sizes, int32] + headroom int32 +} + +xdp_umem_sizes = 4096, 8192, 16384, 32768, 65536, 131072, 1048576, 2097152, 16777216 +xdp_umem_chunk_sizes = 2048, 4096 + +define XDP_MMAP_OFFSETS_SIZE sizeof(struct xdp_mmap_offsets) +define XDP_STATISTICS_SIZE sizeof(struct xdp_statistics) + +legacy_mmap_number_xdp = __NR_mmap2 diff --git a/sys/linux/socket_xdp_386.const b/sys/linux/socket_xdp_386.const new file mode 100644 index 000000000..a04cfaa3d --- /dev/null +++ b/sys/linux/socket_xdp_386.const @@ -0,0 +1,27 @@ +# AUTOGENERATED FILE +AF_XDP = 44 +SOCK_RAW = 3 +SOL_XDP = 283 +XDP_COPY = 2 +XDP_MMAP_OFFSETS = 1 +XDP_MMAP_OFFSETS_SIZE = 96 +XDP_PGOFF_RX_RING = 0 +XDP_PGOFF_TX_RING = 2147483648 +XDP_RX_RING = 2 +XDP_SHARED_UMEM = 1 +XDP_STATISTICS = 7 +XDP_STATISTICS_SIZE = 24 +XDP_TX_RING = 3 +XDP_UMEM_COMPLETION_RING = 6 +XDP_UMEM_FILL_RING = 5 +XDP_UMEM_PGOFF_COMPLETION_RING = 6442450944 +XDP_UMEM_PGOFF_FILL_RING = 4294967296 +XDP_UMEM_REG = 4 +XDP_ZEROCOPY = 4 +__NR_bind = 361 +__NR_getsockopt = 365 +__NR_mmap = 192 +__NR_mmap2 = 192 +__NR_sendmsg = 370 +__NR_setsockopt = 366 +__NR_socket = 359 diff --git a/sys/linux/socket_xdp_amd64.const b/sys/linux/socket_xdp_amd64.const new file mode 100644 index 000000000..9b009ce5e --- /dev/null +++ b/sys/linux/socket_xdp_amd64.const @@ -0,0 +1,27 @@ +# AUTOGENERATED FILE +AF_XDP = 44 +SOCK_RAW = 3 +SOL_XDP = 283 +XDP_COPY = 2 +XDP_MMAP_OFFSETS = 1 +XDP_MMAP_OFFSETS_SIZE = 96 +XDP_PGOFF_RX_RING = 0 +XDP_PGOFF_TX_RING = 2147483648 +XDP_RX_RING = 2 +XDP_SHARED_UMEM = 1 +XDP_STATISTICS = 7 +XDP_STATISTICS_SIZE = 24 +XDP_TX_RING = 3 +XDP_UMEM_COMPLETION_RING = 6 +XDP_UMEM_FILL_RING = 5 +XDP_UMEM_PGOFF_COMPLETION_RING = 6442450944 +XDP_UMEM_PGOFF_FILL_RING = 4294967296 +XDP_UMEM_REG = 4 +XDP_ZEROCOPY = 4 +__NR_bind = 49 +__NR_getsockopt = 55 +__NR_mmap = 9 +# __NR_mmap2 is not set +__NR_sendmsg = 46 +__NR_setsockopt = 54 +__NR_socket = 41 diff --git a/sys/linux/socket_xdp_arm.const b/sys/linux/socket_xdp_arm.const new file mode 100644 index 000000000..f60696d3b --- /dev/null +++ b/sys/linux/socket_xdp_arm.const @@ -0,0 +1,27 @@ +# AUTOGENERATED FILE +AF_XDP = 44 +SOCK_RAW = 3 +SOL_XDP = 283 +XDP_COPY = 2 +XDP_MMAP_OFFSETS = 1 +XDP_MMAP_OFFSETS_SIZE = 96 +XDP_PGOFF_RX_RING = 0 +XDP_PGOFF_TX_RING = 2147483648 +XDP_RX_RING = 2 +XDP_SHARED_UMEM = 1 +XDP_STATISTICS = 7 +XDP_STATISTICS_SIZE = 24 +XDP_TX_RING = 3 +XDP_UMEM_COMPLETION_RING = 6 +XDP_UMEM_FILL_RING = 5 +XDP_UMEM_PGOFF_COMPLETION_RING = 6442450944 +XDP_UMEM_PGOFF_FILL_RING = 4294967296 +XDP_UMEM_REG = 4 +XDP_ZEROCOPY = 4 +__NR_bind = 282 +__NR_getsockopt = 295 +__NR_mmap = 192 +__NR_mmap2 = 192 +__NR_sendmsg = 296 +__NR_setsockopt = 294 +__NR_socket = 281 diff --git a/sys/linux/socket_xdp_arm64.const b/sys/linux/socket_xdp_arm64.const new file mode 100644 index 000000000..8ab48cf16 --- /dev/null +++ b/sys/linux/socket_xdp_arm64.const @@ -0,0 +1,27 @@ +# AUTOGENERATED FILE +AF_XDP = 44 +SOCK_RAW = 3 +SOL_XDP = 283 +XDP_COPY = 2 +XDP_MMAP_OFFSETS = 1 +XDP_MMAP_OFFSETS_SIZE = 96 +XDP_PGOFF_RX_RING = 0 +XDP_PGOFF_TX_RING = 2147483648 +XDP_RX_RING = 2 +XDP_SHARED_UMEM = 1 +XDP_STATISTICS = 7 +XDP_STATISTICS_SIZE = 24 +XDP_TX_RING = 3 +XDP_UMEM_COMPLETION_RING = 6 +XDP_UMEM_FILL_RING = 5 +XDP_UMEM_PGOFF_COMPLETION_RING = 6442450944 +XDP_UMEM_PGOFF_FILL_RING = 4294967296 +XDP_UMEM_REG = 4 +XDP_ZEROCOPY = 4 +__NR_bind = 200 +__NR_getsockopt = 209 +__NR_mmap = 222 +# __NR_mmap2 is not set +__NR_sendmsg = 211 +__NR_setsockopt = 208 +__NR_socket = 198 diff --git a/sys/linux/socket_xdp_ppc64le.const b/sys/linux/socket_xdp_ppc64le.const new file mode 100644 index 000000000..568a3cf73 --- /dev/null +++ b/sys/linux/socket_xdp_ppc64le.const @@ -0,0 +1,27 @@ +# AUTOGENERATED FILE +AF_XDP = 44 +SOCK_RAW = 3 +SOL_XDP = 283 +XDP_COPY = 2 +XDP_MMAP_OFFSETS = 1 +XDP_MMAP_OFFSETS_SIZE = 96 +XDP_PGOFF_RX_RING = 0 +XDP_PGOFF_TX_RING = 2147483648 +XDP_RX_RING = 2 +XDP_SHARED_UMEM = 1 +XDP_STATISTICS = 7 +XDP_STATISTICS_SIZE = 24 +XDP_TX_RING = 3 +XDP_UMEM_COMPLETION_RING = 6 +XDP_UMEM_FILL_RING = 5 +XDP_UMEM_PGOFF_COMPLETION_RING = 6442450944 +XDP_UMEM_PGOFF_FILL_RING = 4294967296 +XDP_UMEM_REG = 4 +XDP_ZEROCOPY = 4 +__NR_bind = 327 +__NR_getsockopt = 340 +__NR_mmap = 90 +# __NR_mmap2 is not set +__NR_sendmsg = 341 +__NR_setsockopt = 339 +__NR_socket = 326 -- cgit mrf-deployment