On 10.6.2022. 10:20, David Gwynne wrote:
> 
> 
>> On 10 Jun 2022, at 08:24, Hrvoje Popovski <hrv...@srce.hr> wrote:
>>
>> On 9.6.2022. 19:25, Hrvoje Popovski wrote:
>>> On 9.6.2022. 19:11, Jan Klemkow wrote:
>>>> On Thu, Jun 09, 2022 at 08:25:22AM +0200, Hrvoje Popovski wrote:
>>>>> On 8.6.2022. 22:01, Hrvoje Popovski wrote:
>>>>>> On 8.6.2022. 15:04, Jan Klemkow wrote:
>>>>>>> Could you show me, how your setup and your configuration looks like?
>>>>>> Yes, of course ..
>>>>>>
>>>>>> All my lab boxes are connected to switch (no flow-control). In this
>>>>>> setup ix0 and ix1 are in aggr and vlans 700 and 800 are tagged on aggr3.
>>>>>> I have tried tcpbench and iperf3 from openbsd or linux box and with tso
>>>>>> I'm getting few Kbps. In attachment you can find tcpdump for iperf3 on
>>>>>> openbsd with or without tso
>>>>>>
>>>>>> I will play more with this setup maybe I'm doing something terribly 
>>>>>> wrong...
>>>>>>
>>>>>> My OpenBSD conf:
>>>>>>
>>>>>> r620-1# cat /etc/hostname.ix0
>>>>>> up
>>>>>>
>>>>>> r620-1# cat /etc/hostname.ix1
>>>>>> up
>>>>>>
>>>>>> r620-1# cat /etc/hostname.aggr3
>>>>>> trunkport ix0
>>>>>> trunkport ix1
>>>>>> up
>>>>>>
>>>>>> r620-1# cat /etc/hostname.vlan700
>>>>>> parent aggr3
>>>>>> vnetid 700
>>>>>> lladdr ec:f4:bb:da:f7:f8
>>>>>> inet 192.168.100.11/24
>>>>>> !route add 16/8 192.168.100.111
>>>>>> up
>>>>>>
>>>>>> r620-1# cat /etc/hostname.vlan800
>>>>>> parent aggr3
>>>>>> vnetid 800
>>>>>> lladdr ec:f4:bb:da:f7:fa
>>>>>> inet 192.168.111.11/24
>>>>>> !route add 48/8 192.168.111.111
>>>>>> up
>>>>>
>>>>> now I've configured aggr like this
>>>>>
>>>>> ix0 - aggr0 - vlan700
>>>>> ix1 - aggr1 - vlan800
>>>>> ip configuration is the same
>>>>>
>>>>> still I have problem with tso
>>>>>
>>>>> tcpdump in attachment
>>>>
>>>> The tcpdump output on my machine looks similar to yours.
>>>> Do you see TCP retransmits on your sending Linux host?
>>>>
>>>> # netstat -s | grep retransmitted
>>>>    0 segments retransmitted
>>>>
>>>
>>> [root@test2 pktgen]# netstat -s | grep -i segment
>>>    8352173627 segments received
>>>    14648977712 segments send out
>>>    13336873 segments retransmited
>>>    586 bad segments received.
>>>
>>> yes, segments retransmited is increasing
>>>
>>>
>>>> Which specific ix(4) NIC do you use?
>>>>
>>>
>>> r620-1# dmesg | grep ix
>>> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
>>> ix0 at pci1 dev 0 function 0 "Intel 82599" rev 0x01, msix, 6 queues,
>>> address ec:f4:bb:da:f7:f8
>>> ix1 at pci1 dev 0 function 1 "Intel 82599" rev 0x01, msix, 6 queues,
>>> address ec:f4:bb:da:f7:fa
>>> ix2 at pci4 dev 0 function 0 "Intel X540T" rev 0x01, msix, 6 queues,
>>> address a0:36:9f:29:f2:0c
>>> ix3 at pci4 dev 0 function 1 "Intel X540T" rev 0x01, msix, 6 queues,
>>> address a0:36:9f:29:f2:0e
>>>
>>>
>>> I'm using ix0 and ix1 for testing
>>>> I'm using these two:
>>>>
>>>> # dmesg | grep ^ix
>>>> ix0 at pci3 dev 0 function 0 "Intel 82599" rev 0x01, msix, 12 queues, 
>>>> address 00:1b:21:87:fb:2c
>>>> ix1 at pci3 dev 0 function 1 "Intel 82599" rev 0x01, msix, 12 queues, 
>>>> address 00:1b:21:87:fb:2d
>>>>
>>>> Thanks,
>>>> Jan
>>>>
>>>
>>
>> Hi,
>>
>> I tried with trunk lacp and tagged vlan700 over trunk0 and it's working
>> as expected. Everything is the same as before, only aggr0 is now trunk0.
>>
>> with tso
>> [  4]  17.00-18.00  sec  1.09 GBytes  9.39 Gbits/sec   22    622 KBytes
>> [  4]  18.00-19.00  sec  1.09 GBytes  9.39 Gbits/sec   17    662 KBytes
>> [  4]  19.00-20.00  sec  1.09 GBytes  9.39 Gbits/sec    0    696 KBytes
>> [  4]  20.00-21.00  sec  1.09 GBytes  9.39 Gbits/sec    0    735 KBytes
>>
>>
>> without tso
>> [  4]  17.00-18.00  sec   594 MBytes  4.98 Gbits/sec    0    612 KBytes
>> [  4]  18.00-19.00  sec   594 MBytes  4.98 Gbits/sec    0    646 KBytes
>> [  4]  19.00-20.00  sec   595 MBytes  4.99 Gbits/sec    0    665 KBytes
>> [  4]  20.00-20.87  sec   515 MBytes  4.99 Gbits/sec    0    675 KBytes
>>
>>
>> tcpdump is the same as with aggr...
>>
>>
>> After this I've tried same aggr/vlan setup on two different boxes with
>> ix interfaces and send traffic to them from linux and openbsd and
>> results are not good ...
>> Only differences between your setup and mine is that i have switch and
>> you have directly connected hosts... but i don't think that should be
>> the problem..
>>
>> It would be great if someone else could test this because it's not that
>> i don't know what I'm doing but I'm running out of ideas...
> 
> is this rx ring moderation not scaling fast enough?
> 
> what's systat mb look like when you're trying? do you see qdrops increase in 
> the ix-rxq kstats?
> 
> dlg

while sending traffic from linux to openbsd ix0 with tso

systat mb
IFACE            RING      LIVELOCKS  SIZE ALIVE   LWM   HWM   CWM
System           mbufs             0   256  1685         143
                 mcl2k                2048   513          74
                 mcl2k2               2112   615          82
                 mcl4k                4096     0           1
                 mcl8k                8192   512          65
                 mcl12k              12288    36          10

ix0              0                    2048    12    10   255    12
                 1                    2048    13    10   255    13
                 2                    2048    10    10   255    10
                 3                    2048    10    10   255    10
                 4                    2048    10    10   255    10
                 5                    2048    10    10   255    10
                 6                    2048    10    10   255    10
                 7                    2048    10    10   255    10
                 8                    2048    13    10   255    13
                 9                    2048    10    10   255    10
                 10                   2048    11    10   255    11
                 11                   2048    10    10   255    10
                 12                   2048    13    10   255    13
                 13                   2048    10    10   255    10
                 14                   2048    12    10   255    12
                 15                   2048    10    10   255    10




I don't see any qdrops increasing
smc24# kstat ix-rxq | grep qdrops
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets
          qdrops: 0 packets


full kstat for ix0 while sending traffic

ix0:0:ix-rxq:0
         packets: 2637 packets
           bytes: 347878 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:1
         packets: 237 packets
           bytes: 355434 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:2
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:3
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:4
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:5
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:6
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:7
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:8
         packets: 21023 packets
           bytes: 31908615 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:9
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:10
         packets: 8 packets
           bytes: 693 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:11
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:12
         packets: 599 packets
           bytes: 903535 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:13
         packets: 2494545 packets
           bytes: 3771018781 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:14
         packets: 14417821 packets
           bytes: 21806454328 bytes
          qdrops: 0 packets
ix0:0:ix-rxq:15
         packets: 12 packets
           bytes: 993 bytes
          qdrops: 0 packets
ix0:0:ix-stats:0
        crc errs: 0 packets
     tx link xon: 0 packets
     rx link xon: 0 packets
    tx link xoff: 0 packets
    rx link xoff: 0 packets
          rx 64B: 20 packets
      rx 65-127B: 21423 packets
     rx 128-255B: 5462 packets
     rx 256-511B: 814 packets
    rx 512-1023B: 2031 packets
    rx 1024-maxB: 16907132 packets
         tx good: 1911084 packets
         rx good: 25678737785 bytes
         tx good: 139295575 bytes
    rx undersize: 0 packets
     rx fragment: 0 packets
     rx oversize: 0 packets
       rx jabber: 0 packets
        rx total: 25682300131 bytes
        rx total: 16972733 packets
        tx total: 1911084 packets
         rx good: 16936882 packets
        rx bcast: 37 packets
        rx mcast: 2599 packets
          tx 64B: 125 packets
      tx 65-127B: 1908357 packets
     tx 128-255B: 2602 packets
     tx 256-511B: 0 packets
    tx 512-1023B: 0 packets
    tx 1024-maxB: 0 packets
        tx mcast: 2603 packets
        tx bcast: 3 packets
ix0:0:ix-txq:0
         packets: 2738 packets
           bytes: 396853 bytes
ix0:0:ix-txq:1
         packets: 78 packets
           bytes: 5580 bytes
ix0:0:ix-txq:2
         packets: 0 packets
           bytes: 0 bytes
ix0:0:ix-txq:3
         packets: 0 packets
           bytes: 0 bytes
ix0:0:ix-txq:4
         packets: 0 packets
           bytes: 0 bytes
ix0:0:ix-txq:5
         packets: 0 packets
           bytes: 0 bytes
ix0:0:ix-txq:6
         packets: 0 packets
           bytes: 0 bytes
ix0:0:ix-txq:7
         packets: 0 packets
           bytes: 0 bytes
ix0:0:ix-txq:8
         packets: 13683 packets
           bytes: 1055682 bytes
ix0:0:ix-txq:9
         packets: 0 packets
           bytes: 0 bytes
ix0:0:ix-txq:10
         packets: 5 packets
           bytes: 354 bytes
ix0:0:ix-txq:11
         packets: 0 packets
           bytes: 0 bytes
ix0:0:ix-txq:12
         packets: 366 packets
           bytes: 28272 bytes
ix0:0:ix-txq:13
         packets: 1286487 packets
           bytes: 90054066 bytes
ix0:0:ix-txq:14
         packets: 607719 packets
           bytes: 40109491 bytes
ix0:0:ix-txq:15
         packets: 8 packets
           bytes: 565 bytes
ix0:0:rxq:0
         packets: 2637 packets
           bytes: 347746 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:1
         packets: 154 packets
           bytes: 349008 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:2
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:3
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:4
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:5
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:6
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:7
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:8
         packets: 16490 packets
           bytes: 31525345 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:9
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:10
         packets: 8 packets
           bytes: 661 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:11
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:12
         packets: 451 packets
           bytes: 891371 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:13
         packets: 2494545 packets
           bytes: 3761040645 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:14
         packets: 800101 packets
           bytes: 20907684764 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:rxq:15
         packets: 12 packets
           bytes: 953 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
ix0:0:txq:0
         packets: 2738 packets
           bytes: 396397 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:1
         packets: 78 packets
           bytes: 5268 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:2
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:3
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:4
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:5
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:6
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:7
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:8
         packets: 13683 packets
           bytes: 1000950 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:9
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:10
         packets: 5 packets
           bytes: 334 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:11
         packets: 0 packets
           bytes: 0 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:12
         packets: 366 packets
           bytes: 26808 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:13
         packets: 1286487 packets
           bytes: 84908146 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:14
         packets: 607719 packets
           bytes: 40109459 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false
ix0:0:txq:15
         packets: 8 packets
           bytes: 533 bytes
          qdrops: 0 packets
          errors: 0 packets
            qlen: 0 packets
         maxqlen: 255 packets
         oactive: false

Reply via email to