aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJason Wang <jasowang@redhat.com>2018-02-07 17:14:46 +0800
committerDavid S. Miller <davem@davemloft.net>2018-02-08 14:10:30 -0500
commit762c330d670e3d4b795cf7a8d761866fdd1eef49 (patch)
tree249dbef044fc3ecf0b3f2d449e63080e9f802359 /net
parentnetlink: ensure to loop over all netns in genlmsg_multicast_allns() (diff)
downloadlinux-dev-762c330d670e3d4b795cf7a8d761866fdd1eef49.tar.xz
linux-dev-762c330d670e3d4b795cf7a8d761866fdd1eef49.zip
tuntap: add missing xdp flush
When using devmap to redirect packets between interfaces, xdp_do_flush() is usually a must to flush any batched packets. Unfortunately this is missed in current tuntap implementation. Unlike most hardware driver which did XDP inside NAPI loop and call xdp_do_flush() at then end of each round of poll. TAP did it in the context of process e.g tun_get_user(). So fix this by count the pending redirected packets and flush when it exceeds NAPI_POLL_WEIGHT or MSG_MORE was cleared by sendmsg() caller. With this fix, xdp_redirect_map works again between two TAPs. Fixes: 761876c857cb ("tap: XDP support") Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions