[Bug 259249] [vtnet] [regression]: checksum offloading is suppressing NAT

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 18 Oct 2021 16:33:18 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259249

            Bug ID: 259249
           Summary: [vtnet] [regression]: checksum offloading is
                    suppressing NAT
           Product: Base System
           Version: 13.0-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: emz@norma.perm.ru

Router: FreeBSD 13
Network behind NAT: some Linux hosts

Router:
---------------------------------------
[root@balancer1:/etc]# ifconfig | grep -A1 vtnet | grep options       
options=4c079b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,TXCSUM_IPV6>
      
options=4c079b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,TXCSUM_IPV6>


Host behind NAT, several curl launches:
---------------------------------------
[root@back1 server]# curl --output /dev/null
https://mirror.yandex.ru/centos/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 9469M    0  527k    0     0   150k      0 17:55:26  0:00:03 17:55:23 
150k^C
[root@back1 server]# curl --output /dev/null
https://mirror.yandex.ru/centos/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 9469M    0  671k    0     0   188k      0 14:15:29  0:00:03 14:15:26 
188k^C
[root@back1 server]# curl --output /dev/null
https://mirror.yandex.ru/centos/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 9469M    0 1599k    0     0   198k      0 13:34:49  0:00:08 13:34:41 
214k^C
[root@back1 server]# curl --output /dev/null
https://mirror.yandex.ru/centos/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 9469M    0 1647k    0     0   225k      0 11:56:44  0:00:07 11:56:37 
218k^C
[root@back1 server]# curl --output /dev/null
https://mirror.yandex.ru/centos/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 9469M    0 1247k    0     0   134k      0 20:05:17  0:00:09 20:05:08 
147k^C
[root@back1 server]# curl --output /dev/null
https://mirror.yandex.ru/centos/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 9469M    0  383k    0     0   185k      0 14:31:44  0:00:02 14:31:42 
185k^C

Router:
----------------------------------------------
[root@balancer1:/etc]# ifconfig vtnet0 -rxcsum
[root@balancer1:/etc]# ifconfig vtnet1 -rxcsum
[root@balancer1:/etc]# ifconfig vtnet1 -txcsum
[root@balancer1:/etc]# ifconfig vtnet0 -txcsum

Same host behind NAT:
----------------------------------------------
[root@back1 etc]# curl --output /dev/null
https://mirror.yandex.ru/centos/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  3 9469M    3  309M    0     0  89.6M      0  0:01:45  0:00:03  0:01:42
89.6M^C
[root@back1 etc]# curl --output /dev/null
https://mirror.yandex.ru/centos/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 9469M    0 76.9M    0     0  85.2M      0  0:01:51 --:--:--  0:01:51
85.2M^C
[root@back1 etc]# curl --output /dev/null
https://mirror.yandex.ru/centos/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  1 9469M    1 99.3M    0     0   123M      0  0:01:16 --:--:--  0:01:16 
123M^C

Guess it's self-explanatory.

-- 
You are receiving this mail because:
You are the assignee for the bug.