ix(4): enable checksum offload

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

ix(4): enable checksum offload

Brad Smith-14
Here is a diff to enable the checksum offload support for ix(4).

Looking for any testing.


Index: if_ix.c
===================================================================
RCS file: /home/cvs/src/sys/dev/pci/if_ix.c,v
retrieving revision 1.92
diff -u -p -r1.92 if_ix.c
--- if_ix.c 23 Aug 2013 19:44:14 -0000 1.92
+++ if_ix.c 9 Sep 2013 18:47:15 -0000
@@ -1543,9 +1543,7 @@ ixgbe_setup_interface(struct ix_softc *s
  ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING;
 #endif
 
-#ifdef IX_CSUM_OFFLOAD
  ifp->if_capabilities |= IFCAP_CSUM_TCPv4 | IFCAP_CSUM_UDPv4;
-#endif
 
  /*
  * Specify the media types supported by this sc and register

--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

Reply | Threaded
Open this post in threaded view
|

Re: ix(4): enable checksum offload

Mike Belopuhov-5
On 9 September 2013 21:48, Brad Smith <[hidden email]> wrote:
> Here is a diff to enable the checksum offload support for ix(4).
>
> Looking for any testing.
>

last time i checked this broke ospf traffic.  please make sure at least
ip/tcp, ip/udp, ip/icmp, ip/ip, ip/gre, ip/esp, ip/ah and ip/ospf work fine
with this.

Reply | Threaded
Open this post in threaded view
|

Re: ix(4): enable checksum offload

Theo de Raadt
In reply to this post by Brad Smith-14
> On 9 September 2013 21:48, Brad Smith <[hidden email]> wrote:
> > Here is a diff to enable the checksum offload support for ix(4).
> >
> > Looking for any testing.
> >
>
> last time i checked this broke ospf traffic.  please make sure at least
> ip/tcp, ip/udp, ip/icmp, ip/ip, ip/gre, ip/esp, ip/ah and ip/ospf work fine
> with this.

and nfs v2 and nfs v3.

REALLY.

Reply | Threaded
Open this post in threaded view
|

Re: ix(4): enable checksum offload

Hrvoje Popovski
In reply to this post by Mike Belopuhov-5
On 9.9.2013. 22:07, Mike Belopuhov wrote:

> On 9 September 2013 21:48, Brad Smith <[hidden email]> wrote:
>> Here is a diff to enable the checksum offload support for ix(4).
>>
>> Looking for any testing.
>>
>
> last time i checked this broke ospf traffic.  please make sure at least
> ip/tcp, ip/udp, ip/icmp, ip/ip, ip/gre, ip/esp, ip/ah and ip/ospf work fine
> with this.
>

Hi all,

is this still interesting topic? if it is, i have testbed to test csum
for em i350 (i350v2 is on the way) and ix 82599 or x540. and week ago i
ordered
http://www.supermicro.com/products/system/1U/5018/SYS-5018D-FN8T.cfm
with x552 or x557 not sure, i350-am4 and i210 ... lots of em's and ix's :)

Reply | Threaded
Open this post in threaded view
|

Re: ix(4): enable checksum offload

Maxim Bourmistrov-5
Not sure what is wrong, if it is driver or chipset, but in freebsd I had to
'-rxcsum6 -txcsum6 -tso -vlanhwtso’ in order to make it function.

> On 16 apr. 2016, at 18:23, Hrvoje Popovski <[hidden email]> wrote:
>
> On 9.9.2013. 22:07, Mike Belopuhov wrote:
>> On 9 September 2013 21:48, Brad Smith <[hidden email]> wrote:
>>> Here is a diff to enable the checksum offload support for ix(4).
>>>
>>> Looking for any testing.
>>>
>>
>> last time i checked this broke ospf traffic.  please make sure at least
>> ip/tcp, ip/udp, ip/icmp, ip/ip, ip/gre, ip/esp, ip/ah and ip/ospf work fine
>> with this.
>>
>
> Hi all,
>
> is this still interesting topic? if it is, i have testbed to test csum
> for em i350 (i350v2 is on the way) and ix 82599 or x540. and week ago i
> ordered
> http://www.supermicro.com/products/system/1U/5018/SYS-5018D-FN8T.cfm
> with x552 or x557 not sure, i350-am4 and i210 ... lots of em's and ix's :)
>

Reply | Threaded
Open this post in threaded view
|

Re: ix(4): enable checksum offload

Jan Klemkow
In reply to this post by Hrvoje Popovski
On 9.9.2013. 22:07, Mike Belopuhov wrote:
> On 9 September 2013 21:48, Brad Smith <[hidden email]> wrote:
> > Here is a diff to enable the checksum offload support for ix(4).
> >
> > Looking for any testing.
> >
>
> last time i checked this broke ospf traffic.  please make sure at least
> ip/tcp, ip/udp, ip/icmp, ip/ip, ip/gre, ip/esp, ip/ah and ip/ospf work fine
> with this.

With checksum offloading enabled on the ix(4) I got ~20% performance
improvement with relayd(8) using socket splicing.  I think its worth to
enable this feature by default.

I also did my homework and tested all requested protocols:

                IPv4 IPv6 4over6 6over4
ip/tcp check check
ip/udp check check
ip/icmp check check
ip/ip check check check check
ip/gre check check check check
ip/esp check check
ip/ospf check check
nfs v2 check -
nfs v3 check -

I used the following card for testing:
ix0 at pci3 dev 0 function 0 "Intel 82599" rev 0x01: msi, address xx:xx:xx:xx:xx:xx

Looking for further testing or any OK?

Bye,
Jan

Index: sys/dev/pci/if_ix.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_ix.c,v
retrieving revision 1.157
diff -u -p -r1.157 if_ix.c
--- sys/dev/pci/if_ix.c 10 Apr 2019 09:55:02 -0000 1.157
+++ sys/dev/pci/if_ix.c 27 Jul 2019 19:50:04 -0000
@@ -1678,9 +1678,7 @@ ixgbe_setup_interface(struct ix_softc *s
  ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING;
 #endif
 
-#ifdef IX_CSUM_OFFLOAD
  ifp->if_capabilities |= IFCAP_CSUM_TCPv4 | IFCAP_CSUM_UDPv4;
-#endif
 
  /*
  * Specify the media types supported by this sc and register