patrickelectric opened a new pull request, #18922:
URL: https://github.com/apache/nuttx/pull/18922

   ## Summary
   
   The Ethernet MAC (57.11.4) was already configured in the code, but it was 
necessary to configure the Transmit Descriptor (57.10.3) in read format:
     - Checksum Interface Control for IP, payload and pseudo-header
   Add checks for Receive Descriptor (57.10.4) in read format:
     - Receive Descriptor 1 is valid from Receive Descriptor 3
     - IP checksum was not bypassed
     - IP header checksum error op IP payload checksum error is set
   
   ## Impact
   Avoid unnecessary checksums done in software
   
   ## Testing
   
   Testing with STM32 Nucleo-144 using iperf, improved transmission from
   35 MBits/s to 50MBits/s.
   
   ### With CONFIG_STM32H5_ETH_HWCHECKSUM
   ```
   nsh> iperf -c 192.168.2.2 -t 2 -i 1
        IP: 192.168.2.90
   
    mode=tcp-client sip=192.168.2.90:5001,dip=192.168.2.2:5001, interval=1, 
time=2
   
              Interval         Transfer         Bandwidth
   
      0.00-   1.00 sec    6291456 Bytes   50.23 Mbits/sec
      1.00-   2.00 sec    6307840 Bytes   50.36 Mbits/sec
      0.00-   2.00 sec   12599296 Bytes   50.30 Mbits/sec
   iperf exit
   nsh> xd 0x40028000 4
   Hex dump:
   0000: 03 e1 00 08
   ```
   
   ### Without CONFIG_STM32H5_ETH_HWCHECKSUM
   ```
   nsh> iperf -c 192.168.2.2 -t 2 -i 1
        IP: 192.168.2.90
   
    mode=tcp-client sip=192.168.2.90:5001,dip=192.168.2.2:5001, interval=1, 
time=2
   
              Interval         Transfer         Bandwidth
   
      0.00-   1.00 sec    4358144 Bytes   34.80 Mbits/sec
      1.00-   2.00 sec    4374528 Bytes   34.89 Mbits/sec
      0.00-   2.00 sec    8732672 Bytes   34.84 Mbits/sec
   iperf exit
   nsh> xd 0x40028000 4
   Hex dump:
   0000: 03 e1 00 00
   ```
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to