Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-26 Thread Michael S. Tsirkin
On Thu, Feb 15, 2018 at 11:43:21PM +0100, Jesper Dangaard Brouer wrote: > The virtio_net code have three different RX code-paths in receive_buf(). > Two of these code paths can handle XDP, but one of them is broken for > at least XDP_REDIRECT. > > Function(1): receive_big() does not support XDP.

Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-26 Thread Michael S. Tsirkin
On Fri, Feb 16, 2018 at 04:41:26PM +0100, Jesper Dangaard Brouer wrote: > On Fri, 16 Feb 2018 13:31:37 +0800 > Jason Wang wrote: > > > On 2018年02月16日 06:43, Jesper Dangaard Brouer wrote: > > > The virtio_net code have three different RX code-paths in receive_buf(). > > > Two

Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-21 Thread Jason Wang
On 2018年02月21日 00:52, John Fastabend wrote: On 02/20/2018 03:17 AM, Jesper Dangaard Brouer wrote: On Fri, 16 Feb 2018 09:19:02 -0800 John Fastabend wrote: On 02/16/2018 07:41 AM, Jesper Dangaard Brouer wrote: On Fri, 16 Feb 2018 13:31:37 +0800 Jason Wang

Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-21 Thread Jason Wang
On 2018年02月16日 23:41, Jesper Dangaard Brouer wrote: On Fri, 16 Feb 2018 13:31:37 +0800 Jason Wang wrote: On 2018年02月16日 06:43, Jesper Dangaard Brouer wrote: The virtio_net code have three different RX code-paths in receive_buf(). Two of these code paths can handle XDP,

Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-20 Thread John Fastabend
On 02/20/2018 03:17 AM, Jesper Dangaard Brouer wrote: > On Fri, 16 Feb 2018 09:19:02 -0800 > John Fastabend wrote: > >> On 02/16/2018 07:41 AM, Jesper Dangaard Brouer wrote: >>> On Fri, 16 Feb 2018 13:31:37 +0800 >>> Jason Wang wrote: >>>

Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-20 Thread Jesper Dangaard Brouer
On Fri, 16 Feb 2018 09:19:02 -0800 John Fastabend wrote: > On 02/16/2018 07:41 AM, Jesper Dangaard Brouer wrote: > > On Fri, 16 Feb 2018 13:31:37 +0800 > > Jason Wang wrote: > > > >> On 2018年02月16日 06:43, Jesper Dangaard Brouer wrote: > >>>

Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-18 Thread Jesper Dangaard Brouer
On Fri, 16 Feb 2018 13:31:37 +0800 Jason Wang wrote: > > Besides the described bug: > > > > Update(1): There is also a OOM leak in the XDP_REDIRECT code, which > > receive_small() is likely also affected by. Found the issue behind this memory leak... page refcnt issues when

Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-16 Thread John Fastabend
On 02/16/2018 07:41 AM, Jesper Dangaard Brouer wrote: > On Fri, 16 Feb 2018 13:31:37 +0800 > Jason Wang wrote: > >> On 2018年02月16日 06:43, Jesper Dangaard Brouer wrote: >>> The virtio_net code have three different RX code-paths in receive_buf(). >>> Two of these code paths

Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-16 Thread Jesper Dangaard Brouer
On Fri, 16 Feb 2018 13:31:37 +0800 Jason Wang wrote: > On 2018年02月16日 06:43, Jesper Dangaard Brouer wrote: > > The virtio_net code have three different RX code-paths in receive_buf(). > > Two of these code paths can handle XDP, but one of them is broken for > > at least

Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-15 Thread Jason Wang
On 2018年02月16日 06:43, Jesper Dangaard Brouer wrote: The virtio_net code have three different RX code-paths in receive_buf(). Two of these code paths can handle XDP, but one of them is broken for at least XDP_REDIRECT. Function(1): receive_big() does not support XDP. Function(2):

[RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

2018-02-15 Thread Jesper Dangaard Brouer
The virtio_net code have three different RX code-paths in receive_buf(). Two of these code paths can handle XDP, but one of them is broken for at least XDP_REDIRECT. Function(1): receive_big() does not support XDP. Function(2): receive_small() support XDP fully and uses build_skb(). Function(3):