Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
The FDP team is no longer accepting new bugs in Bugzilla. Please report your issues under FDP project in Jira. Thanks.

Bug 2238494

Summary: E/W routed traffic does not handle different network MTU sizes
Product: Red Hat Enterprise Linux Fast Datapath Reporter: Rodolfo Alonso <ralonsoh>
Component: ovn22.12Assignee: lorenzo bianconi <lorenzo.bianconi>
Status: CLOSED DEFERRED QA Contact: Jianlin Shi <jishi>
Severity: medium Docs Contact:
Priority: medium    
Version: FDP 22.LCC: ctrautma, jiji, lorenzo.bianconi, mmichels, rsafrono
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-03-19 20:35:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Rodolfo Alonso 2023-09-12 08:29:13 UTC
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:
---

Comment 3 OVN Bot 2024-02-14 21:16:15 UTC
This issue is being closed as an automatic process due to the issue's age. If you wish to re-open this issue, please do so in Jira (https://issues.redhat.com) in the 'FDP' project. Please be sure to set the component to the latest OVN version where this issue is known to occur. If this is a feature request or improvement, please set the component to 'OVN'.