Dualstack support for L3VPN-two router design
According to dualstack specification [0], this commit introduces
following changes:
* neutronvpn.yang: Use "router-ids" leaf-list instead of "router-ids"
leaf in grouping "vpn-instance" and "vpnMaps" container. Two neutron
routers can be attached to one L3 BGPVPN instance at the same time:
the first one with only IPv4 ports and the second one with only IPv6
ports.
* NeutronvpnManager, NeutronvpnUtils: Support routerIds list in all
basic methods. Control the number of associated routers in "add" and
"handleRoutersUpdate" methods. Consequently assign each router
accordingly.
* IVpnLinkServiceImpl: Appropriate changes, due to support of routerIds
list in neutronvpn.yang.
* NatUtil:
* "getRouterIdfromVpnInstance": control, that we get routerId from
appropriate IPv4 Subnetmap, which is corresponding to given vpnId;
* "getVpnForRouter" support routerIdsList, due to changes in
neutronvpn.yang.
* neutronvpn: rpc L3VPN support for assoc/disassoc routers list
Change yang model to associate or dissociate two routers with a vpnid in
the same curl query.
Change-Id: Iade14e52baee2da4a82f01231c7ea6f8051e520b
Signed-off-by: Noel de Prandières <prandieres@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Karthikeyan Krishnan <karthikeyangceb007@gmail.com>