Uploaded image for project: 'Fast Datapath Product'
  1. Fast Datapath Product
  2. FDP-1645

Packet truncate is broken with TSO packets

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • ovs-dpdk
    • None
    • Packet truncate is broken with TSO packets
    • 8
    • False
    • Hide

      None

      Show
      None
    • False
    • Hide

      Please mark each item below with ( / ) if completed or ( x ) if incomplete:

      ( ) The acceptance criteria defined below are met.

      Given OVS userspace (and kernel) datapaths with TSO enabled,

      When a flow uses output(port=X,max_len=Y) on a packet that would be segmented by TSO,

      Then the transmitted frame on port X is at most Y bytes.


      ( ) The epics work is available in a downstream build (nightly/Async or other)


      ( ) All cards under the epic have been moved to Done

      Show
      Please mark each item below with ( / ) if completed or ( x ) if incomplete: ( ) The acceptance criteria defined below are met. Given OVS userspace (and kernel) datapaths with TSO enabled, When a flow uses output(port=X,max_len=Y) on a packet that would be segmented by TSO, Then the transmitted frame on port X is at most Y bytes. ( ) The epics work is available in a downstream build (nightly/Async or other) ( ) All cards under the epic have been moved to Done
    • rhel-9
    • rhel-net-ovs-dpdk
    • 100% To Do, 0% In Progress, 0% Done
    • ssg_networking

      This epic tracks all the effort needed to deliver the solution related to the bug described below.

       Problem Description: Clearly explain the issue.

      This issue is opened based on code review and a discussion with Ilya.

      The cutlen field of a dp-packet (used for truncating packets for openflows action like output(, max_len=)) is ignored when it comes to TSO packets in the userspace datapath.

      The issue is probably also present in the kernel datapath (from my limited understanding of this code).
       

       Impact Assessment: Describe the severity and impact (e.g., network down,availability of a workaround, etc.).

      Once TSO'd by SW or HW, output packets will not be of the expected size and recipients may error on receiving such packets.

       

       Software Versions: Specify the exact versions in use (e.g.,openvswitch3.1-3.1.0-147.el8fdp).

      All versions of OVS for which TSO is enabled in the datapath are affected.

       

        Issue Type: Indicate whether this is a new issue or a regression (if a regression, state the last known working version).

      This is not a regression, the issue exists since the support of TSO packets.

       

       Reproducibility: Confirm if the issue can be reproduced consistently. If not, describe how often it occurs.

      Enter a openflow rule asking for truncating packets, then send a TSO packet.

      Note: there may be a workaround of announcing that truncate is not available in the userspace datapath if userspace tso is enabled (see check_support() in ofproto-dpif.c). As for the kernel datapath, this must be evaluated.

              ovsdpdk-bot ovsdpdk bot
              rhn-support-dmarchan David Marchand
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: