On 2018年03月15日 21:32, Michael S. Tsirkin wrote:
On Thu, Mar 15, 2018 at 04:39:25PM +0800, Jason Wang wrote:
On 2018年03月14日 11:37, Michael S. Tsirkin wrote:
- xdp_xmit = true;
- /* fall through */
+ alloc_frag->offset += buflen;
+ if (tun_xdp_xmit(tun->dev, &xdp))
+ goto err_redirect;
Why do we have to flush here though?
It might be a good idea to document the reason in a code comment.
ndo_xdp_xmit() does not touch doorbell, so we need a ndo_xdp_flush() here.
It's the assumption of XDP API I think, so not sure it's worth to mention it
Can't one flush we called after multiple xmit calls?
We can and could be another patch on top. But I want to unify it with
the batching of XDP_REDIRECT by e.g let vhost submit more than one
packets through msg.control in sendmsg().