Displaying 20 results from an estimated 136 matches for "virtio_net_hdr_gso_tcpv4".
2016 Jun 08
7
[PATCH 0/6] virtio_net: use common code for virtio_net_hdr and skb GSO conversion
Hi,
This patches introduce virtio_net_hdr_{from,to}_skb functions for
conversion of GSO information between skb and virtio_net_hdr.
Mike Rapoport (6):
virtio_net: add _UAPI prefix to virtio_net header guards
virtio_net: introduce virtio_net_hdr_{from,to}_skb
macvtap: use common code for virtio_net_hdr and skb GSO conversion
tuntap: use common code for virtio_net_hdr and skb GSO
2016 Jun 08
7
[PATCH 0/6] virtio_net: use common code for virtio_net_hdr and skb GSO conversion
Hi,
This patches introduce virtio_net_hdr_{from,to}_skb functions for
conversion of GSO information between skb and virtio_net_hdr.
Mike Rapoport (6):
virtio_net: add _UAPI prefix to virtio_net header guards
virtio_net: introduce virtio_net_hdr_{from,to}_skb
macvtap: use common code for virtio_net_hdr and skb GSO conversion
tuntap: use common code for virtio_net_hdr and skb GSO
2019 Dec 09
3
[PATCH] virtio: Work around frames incorrectly marked as gso
...letions(-)
diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h
index 0d1fe9297ac6..d90d5cff1b9a 100644
--- a/include/linux/virtio_net.h
+++ b/include/linux/virtio_net.h
@@ -112,8 +112,12 @@ static inline int virtio_net_hdr_from_skb(const struct sk_buff *skb,
hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
else if (sinfo->gso_type & SKB_GSO_TCPV6)
hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
- else
- return -EINVAL;
+ else {
+ if (skb->data_len == 0)
+ hdr->gso_type = VIRTIO_NET_HDR_GSO_NONE;
+ else
+ return -EINVAL;
+ }
if (sinfo->gso_type & SKB_GSO_TCP_...
2020 Feb 11
5
[PATCH] virtio: Work around frames incorrectly marked as gso
...b9a 100644
> > > > --- a/include/linux/virtio_net.h
> > > > +++ b/include/linux/virtio_net.h
> > > > @@ -112,8 +112,12 @@ static inline int
> > > > virtio_net_hdr_from_skb(const struct sk_buff *skb,
> > > > ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
> > > > ????????? else if (sinfo->gso_type & SKB_GSO_TCPV6)
> > > > ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
> > > > -??????? else
> > > > -??????????? return -EINVAL;
> > > > +??????? else {
> > > > +...
2020 Feb 11
5
[PATCH] virtio: Work around frames incorrectly marked as gso
...b9a 100644
> > > > --- a/include/linux/virtio_net.h
> > > > +++ b/include/linux/virtio_net.h
> > > > @@ -112,8 +112,12 @@ static inline int
> > > > virtio_net_hdr_from_skb(const struct sk_buff *skb,
> > > > ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
> > > > ????????? else if (sinfo->gso_type & SKB_GSO_TCPV6)
> > > > ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
> > > > -??????? else
> > > > -??????????? return -EINVAL;
> > > > +??????? else {
> > > > +...
2014 Nov 11
7
TUN_F_UFO change breaks live migration
On Tue, Nov 11, 2014 at 12:17:26PM +0000, Ben Hutchings wrote:
> On Tue, 2014-11-11 at 10:58 +0000, Stefan Hajnoczi wrote:
> > Commit 3d0ad09412ffe00c9afa201d01effdb6023d09b4 ("drivers/net: Disable
> > UFO through virtio") breaks live migration of KVM guests from older to
> > newer host kernels:
> >
> >
2014 Nov 11
7
TUN_F_UFO change breaks live migration
On Tue, Nov 11, 2014 at 12:17:26PM +0000, Ben Hutchings wrote:
> On Tue, 2014-11-11 at 10:58 +0000, Stefan Hajnoczi wrote:
> > Commit 3d0ad09412ffe00c9afa201d01effdb6023d09b4 ("drivers/net: Disable
> > UFO through virtio") breaks live migration of KVM guests from older to
> > newer host kernels:
> >
> >
2020 Feb 11
2
[PATCH] virtio: Work around frames incorrectly marked as gso
...ux/virtio_net.h
>> index 0d1fe9297ac6..d90d5cff1b9a 100644
>> --- a/include/linux/virtio_net.h
>> +++ b/include/linux/virtio_net.h
>> @@ -112,8 +112,12 @@ static inline int virtio_net_hdr_from_skb(const
>> struct sk_buff *skb,
>> ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
>> ????????? else if (sinfo->gso_type & SKB_GSO_TCPV6)
>> ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
>> -??????? else
>> -??????????? return -EINVAL;
>> +??????? else {
>> +??????????? if (skb->data_len == 0)
>> +??????????????? h...
2020 Feb 11
2
[PATCH] virtio: Work around frames incorrectly marked as gso
...ux/virtio_net.h
>> index 0d1fe9297ac6..d90d5cff1b9a 100644
>> --- a/include/linux/virtio_net.h
>> +++ b/include/linux/virtio_net.h
>> @@ -112,8 +112,12 @@ static inline int virtio_net_hdr_from_skb(const
>> struct sk_buff *skb,
>> ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
>> ????????? else if (sinfo->gso_type & SKB_GSO_TCPV6)
>> ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
>> -??????? else
>> -??????????? return -EINVAL;
>> +??????? else {
>> +??????????? if (skb->data_len == 0)
>> +??????????????? h...
2008 Jan 23
1
[PATCH 1/3] Cleanup and simplify virtnet header
..., int, 0444);
MODULE_LICENSE("GPL");
@@ -95,12 +99,9 @@ static void receive_skb(struct net_devic
if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) {
pr_debug("GSO!\n");
- switch (hdr->gso_type) {
+ switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) {
case VIRTIO_NET_HDR_GSO_TCPV4:
skb_shinfo(skb)->gso_type = SKB_GSO_TCPV4;
- break;
- case VIRTIO_NET_HDR_GSO_TCPV4_ECN:
- skb_shinfo(skb)->gso_type = SKB_GSO_TCP_ECN;
break;
case VIRTIO_NET_HDR_GSO_UDP:
skb_shinfo(skb)->gso_type = SKB_GSO_UDP;
@@ -114,6 +115,9 @@ static void receive_skb(struct net_d...
2008 Jan 23
1
[PATCH 1/3] Cleanup and simplify virtnet header
..., int, 0444);
MODULE_LICENSE("GPL");
@@ -95,12 +99,9 @@ static void receive_skb(struct net_devic
if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) {
pr_debug("GSO!\n");
- switch (hdr->gso_type) {
+ switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) {
case VIRTIO_NET_HDR_GSO_TCPV4:
skb_shinfo(skb)->gso_type = SKB_GSO_TCPV4;
- break;
- case VIRTIO_NET_HDR_GSO_TCPV4_ECN:
- skb_shinfo(skb)->gso_type = SKB_GSO_TCP_ECN;
break;
case VIRTIO_NET_HDR_GSO_UDP:
skb_shinfo(skb)->gso_type = SKB_GSO_UDP;
@@ -114,6 +115,9 @@ static void receive_skb(struct net_d...
2015 Jan 26
0
[PATCH 3/3] Revert "drivers/net: Disable UFO through virtio"
..._HDR_GSO_UDP:
- pr_warn_once("macvtap: %s: using disabled UFO feature; please fix this program\n",
- current->comm);
gso_type = SKB_GSO_UDP;
break;
default:
@@ -633,6 +631,8 @@ static void macvtap_skb_to_vnet_hdr(struct macvtap_queue *q,
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
else if (sinfo->gso_type & SKB_GSO_TCPV6)
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
+ else if (sinfo->gso_type & SKB_GSO_UDP)
+ vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_UDP;
else
BUG();
if (sinfo->gso_type & SKB_GSO_TCP_ECN)
@@ -962,6 +962,9 @@ st...
2015 Jan 26
0
[PATCH 3/3] Revert "drivers/net: Disable UFO through virtio"
..._HDR_GSO_UDP:
- pr_warn_once("macvtap: %s: using disabled UFO feature; please fix this program\n",
- current->comm);
gso_type = SKB_GSO_UDP;
break;
default:
@@ -633,6 +631,8 @@ static void macvtap_skb_to_vnet_hdr(struct macvtap_queue *q,
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
else if (sinfo->gso_type & SKB_GSO_TCPV6)
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
+ else if (sinfo->gso_type & SKB_GSO_UDP)
+ vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_UDP;
else
BUG();
if (sinfo->gso_type & SKB_GSO_TCP_ECN)
@@ -962,6 +962,9 @@ st...
2015 Jan 30
0
[PATCH v2 3/3] Revert "drivers/net: Disable UFO through virtio"
..._HDR_GSO_UDP:
- pr_warn_once("macvtap: %s: using disabled UFO feature; please fix this program\n",
- current->comm);
gso_type = SKB_GSO_UDP;
break;
default:
@@ -633,6 +631,8 @@ static void macvtap_skb_to_vnet_hdr(struct macvtap_queue *q,
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
else if (sinfo->gso_type & SKB_GSO_TCPV6)
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
+ else if (sinfo->gso_type & SKB_GSO_UDP)
+ vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_UDP;
else
BUG();
if (sinfo->gso_type & SKB_GSO_TCP_ECN)
@@ -962,6 +962,9 @@ st...
2015 Jan 30
0
[PATCH v2 3/3] Revert "drivers/net: Disable UFO through virtio"
..._HDR_GSO_UDP:
- pr_warn_once("macvtap: %s: using disabled UFO feature; please fix this program\n",
- current->comm);
gso_type = SKB_GSO_UDP;
break;
default:
@@ -633,6 +631,8 @@ static void macvtap_skb_to_vnet_hdr(struct macvtap_queue *q,
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
else if (sinfo->gso_type & SKB_GSO_TCPV6)
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
+ else if (sinfo->gso_type & SKB_GSO_UDP)
+ vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_UDP;
else
BUG();
if (sinfo->gso_type & SKB_GSO_TCP_ECN)
@@ -962,6 +962,9 @@ st...
2020 Feb 13
4
[PATCH] virtio: Work around frames incorrectly marked as gso
...ude/linux/virtio_net.h
> > > > > > +++ b/include/linux/virtio_net.h
> > > > > > @@ -112,8 +112,12 @@ static inline int
> > > > > > virtio_net_hdr_from_skb(const struct sk_buff *skb,
> > > > > > ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
> > > > > > ????????? else if (sinfo->gso_type & SKB_GSO_TCPV6)
> > > > > > ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
> > > > > > -??????? else
> > > > > > -??????????? return -EINVAL;
> > >...
2020 Feb 13
4
[PATCH] virtio: Work around frames incorrectly marked as gso
...ude/linux/virtio_net.h
> > > > > > +++ b/include/linux/virtio_net.h
> > > > > > @@ -112,8 +112,12 @@ static inline int
> > > > > > virtio_net_hdr_from_skb(const struct sk_buff *skb,
> > > > > > ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
> > > > > > ????????? else if (sinfo->gso_type & SKB_GSO_TCPV6)
> > > > > > ????????????? hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
> > > > > > -??????? else
> > > > > > -??????????? return -EINVAL;
> > >...
2014 Oct 27
0
[PATCH net 1/2] drivers/net: Disable UFO through virtio
...DR_GSO_UDP:
+ pr_warn_once("macvtap: %s: using disabled UFO feature; please fix this program\n",
+ current->comm);
gso_type = SKB_GSO_UDP;
break;
default:
@@ -614,8 +616,6 @@ static void macvtap_skb_to_vnet_hdr(const struct sk_buff *skb,
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
else if (sinfo->gso_type & SKB_GSO_TCPV6)
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
- else if (sinfo->gso_type & SKB_GSO_UDP)
- vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_UDP;
else
BUG();
if (sinfo->gso_type & SKB_GSO_TCP_ECN)
@@ -950,9 +950,6 @@ st...
2014 Oct 27
0
[PATCH net 1/2] drivers/net: Disable UFO through virtio
...DR_GSO_UDP:
+ pr_warn_once("macvtap: %s: using disabled UFO feature; please fix this program\n",
+ current->comm);
gso_type = SKB_GSO_UDP;
break;
default:
@@ -614,8 +616,6 @@ static void macvtap_skb_to_vnet_hdr(const struct sk_buff *skb,
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
else if (sinfo->gso_type & SKB_GSO_TCPV6)
vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
- else if (sinfo->gso_type & SKB_GSO_UDP)
- vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_UDP;
else
BUG();
if (sinfo->gso_type & SKB_GSO_TCP_ECN)
@@ -950,9 +950,6 @@ st...
2014 Oct 30
5
[PATCH v2 net 0/2] drivers/net,ipv6: Fix IPv6 fragment ID selection for virtio
The virtio net protocol supports UFO but does not provide for passing a
fragment ID for fragmentation of IPv6 packets. We used to generate a
fragment ID wherever such a packet was fragmented, but currently we
always use ID=0!
v2: Add blank lines after declarations
Ben.
Ben Hutchings (2):
drivers/net: Disable UFO through virtio
drivers/net,ipv6: Select IPv6 fragment idents for virtio UFO