Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ovn: Support for GARP for NAT IPs via localnet
In cases where a DNAT IP is moved to a new router or the SNAT IP is reused with a new mac address, the NAT IPs become unreachable because the external switches/routers have stale ARP entries. This commit aims to fix the problem by sending GARPs for NAT IPs via locanet. There are two parts to this patch. [1] Adding the datapath of the l3 gateway port to local datapaths in ovn-controller. This will result in creation of patch ports between br-int and the physical bridge (that provides connectivity to local network via localnet port) and will enable gateway router to have external connectivity [2] A new options key "nat-addresses" is added to the logical switch port of type router, the logical switch that has this port is the one that provides connectivity to local network via localnet port. The value for the key "nat-addresses" is the MAC address of the port followed by a list of SNAT & DNAT IPs. When ovn-controller sees a new IP in nat-addrress option, it sends a GARP message for the IP via the localnet port. nat-addresses option is added to the logical switch port of type router and not to the logical router port, because the logical switch datapath has the localnet port. Adding nat-addresses option to the router port will involve more changes to get to the local net port. Signed-off-by: Chandra Sekhar Vejendla <csvejend@us.ibm.com> Acked-by: Ryan Moats <rmoats@us.ibm.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
- Loading branch information
Showing
11 changed files
with
239 additions
and
29 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
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
Oops, something went wrong.