From: Jason Wang <jasow...@redhat.com> Date: Wed, 7 Feb 2018 17:14:46 +0800
> 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 <jasow...@redhat.com> Applied and queued up for -stable, thanks Jason.