From 396854e2e15a51316b4fbddfa076bbb58a650b79 Mon Sep 17 00:00:00 2001 From: Jesper Dangaard Brouer Date: Fri, 12 Nov 2021 11:47:48 +0100 Subject: [PATCH] AF_XDP-interaction: Add --spin-mode that disables --wakeup-mode And default that AF_XDP userspace prog to use wakeup-mode Signed-off-by: Jesper Dangaard Brouer --- AF_XDP-interaction/af_xdp_user.c | 6 +++++- AF_XDP-interaction/common_params.c | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/AF_XDP-interaction/af_xdp_user.c b/AF_XDP-interaction/af_xdp_user.c index 747ed35..92dc461 100644 --- a/AF_XDP-interaction/af_xdp_user.c +++ b/AF_XDP-interaction/af_xdp_user.c @@ -198,6 +198,9 @@ static const struct option_wrapper long_options[] = { {{"wakeup-mode", no_argument, NULL, 'w' }, "Use poll() API waiting for packets to arrive via wakeup from kernel"}, + {{"spin-mode", no_argument, NULL, 's' }, + "Let userspace process spin checking for packets (disable --wakeup-mode)"}, + {{"unload", no_argument, NULL, 'U' }, "Unload XDP program instead of loading"}, @@ -772,7 +775,8 @@ int main(int argc, char **argv) .ifindex = -1, .do_unload = false, .filename = "af_xdp_kern.o", - .progsec = "xdp_sock" + .progsec = "xdp_sock", + .xsk_wakeup_mode = true, /* Default, change via --spin */ }; struct xsk_umem_info *umem; struct xsk_socket_info *xsk_socket; diff --git a/AF_XDP-interaction/common_params.c b/AF_XDP-interaction/common_params.c index 758d7fc..44630e2 100644 --- a/AF_XDP-interaction/common_params.c +++ b/AF_XDP-interaction/common_params.c @@ -157,6 +157,9 @@ void parse_cmdline_args(int argc, char **argv, case 'w': cfg->xsk_wakeup_mode = true; break; + case 's': + cfg->xsk_wakeup_mode = false; + break; case 'q': verbose = false; break;