<html>
    <head>
      <base href="https://bugs.dpdk.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8" class="bz_new_table">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_UNCONFIRMED "
   title="UNCONFIRMED - [dpdk-23.07] vf_offload/test_tso_tunnel: IPv6/UDP/GTPU packet of iavf cannot be forwarded in 32bit"
   href="https://bugs.dpdk.org/show_bug.cgi?id=1253">1253</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[dpdk-23.07] vf_offload/test_tso_tunnel: IPv6/UDP/GTPU packet of iavf cannot be forwarded in 32bit
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>DPDK
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>23.07
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>UNCONFIRMED
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>testpmd
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>dev@dpdk.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>linglix.chen@intel.com
          </td>
        </tr>

        <tr>
          <th>Target Milestone</th>
          <td>---
          </td>
        </tr></table>
      <p>
        <div class="bz_comment_block">
          <pre class="bz_comment_text">Environment
OS: Ubuntu 22.04.2 LTS/5.15.0-70-generic
DPDK version: dpdk-23.07-rc1: 050de60d8a5cef8b7c10b4471905ca8bf69d670e
Compiler: gcc version 11.3.0
NIC hardware: Ethernet Controller E810-XXV for SFP 159b
NIC driver: ice-1.12.0_rc135_1_g7290fc452_dirty
NIC firmware: 4.30 0x80019922 1.3403.0
ddp: ice comms 1.3.45.0

Test Setup
1.Bind the iavf port to dpdk driver  
echo 1 > /sys/bus/pci/devices/0000\:31\:00.0/sriov_numvfs
echo 1 > /sys/bus/pci/devices/0000\:31\:00.1/sriov_numvfs
ip link set ens5f0 vf 0 spoofchk off
ip link set ens5f1 vf 0 spoofchk off
./usertools/dpdk-devbind.py -b vfio-pci 0000:31:01.0  0000:31:11.0  

2.build dpdk
export CFLAGS=-m32
export PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig/  
CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static
i686-native-linuxapp-gcc
ninja -C i686-native-linuxapp-gcc

3.launch testpmd 
 i686-native-linuxapp-gcc/app/dpdk-testpmd -l 0-7 -n 1 -- -i --portmask=0x3
--enable-rx-cksum --max-pkt-len=9000  

set fwd csum
set promisc 0 on
set promisc 1 on
csum mac-swap off 0
csum mac-swap off 1
port stop 0
csum set ip hw 0
csum set udp hw 0
csum set tcp hw 0
csum set sctp hw 0
csum set outer-ip hw 0
csum set outer-udp hw 0
csum parse-tunnel on 0
tso set 800 0
tunnel_tso set 800 0
port start 0

port stop 1
csum set ip hw 1
csum set udp hw 1
csum set tcp hw 1
csum set sctp hw 1
csum set outer-ip hw 1
csum set outer-udp hw 1
csum parse-tunnel on 1
tso set 800 1
tunnel_tso set 800 1
port start 1
start 

4. Send packet on tester   
ifconfig ens160f0 mtu 9000
sendp([Ether(dst="D6:5B:05:90:7C:E0",src="52:00:00:00:00:00")/IPv6(src =
"FE80:0:0:0:200:1FF:FE00:200", dst = "3555:5555:6666:6666:7777:7777:8888:8888")
/ UDP(dport = 2152) / GTP_U_Header(gtp_type=255,
teid=0x123456)/IPv6(src="FE80:0:0:0:200:1FF:FE00:200",
dst="3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=1021,dport=1021)/Raw(RandString(size=8500))],
iface="ens160f0", count=1000)

Show the output from the previous commands
testpmd> stop 
Telling cores to stop... 
Waiting for lcores to finish...
 ---------------------- Forward statistics for port 0  ----------------------   
RX-packets: 1000           RX-dropped: 0          RX-total: 1000   
Bad-ipcsum: 0              
Bad-l4csum: 0        Bad-outer-l4csum: 0   Bad-outer-ipcsum: 0   
TX-packets: 0              TX-dropped: 0       TX-total: 0   
----------------------------------------------------------------------------    
---------------------- Forward statistics for port 1  ----------------------   
RX-packets: 0              RX-dropped: 0         RX-total: 0   
Bad-ipcsum: 0              
Bad-l4csum: 0        Bad-outer-l4csum: 0   Bad-outer-ipcsum: 0   
TX-packets: 0              TX-dropped: 11000         TX-total: 11000   
----------------------------------------------------------------------------   
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++   
RX-packets: 1000           RX-dropped: 0       RX-total: 1000   
TX-packets: 0              TX-dropped: 11000   TX-total: 11000  
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 

Expected Result
testpmd> stop
Telling cores to stop...
Waiting for lcores to finish... 

  ---------------------- Forward statistics for port 0  ----------------------  
RX-packets: 1000           RX-dropped: 0             RX-total: 1000  
Bad-ipcsum: 0              
Bad-l4csum: 0             Bad-outer-l4csum: 0  Bad-outer-ipcsum: 0  
TX-packets: 0              TX-dropped: 0             TX-total: 0  
----------------------------------------------------------------------------


  ---------------------- Forward statistics for port 1  ----------------------  
RX-packets: 0              RX-dropped: 0             RX-total: 0  
Bad-ipcsum: 0              
Bad-l4csum: 0             Bad-outer-l4csum: 0  Bad-outer-ipcsum: 0  
TX-packets: 11000          TX-dropped: 0             TX-total: 11000  
----------------------------------------------------------------------------


  +++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++  
RX-packets: 1000           RX-dropped: 0             RX-total: 1000  
TX-packets: 11000          TX-dropped: 0             TX-total: 11000 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++  

 Regression
Is this issue a regression: (Y/N)Y
commit dd827fa42a30a9b0aa87a1d5614af83ea32b19e0
Author: Raslan Darawsheh <<a href="mailto:rasland@nvidia.com">rasland@nvidia.com</a>>
Date:   Sun Apr 2 15:26:19 2023 +0300

    app/testpmd: fix GTP L2 length in checksum engine

    GTP header can be followed by an optional 32 bits extension.

    But, l2_len value statically set to RTE_ETHER_GTP_HLEN
    which is defined to be
            (sizeof(struct rte_udp_hdr) + sizeof(struct rte_gtp_hdr))

    This fixes the l2_len to take into consideration the extension size.

    Fixes: d8e5e69f3a9b ("app/testpmd: add GTP parsing and Tx checksum
offload")
    Cc: <a href="mailto:stable@dpdk.org">stable@dpdk.org</a>

    Signed-off-by: Raslan Darawsheh <<a href="mailto:rasland@nvidia.com">rasland@nvidia.com</a>>
    Acked-by: Aman Singh <<a href="mailto:aman.deep.singh@intel.com">aman.deep.singh@intel.com</a>>
          </pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
      <div itemscope itemtype="http://schema.org/EmailMessage">
        <div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
          
          <link itemprop="url" href="https://bugs.dpdk.org/show_bug.cgi?id=1253">
          <meta itemprop="name" content="View bug">
        </div>
        <meta itemprop="description" content="Bugzilla bug update notification">
      </div>
    </body>
</html>