On Wed, Jun 28, 2017 at 10:14:34AM +0800, Jason Wang wrote:
That's the part I don't get. With DATA_VALID csum in packet is wrong, XDP
On 2017å06æ28æ 10:02, Michael S. Tsirkin wrote:
On Wed, Jun 28, 2017 at 09:54:03AM +0800, Jason Wang wrote:I think it's safe. For XDP_PASS, it work like in the past.
We should allow csumed packet for small buffer, otherwise XDP_PASSThe issue would be VIRTIO_NET_HDR_F_DATA_VALID might be set.
won't work correctly.
Fixes commit bb91accf2733 ("virtio-net: XDP support for small buffers")
Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
What do you think?
tools assume it's value.
For XDP_TX, weAgain TX offload is disabled, so packets will go out with an invalid
zero the vnet header.
checksum.
For adjusting header, XDP prog should deal with csum.That part seems right.
Thanks
---
The patch is needed for -stable.
---
drivers/net/virtio_net.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 143d8a9..499fcc9 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -413,7 +413,7 @@ static struct sk_buff *receive_small(struct net_device *dev,
void *orig_data;
u32 act;
- if (unlikely(hdr->hdr.gso_type || hdr->hdr.flags))
+ if (unlikely(hdr->hdr.gso_type))
goto err_xdp;
xdp.data_hard_start = buf + VIRTNET_RX_PAD + vi->hdr_len;
--
2.7.4