VPNv6 external network support for multiple router
Issue:
=======
1) Single external network/internet(public) is
sharing to more than one router is not
working as expected for IPv6 internet data traffic.
2) Before spawning the VM on the compute, internet
access was set/enabled with router already. In this
case if boot the VM on the new DPN, default V6 internet
fallback rule is not getting programmed.
Solution:
=========
RCA for issue (1):
------------------
IPv6 internet default fall back rule(21->21) is
not getting programmed for if external network is
associated with more than one router due to flow-id
is not proper for each router.
RCA for issue (2):
------------------
When first/last VM is booted/removed from the DPN,
there is no check for whether router is already
been set with external/internet connectivity via
router-gw set as a result V6 internet default
fallback rule is missing for newly added DPN.
As part of this fix, internet default fall back rule
flow-id is constrcted based on the router-id always.
Since we can not go with either external-vpn(router)
or internet bgp-vpn.
Also addressed the issue (2) problem as well.
NAT Module Dependency:
=======================
+ RouterDpnChangeListener --> Program and un-program
the V6 internet default fallback flows on when first
VM is booted on the compute or last VM is removed from
the compute for router VPN
Issue: NETVIRT-1440
Change-Id: I2e20158368984172117597e32a5310477ad57d16
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>