Displaying 20 results from an estimated 21 matches for "netif_f_ufo6_bit".
2014 Nov 21
1
[PATCH v2 net 1/2] drivers/net: Disable UFO through virtio
...for VMs only, but
> isn't it likely many other devices based their code on this comment?
There's only one hardware driver that implements UFO (s2io), and it does
handle IPv6.
> How about we disable UFO for IPv6 globally, and put the
> flag back in?
> We can then gradually add NETIF_F_UFO6_BIT for devices that
> actually support UFO for IPv6.
Since the corresponding virtio feature bit is understood to include
UFO/IPv6, and existing VMs rely on that, I don't see what this solves.
Ben.
--
Ben Hutchings
Beware of bugs in the above code;
I have only proved it correct, not tried it...
2014 Nov 21
1
[PATCH v2 net 1/2] drivers/net: Disable UFO through virtio
...for VMs only, but
> isn't it likely many other devices based their code on this comment?
There's only one hardware driver that implements UFO (s2io), and it does
handle IPv6.
> How about we disable UFO for IPv6 globally, and put the
> flag back in?
> We can then gradually add NETIF_F_UFO6_BIT for devices that
> actually support UFO for IPv6.
Since the corresponding virtio feature bit is understood to include
UFO/IPv6, and existing VMs rely on that, I don't see what this solves.
Ben.
--
Ben Hutchings
Beware of bugs in the above code;
I have only proved it correct, not tried it...
2014 Dec 17
2
[PATCH 01/10] core: Split out UFO6 support
...etdev_features.h
> +++ b/include/linux/netdev_features.h
> @@ -48,8 +48,9 @@ enum {
> NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
> NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
> NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
> + NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
> /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
> - NETIF_F_GSO_MPLS_BIT,
> + NETIF_F_UFO6_BIT,
>
> NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
> NETIF_F_SCTP_CSUM_BIT, /* SCTP checksum offload */
> @@ -109,6 +110,7 @@ enum {
>...
2014 Dec 17
2
[PATCH 01/10] core: Split out UFO6 support
...etdev_features.h
> +++ b/include/linux/netdev_features.h
> @@ -48,8 +48,9 @@ enum {
> NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
> NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
> NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
> + NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
> /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
> - NETIF_F_GSO_MPLS_BIT,
> + NETIF_F_UFO6_BIT,
>
> NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
> NETIF_F_SCTP_CSUM_BIT, /* SCTP checksum offload */
> @@ -109,6 +110,7 @@ enum {
>...
2014 Dec 17
0
[PATCH 01/10] core: Split out UFO6 support
...5 100644
--- a/include/linux/netdev_features.h
+++ b/include/linux/netdev_features.h
@@ -48,8 +48,9 @@ enum {
NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
+ NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
/**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
- NETIF_F_GSO_MPLS_BIT,
+ NETIF_F_UFO6_BIT,
NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
NETIF_F_SCTP_CSUM_BIT, /* SCTP checksum offload */
@@ -109,6 +110,7 @@ enum {
#define NETIF_F_TSO_ECN __NETIF_F(TSO_E...
2014 Dec 17
0
[PATCH 01/10] core: Split out UFO6 support
...5 100644
--- a/include/linux/netdev_features.h
+++ b/include/linux/netdev_features.h
@@ -48,8 +48,9 @@ enum {
NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
+ NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
/**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
- NETIF_F_GSO_MPLS_BIT,
+ NETIF_F_UFO6_BIT,
NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
NETIF_F_SCTP_CSUM_BIT, /* SCTP checksum offload */
@@ -109,6 +110,7 @@ enum {
#define NETIF_F_TSO_ECN __NETIF_F(TSO_E...
2014 Dec 18
2
[PATCH 01/10] core: Split out UFO6 support
...dev_features.h
> >> @@ -48,8 +48,9 @@ enum {
> >> NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
> >> NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
> >> NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
> >> + NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
> >> /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
> >> - NETIF_F_GSO_MPLS_BIT,
> >> + NETIF_F_UFO6_BIT,
> >>
> >> NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
> >> NETIF_F_SCTP_CSUM_BIT, /* SCTP chec...
2014 Dec 18
2
[PATCH 01/10] core: Split out UFO6 support
...dev_features.h
> >> @@ -48,8 +48,9 @@ enum {
> >> NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
> >> NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
> >> NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
> >> + NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
> >> /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
> >> - NETIF_F_GSO_MPLS_BIT,
> >> + NETIF_F_UFO6_BIT,
> >>
> >> NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
> >> NETIF_F_SCTP_CSUM_BIT, /* SCTP chec...
2014 Dec 17
0
[PATCH 01/10] core: Split out UFO6 support
...; +++ b/include/linux/netdev_features.h
>> @@ -48,8 +48,9 @@ enum {
>> NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
>> NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
>> NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
>> + NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
>> /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
>> - NETIF_F_GSO_MPLS_BIT,
>> + NETIF_F_UFO6_BIT,
>>
>> NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
>> NETIF_F_SCTP_CSUM_BIT, /* SCTP checksum offload */
>> @@ -1...
2014 Dec 17
0
[PATCH 01/10] core: Split out UFO6 support
...; +++ b/include/linux/netdev_features.h
>> @@ -48,8 +48,9 @@ enum {
>> NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
>> NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
>> NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
>> + NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
>> /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
>> - NETIF_F_GSO_MPLS_BIT,
>> + NETIF_F_UFO6_BIT,
>>
>> NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
>> NETIF_F_SCTP_CSUM_BIT, /* SCTP checksum offload */
>> @@ -1...
2014 Dec 18
0
[PATCH 01/10] core: Split out UFO6 support
...>>>> @@ -48,8 +48,9 @@ enum {
>>>> NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
>>>> NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
>>>> NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
>>>> + NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
>>>> /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
>>>> - NETIF_F_GSO_MPLS_BIT,
>>>> + NETIF_F_UFO6_BIT,
>>>>
>>>> NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
>>>> NETIF_F_SCTP_CSUM_...
2014 Dec 18
0
[PATCH 01/10] core: Split out UFO6 support
...>>>> @@ -48,8 +48,9 @@ enum {
>>>> NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
>>>> NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
>>>> NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
>>>> + NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
>>>> /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
>>>> - NETIF_F_GSO_MPLS_BIT,
>>>> + NETIF_F_UFO6_BIT,
>>>>
>>>> NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
>>>> NETIF_F_SCTP_CSUM_...
2014 Dec 18
3
[PATCH 01/10] core: Split out UFO6 support
...-48,8 +48,9 @@ enum {
> >>>> NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
> >>>> NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
> >>>> NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
> >>>> + NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
> >>>> /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
> >>>> - NETIF_F_GSO_MPLS_BIT,
> >>>> + NETIF_F_UFO6_BIT,
> >>>>
> >>>> NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
> >>...
2014 Dec 18
3
[PATCH 01/10] core: Split out UFO6 support
...-48,8 +48,9 @@ enum {
> >>>> NETIF_F_GSO_UDP_TUNNEL_BIT, /* ... UDP TUNNEL with TSO */
> >>>> NETIF_F_GSO_UDP_TUNNEL_CSUM_BIT,/* ... UDP TUNNEL with TSO & CSUM */
> >>>> NETIF_F_GSO_MPLS_BIT, /* ... MPLS segmentation */
> >>>> + NETIF_F_UFO6_BIT, /* ... UDPv6 fragmentation */
> >>>> /**/NETIF_F_GSO_LAST = /* last bit, see GSO_MASK */
> >>>> - NETIF_F_GSO_MPLS_BIT,
> >>>> + NETIF_F_UFO6_BIT,
> >>>>
> >>>> NETIF_F_FCOE_CRC_BIT, /* FCoE CRC32 */
> >>...
2014 Dec 17
20
[PATCH 00/10] Split UFO into v4 and v6 versions.
UFO support in the kernel applies to both IPv4 and IPv6 protocols
with the same device feature. However some devices may not be able
to support one of the offloads. For this we split the UFO offload
feature into 2 pieces. NETIF_F_UFO now controlls the IPv4 part and
this series introduces NETIF_F_UFO6.
As a result of this work, we can now re-enable NETIF_F_UFO on
virtio_net devices and restore
2014 Dec 17
20
[PATCH 00/10] Split UFO into v4 and v6 versions.
UFO support in the kernel applies to both IPv4 and IPv6 protocols
with the same device feature. However some devices may not be able
to support one of the offloads. For this we split the UFO offload
feature into 2 pieces. NETIF_F_UFO now controlls the IPv4 part and
this series introduces NETIF_F_UFO6.
As a result of this work, we can now re-enable NETIF_F_UFO on
virtio_net devices and restore
2014 Nov 19
0
[PATCH v2 net 1/2] drivers/net: Disable UFO through virtio
...... UDPv4 fragmentation */
this comment is wrong then?
The patches drastically regress performance for UDPv4 for VMs only, but
isn't it likely many other devices based their code on this comment?
How about we disable UFO for IPv6 globally, and put the
flag back in?
We can then gradually add NETIF_F_UFO6_BIT for devices that
actually support UFO for IPv6.
Thoughts?
> ---
> drivers/net/macvtap.c | 13 +++++--------
> drivers/net/tun.c | 19 +++++++++++--------
> drivers/net/virtio_net.c | 24 ++++++++++++++----------
> 3 files changed, 30 insertions(+), 26 deletions(-)
>...
2014 Oct 30
3
[PATCH v2 net 1/2] drivers/net: Disable UFO through virtio
IPv6 does not allow fragmentation by routers, so there is no
fragmentation ID in the fixed header. UFO for IPv6 requires the ID to
be passed separately, but there is no provision for this in the virtio
net protocol.
Until recently our software implementation of UFO/IPv6 generated a new
ID, but this was a bug. Now we will use ID=0 for any UFO/IPv6 packet
passed through a tap, which is even
2014 Oct 30
3
[PATCH v2 net 1/2] drivers/net: Disable UFO through virtio
IPv6 does not allow fragmentation by routers, so there is no
fragmentation ID in the fixed header. UFO for IPv6 requires the ID to
be passed separately, but there is no provision for this in the virtio
net protocol.
Until recently our software implementation of UFO/IPv6 generated a new
ID, but this was a bug. Now we will use ID=0 for any UFO/IPv6 packet
passed through a tap, which is even
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