]> granicus.if.org Git - strace/commitdiff
net: decode SOL_XDP socket option names
authorEugene Syromyatnikov <evgsyr@gmail.com>
Sun, 19 Aug 2018 19:53:14 +0000 (21:53 +0200)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 27 Aug 2018 23:41:41 +0000 (23:41 +0000)
* xlat/sock_xdp_options.in: New file.
* net.c: Include "xlat/sock_xdp_options.h".
(print_sockopt_fd_level_name) <case SOL_XDP>: Print SOL_XDP socket
option names.

net.c
xlat/sock_xdp_options.in [new file with mode: 0644]

diff --git a/net.c b/net.c
index 1c4e8ba22fcb22f2b8a4034196bee4b192f45b9b..66dde0f40ca3490043bdc101cb0e6de629bd27c1 100644 (file)
--- a/net.c
+++ b/net.c
@@ -458,6 +458,7 @@ SYS_FUNC(socketpair)
 #include "xlat/sock_nfcllcp_options.h"
 #include "xlat/sock_kcm_options.h"
 #include "xlat/sock_tls_options.h"
+#include "xlat/sock_xdp_options.h"
 
 static void
 print_sockopt_fd_level_name(struct tcb *tcp, int fd, unsigned int level,
@@ -550,6 +551,9 @@ print_sockopt_fd_level_name(struct tcb *tcp, int fd, unsigned int level,
        case SOL_TLS:
                printxval(sock_tls_options, name, "TLS_???");
                break;
+       case SOL_XDP:
+               printxval_index(sock_xdp_options, name, "XDP_???");
+               break;
 
                /* Other SOL_* protocol levels still need work. */
 
diff --git a/xlat/sock_xdp_options.in b/xlat/sock_xdp_options.in
new file mode 100644 (file)
index 0000000..f2b7a68
--- /dev/null
@@ -0,0 +1,8 @@
+#value_indexed
+XDP_MMAP_OFFSETS               1
+XDP_RX_RING                    2
+XDP_TX_RING                    3
+XDP_UMEM_REG                   4
+XDP_UMEM_FILL_RING             5
+XDP_UMEM_COMPLETION_RING       6
+XDP_STATISTICS                 7