Traffic sent to LRP port recirculate until TTL=0
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
New
|
Undecided
|
Unassigned | ||
Antelope |
New
|
Undecided
|
Unassigned | ||
Bobcat |
New
|
Undecided
|
Unassigned | ||
Caracal |
New
|
Undecided
|
Unassigned | ||
Ovn-22.03 |
New
|
Undecided
|
Unassigned | ||
Yoga |
New
|
Undecided
|
Unassigned | ||
Zed |
New
|
Undecided
|
Unassigned | ||
ovn (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
New
|
Undecided
|
Unassigned | ||
Mantic |
Won't Fix
|
Undecided
|
Unassigned | ||
Noble |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
When TCP/UDP traffic is sent to the address of an LRP port and at the same time is not part of any SNAT/DNAT conversation, it will keep recirculating in the OVS data plane until TTL is 0.
When the packet eventually drops, you might get this message logged:
[ 58.586597] openvswitch: ovs-system: deferred action limit reached, drop recirc action
This behavior is problematic because it wastes resources and could also trigger other potential problems in the data plane quite quickly [0]. For any internet connected system it is also highly likely to occur.
As mentioned above the LRP address is used for both SNAT return traffic and DNAT forwarding, so we would need to allow that traffic to pass and at the same time install flows to prevent this from happening.
0: https:/
https:/ /mail.openvswit ch.org/ pipermail/ ovs-dev/ 2022-December/ 400564. html