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

E/W routed traffic does not handle different network MTU sizes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Normal Normal
    • FDP-24.G
    • None
    • ovn22.12
    • 13
    • False
    • Hide

      None

      Show
      None
    • False
    • FDP 24.D, FDP 24.E
    • 2

      Description of problem:
      The E/W routed traffic between two networks (not GW networks) cannot handle networks with different MTU sizes. The flag "ovn_emit_need_to_frag" is configured in the Neutron configuration (although this is affecting only to the GW ports).

      Even if the packets sent have DF (Do-Not-Fragment bit) unset, the ICMP packets are not reaching the port in the network with lower MTU.

      Version-Release number of selected component (if applicable):

      • RHEL 9.0
      • OSP17.1
      • ovn-nbctl 22.12.1
      • Open vSwitch Library 3.0.90
      • DB Schema 7.0.0

      How reproducible:
      See steps to reproduce.

      Steps to Reproduce:
      1. Deploy an OpenStack environment, using any OVN (geneve, vxlan) backend type: https://rhos-ci-jenkins.lab.eng.tlv2.redhat.com/view/QE/view/OSP17.1/
      2. Create two networks and one router between them. The MTUs must be different
      $ openstack network create --mtu 1500 net1
      $ openstack network create --mtu 1200 net2
      $ openstack subnet create --network net1 --subnet-range 10.0.201.0/28 snet1
      $ openstack subnet create --network net2 --subnet-range 10.0.202.0/28 snet2
      $ openstack router create router1
      $ openstack router add subnet router1 snet1
      $ openstack router add subnet router1 snet2
      3. Spawn two VMs, each one in a different network
      $ openstack server create --network net1 --flavor cirros --image cirros server1
      $ openstack server create --network net2 --flavor cirros --image cirros server2
      4. Access the VMs and ping from server1 (MTU 1500) to server2 (MTU 1200). Use the "ping -M dont" flag to unset the DF flag.

      Actual results:
      The datapath flow is received in the compute node of server2: https://paste.opendev.org/show/bVhsu1RdXnF7tquQN4Hg/. However, the TAP interface of server2 does not receive any packet. When the MTU is 1200 or lower, this TAP interface receives the ping packets; e.g.: https://paste.opendev.org/show/bdblIQENJeUp2kWio7Ac/

      Expected results:
      OVN should fragment the traffic and sent the fragments to the 1200 TAP interface, that should be received by server2.

      Additional info:

              lorenzobianconi lorenzo bianconi
              rodolfo_alonso Rodolfo Alonso
              Ehsan Elahi Ehsan Elahi
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: