forked from openvswitch/ovs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ovn: Fix IPv6 DAD failure for container ports
When a container port is created inside a VM, the below kernel message is seen and IPv6 doesn't work on that interface. [ 138.000753] IPv6: vlan4: IPv6 duplicate address <IPv6 LLA> detected! When a container port sends a ethernet broadcast packet, OVN delivers the same packet back to the child port (and hence the DAD check fails). This is because - 'MLF_ALLOW_LOOPBACK_BIT' is set in REG10 in table 0 for the packets received from any child port. - for ethernet broadcast packets, Table 33 (OFTABLE_LOCAL_OUTPUT) clones the packet for every local port 'P' which belongs to the same datapath i.e 'P'->REG15, resubmit(,34) - If REG14 and REG15 are same, Table 34 (OFTABLE_CHECK_LOOPBACK) drops the packet if 'MLF_ALLOW_LOOPBACK_BIT' is not set. - But in the case of container ports, this bit will be set and hence doesn't gets dropped and eventually gets delivered to the source container port. - The VM's kernel thinks its a DAD packet. The latest kernels (4.19) implements the RFC -7527 (enhanced DAD), but it is still a problem for older kernels. This patch fixes the issue by using a new register bit (MLF_NESTED_CONTAINER_BIT) instead of 'MLF_ALLOW_LOOPBACK_BIT' and sets it in REG10 for the packets received from child ports so that Table 34 drops the packet for the source port. Signed-off-by: Numan Siddique <[email protected]> Signed-off-by: Gurucharan Shetty <[email protected]>
- Loading branch information
1 parent
1adcbce
commit 22e506d
Showing
5 changed files
with
97 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters