You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The isolation rules originally added here: d63887e
redirect the traffic originated from a UDN back to the same UDNs patchport.
This causes a following traffic loop for advertised L2 networks in LGW:
1. A UDN pod sends traffic to a service IP outside the UDN.
2. Traffic exits through the `ovn-mpX` port and is routed to `breth0`.
3. The following OpenFlow rules redirect it back to the UDN patch port:
- `table=0,priority=550,ip,in_port=LOCAL,nw_src=<UDN_SUBNET>,nw_dst=<SVC_SUBNET>,actions=ct(commit,table=2,zone=64001)`
- `table=2,priority=200,ip,nw_src=<UDN_SUBNET> actions=...,output:"<UDN_PATCH_PORT>"`
4. A route on the L2 gateway router sends the traffic back to `ovn-mpX`,
restarting the loop.
To fix this, the rule is changed to drop the traffic directly instead of
redirecting it. Although currently this change is required only for advertised L2 networks in LGW
the rule is changed for all scenarios to avoid introducing use-case specific behavior.
Additionally, the priority of the packet marking flow is adjusted to remove any potential ambiguity.
While this change could affect future support for host-networked UDN pods
accessing ClusterIP services, it should be possible to re-use the existing per-UDN pkt marking approach.
Signed-off-by: Patryk Diak <[email protected]>
0 commit comments