diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-06-18 19:45:49 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-06-18 19:45:49 +0200 |
| commit | dde158e0af7bc1acf328d393a1fcb4eca60a5dfe (patch) | |
| tree | 411b44720318efb357cf2f3da12eb85fc85d1695 /sys/linux/socket_xdp.txt | |
| parent | dcb1eebb7ffdd179de39e7cb89ca085368ee69d5 (diff) | |
sys/linux: refine xdp description
Split sockaddr_xdp for bind.
Bind accepts another sock_xdp in addr.
Without the split getsockaddr "can" create sock_xdp's
because it returns generic sockaddr which contains
all addresses, including sockaddr_xdp, which in turn
contains sock_xdp.
Diffstat (limited to 'sys/linux/socket_xdp.txt')
| -rw-r--r-- | sys/linux/socket_xdp.txt | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/linux/socket_xdp.txt b/sys/linux/socket_xdp.txt index 0034a948e..564fe2078 100644 --- a/sys/linux/socket_xdp.txt +++ b/sys/linux/socket_xdp.txt @@ -10,7 +10,7 @@ include <uapi/linux/if_xdp.h> 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]) +bind$xdp(fd sock_xdp, addr ptr[in, sockaddr_xdp_bind], 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]) @@ -31,6 +31,14 @@ sockaddr_xdp { sxdp_flags flags[sxdp_flags, int16] sxdp_ifindex ifindex sxdp_queue_id int32[0:64] + sxdp_shared_umem_fd const[0, int32] +} + +sockaddr_xdp_bind { + 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] } |
