Uploaded image for project: 'Fast Datapath Product'
  1. Fast Datapath Product
  2. FDP-1631 TSO packets are incorrectly handled by the check_pkt_len action with the userspace datapath
  3. FDP-1681

[RHEL-9 OVS-3.4] TSO packets are incorrectly handled by the check_pkt_len action with the userspace datapath

    • Icon: Sub-task Sub-task
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • openvswitch3.4
    • None
    • 0
    • False
    • Hide

      None

      Show
      None
    • False
    • openvswitch3.4-3.4.4-96.el9fdp
    • rhel-9
    • rhel-net-ovs-dpdk
    • ssg_networking
    • FDP-OVS/DPDK Sprint 8, OVS/DPDK - Sprint 9 - East
    • 2

       Problem Description: Clearly explain the issue.

      This was noticed in a (POC) deployment of OCP + OVS-DPDK.

      10:04:39.853768 0a:58:0a:82:00:02 > 0a:58:0a:82:00:01, ethertype IPv4 (0x0800), length 2762: (tos 0x0, ttl 64, id 21871, offset 0, flags [DF], proto TCP (6), length 2748)
          10.130.0.2.47810 > 10.128.2.11.pcsync-https: Flags [P.], cksum 0x21bd (incorrect -> 0x7892), seq 3005:5701, ack 274, win 7830, options [nop,nop,TS val 528667947 ecr 3454736218], length 2696
      10:04:39.853770 0a:58:0a:82:00:02 > 0a:58:0a:82:00:01, ethertype IPv4 (0x0800), length 2762: (tos 0x0, ttl 64, id 21873, offset 0, flags [DF], proto TCP (6), length 2748)
          10.130.0.2.47810 > 10.128.2.11.pcsync-https: Flags [P.], cksum 0x21bd (incorrect -> 0x0adb), seq 5701:8397, ack 274, win 7830, options [nop,nop,TS val 528667947 ecr 3454736218], length 2696
      10:04:39.854809 0a:58:0a:82:00:01 > 0a:58:0a:82:00:02, ethertype IPv4 (0x0800), length 576: (tos 0x0, ttl 254, id 0, offset 0, flags [DF], proto ICMP (1), length 562)
          10.130.0.1 > 10.130.0.2: ICMP 10.128.2.11 unreachable - need to frag (mtu 1400), length 542
       (tos 0x0, ttl 64, id 21871, offset 0, flags [DF], proto TCP (6), length 2748)
          10.130.0.2.47810 > 10.128.2.11.pcsync-https: Flags [P.], seq 3005:5701, ack 274, win 7830, options [nop,nop,TS val 528667947 ecr 3454736218], length 2696
      10:04:39.855576 0a:58:0a:82:00:01 > 0a:58:0a:82:00:02, ethertype IPv4 (0x0800), length 576: (tos 0x0, ttl 254, id 0, offset 0, flags [DF], proto ICMP (1), length 562)
          10.130.0.1 > 10.130.0.2: ICMP 10.128.2.11 unreachable - need to frag (mtu 1400), length 542
       (tos 0x0, ttl 64, id 21873, offset 0, flags [DF], proto TCP (6), length 2748)
          10.130.0.2.47810 > 10.128.2.11.pcsync-https: Flags [P.], seq 5701:8397, ack 274, win 7830, options [nop,nop,TS val 528667947 ecr 3454736218], length 2696
      

      TSO packets received from a tap interface resulted in OVS replying back with a icmp frag needed.

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

      This affects the userspace datapath (iow DPDK deployments) with TSO enabled (other_config:userspace-tso-enable=true).
      For such setups, local services may have limited (TCP) connectivity.

      A workaround is to disable TSO on the associated netdev.

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

      This has been seen on a OVS 3.5 FDP build, but all versions of OVS with the TSO and check_pkt_len() actions are affected, iow starting OVS 2.13.

       

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

      This never worked, so this can be classified as a new issue.
       

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

      A unit test will be added upstream as a reproducer (using netdev-dummy + crafted openflow rules using check_pkt_larger() action).

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

                Created:
                Updated: