@Singleton public class NeutronvpnManager extends Object implements NeutronvpnService, AutoCloseable, EventListener
Constructor and Description |
---|
NeutronvpnManager(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.controller.md.sal.binding.api.NotificationPublishService notiPublishService,
VpnRpcService vpnRpcSrv,
IElanService elanService,
NeutronFloatingToFixedIpMappingChangeListener neutronFloatingToFixedIpMappingChangeListener,
NeutronvpnConfig neutronvpnConfig,
IVpnManager vpnManager,
org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator,
NeutronvpnUtils neutronvpnUtils) |
Modifier and Type | Method and Description |
---|---|
void |
addInterVpnRoutes(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnName,
List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.l3.attributes.Routes> interVpnLinkRoutes,
HashMap<String,InterVpnLink> nexthopsXinterVpnLinks)
Creates the corresponding static routes in the specified VPN.
|
protected void |
addSubnetToVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnet,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId) |
protected void |
addToNeutronRouterInterfacesMap(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
String interfaceName) |
protected void |
addV6PrivateSubnetToExtNetwork(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId,
Subnetmap subnetMap) |
Future<org.opendaylight.yangtools.yang.common.RpcResult<AssociateNetworksOutput>> |
associateNetworks(AssociateNetworksInput input)
It handles the invocations to the neutronvpn:associateNetworks RPC method.
|
protected List<String> |
associateNetworksToVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> networkList)
Parses and associates networks list with given VPN.
|
Future<org.opendaylight.yangtools.yang.common.RpcResult<Void>> |
associateRouter(AssociateRouterInput input)
It handles the invocations to the neutronvpn:associateRouter RPC method.
|
protected void |
associateRouterToInternalVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId) |
protected void |
associateRouterToVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId) |
void |
close() |
Future<org.opendaylight.yangtools.yang.common.RpcResult<CreateEVPNOutput>> |
createEVPN(CreateEVPNInput input)
Create one or more EVPN(s)
|
protected void |
createExternalVpnInterfaces(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetId) |
void |
createL3InternalVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpn,
String name,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenant,
List<String> rd,
List<String> irt,
List<String> ert,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid router,
List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> networks) |
Future<org.opendaylight.yangtools.yang.common.RpcResult<CreateL3VPNOutput>> |
createL3VPN(CreateL3VPNInput input)
It handles the invocations to the createVPN RPC method.
|
protected Adjacencies |
createPortIpAdjacencies(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port,
Boolean isRouterInterface,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction wrtConfigTxn,
Subnetmap sn,
VpnInterface vpnIface) |
protected void |
createSubnetmapNode(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId,
String subnetIp,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenantId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId,
NetworkAttributes.NetworkType networkType,
long segmentationId) |
void |
createVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
String name,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenantId,
List<String> rdList,
List<String> irtList,
List<String> ertList,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> networkList,
VpnInstance.Type type,
long l3vni)
Performs the creation of a Neutron L3VPN, associating the new VPN to the
specified Neutron Networks and Routers.
|
void |
createVpnInstanceForSubnet(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId) |
protected void |
createVpnInterface(Collection<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> vpnIds,
org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction wrtConfigTxn) |
Future<org.opendaylight.yangtools.yang.common.RpcResult<DeleteEVPNOutput>> |
deleteEVPN(DeleteEVPNInput input)
delete EVPNs for specified Id list
|
Future<org.opendaylight.yangtools.yang.common.RpcResult<DeleteL3VPNOutput>> |
deleteL3VPN(DeleteL3VPNInput input)
It handles the invocations to the neutronvpn:deleteL3VPN RPC method.
|
protected void |
deleteSubnetMapNode(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId) |
protected boolean |
deleteVpnInterface(String infName,
String vpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction wrtConfigTxn) |
protected void |
dissociatefixedIPFromFloatingIP(String fixedNeutronPortName) |
Future<org.opendaylight.yangtools.yang.common.RpcResult<DissociateNetworksOutput>> |
dissociateNetworks(DissociateNetworksInput input)
It handles the invocations to the neutronvpn:dissociateNetworks RPC method.
|
protected List<String> |
dissociateNetworksFromVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> networkList)
Parses and disassociates networks list from given VPN.
|
Future<org.opendaylight.yangtools.yang.common.RpcResult<Void>> |
dissociateRouter(DissociateRouterInput input)
It handles the invocations to the neutronvpn:dissociateRouter RPC method.
|
protected void |
dissociateRouterFromVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId) |
protected List<Adjacency> |
getAdjacencyforExtraRoute(List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.l3.attributes.Routes> routeList,
String fixedIp) |
Future<org.opendaylight.yangtools.yang.common.RpcResult<GetEVPNOutput>> |
getEVPN(GetEVPNInput input)
returns EVPN configuration
|
Future<org.opendaylight.yangtools.yang.common.RpcResult<GetFixedIPsForNeutronPortOutput>> |
getFixedIPsForNeutronPort(GetFixedIPsForNeutronPortInput input)
It handles the invocations to the neutronvpn:getFixedIPsForNeutronPort RPC method.
|
Future<org.opendaylight.yangtools.yang.common.RpcResult<GetL3VPNOutput>> |
getL3VPN(GetL3VPNInput input)
It handles the invocations to the neutronvpn:getL3VPN RPC method.
|
protected org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid |
getNetworkForSubnet(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId) |
protected List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> |
getNetworksForVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId) |
protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network |
getNeutronNetwork(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId) |
protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port |
getNeutronPort(String name) |
protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port |
getNeutronPort(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId) |
protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet |
getNeutronSubnet(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId) |
protected org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress |
getNeutronSubnetGateway(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId) |
String |
getOpenDaylightVniRangesConfig() |
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<RouterInterfaces> |
getRouterInterfacesId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId) |
protected void |
handleNeutronRouterDeleted(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> routerSubnetIds) |
protected void |
programV6InternetFallbackFlow(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId,
int addOrRemove) |
protected void |
programV6InternetFlows(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId,
int addOrRemove) |
protected void |
removeAdjacencyforExtraRoute(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.l3.attributes.Routes> routeList) |
protected void |
removeExternalVpnInterfaces(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetId) |
protected void |
removeFromNeutronRouterInterfacesMap(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
String interfaceName) |
protected Subnetmap |
removeFromSubnetNode(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId) |
protected void |
removeInternetVpnFromVpnInterface(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn,
Subnetmap sm) |
void |
removeInterVpnRoutes(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnName,
List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.l3.attributes.Routes> interVpnLinkRoutes,
HashMap<String,InterVpnLink> nexthopsXinterVpnLinks)
Removes the corresponding static routes from the specified VPN.
|
protected Subnetmap |
removePortsFromSubnetmapNode(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid directPortId) |
protected void |
removeSubnetFromVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnet,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId) |
protected void |
removeV6PrivateSubnetToExtNetwork(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId,
Subnetmap subnetMap) |
void |
removeVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId) |
void |
removeVpnInstanceForSubnet(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId) |
List<String> |
showNeutronPortsCLI()
Implementation of the "vpnservice:neutron-ports-show" Karaf CLI command.
|
List<String> |
showVpnConfigCLI(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnuuid)
Implementation of the "vpnservice:l3vpn-config-show" karaf CLI command.
|
protected Subnetmap |
updateSubnetmapNodeWithPorts(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid directPortId) |
protected Subnetmap |
updateSubnetNode(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetvpnId) |
protected void |
updateSubnetNodeWithFixedIp(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerInterfacePortId,
String fixedIp,
String routerIntfMacAddress,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId) |
void |
updateVpnInstanceWithRDs(String vpnInstanceId,
List<String> rds) |
protected void |
updateVpnInterface(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid oldVpnId,
org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port,
boolean isBeingAssociated,
boolean isSubnetIp,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn) |
protected void |
updateVpnInterfaceWithExtraRouteAdjacency(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.l3.attributes.Routes> routeList) |
protected void |
updateVpnInternetForSubnet(Subnetmap sm,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpn,
boolean isBeingAssociated) |
protected void |
updateVpnMaps(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
String name,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid router,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenantId,
List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> networks) |
protected void |
withdrawPortIpFromVpnIface(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId,
org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port,
Subnetmap sn,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction wrtConfigTxn) |
@Inject public NeutronvpnManager(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.controller.md.sal.binding.api.NotificationPublishService notiPublishService, VpnRpcService vpnRpcSrv, IElanService elanService, NeutronFloatingToFixedIpMappingChangeListener neutronFloatingToFixedIpMappingChangeListener, NeutronvpnConfig neutronvpnConfig, IVpnManager vpnManager, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, NeutronvpnUtils neutronvpnUtils)
@PreDestroy public void close()
close
in interface AutoCloseable
public String getOpenDaylightVniRangesConfig()
protected void createSubnetmapNode(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId, String subnetIp, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenantId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, NetworkAttributes.NetworkType networkType, long segmentationId)
protected Subnetmap updateSubnetNode(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetvpnId)
protected void updateSubnetNodeWithFixedIp(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerInterfacePortId, String fixedIp, String routerIntfMacAddress, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)
protected Subnetmap updateSubnetmapNodeWithPorts(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid directPortId)
protected Subnetmap removeFromSubnetNode(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)
protected Subnetmap removePortsFromSubnetmapNode(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid directPortId)
protected void deleteSubnetMapNode(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
public void updateVpnInstanceWithRDs(String vpnInstanceId, List<String> rds)
protected void updateVpnMaps(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, String name, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid router, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenantId, List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> networks)
protected Adjacencies createPortIpAdjacencies(org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port, Boolean isRouterInterface, org.opendaylight.controller.md.sal.binding.api.WriteTransaction wrtConfigTxn, Subnetmap sn, VpnInterface vpnIface)
protected void createVpnInterface(Collection<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> vpnIds, org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port, org.opendaylight.controller.md.sal.binding.api.WriteTransaction wrtConfigTxn)
protected void withdrawPortIpFromVpnIface(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId, org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port, Subnetmap sn, org.opendaylight.controller.md.sal.binding.api.WriteTransaction wrtConfigTxn)
protected boolean deleteVpnInterface(String infName, @Nullable String vpnId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction wrtConfigTxn)
protected void removeInternetVpnFromVpnInterface(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn, Subnetmap sm)
protected void updateVpnInterface(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid oldVpnId, org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port port, boolean isBeingAssociated, boolean isSubnetIp, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
public void createL3InternalVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpn, String name, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenant, List<String> rd, List<String> irt, List<String> ert, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid router, List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> networks)
public void createVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, String name, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid tenantId, List<String> rdList, List<String> irtList, List<String> ertList, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> networkList, VpnInstance.Type type, long l3vni) throws Exception
vpnId
- Uuid of the VPN tp be createdname
- Representative name of the new VPNtenantId
- Uuid of the Tenant under which the VPN is going to be createdrdList
- Route-distinguisher for the VPNirtList
- A list of Import Route TargetsertList
- A list of Export Route TargetsrouterId
- neutron router Id to associate with created VPNnetworkList
- UUID of the neutron network the VPN may be associated totype
- Type of the VPN Instancel3vni
- L3VNI for the VPN Instance using VxLAN as the underlayException
- if association of L3VPN failedpublic Future<org.opendaylight.yangtools.yang.common.RpcResult<CreateL3VPNOutput>> createL3VPN(CreateL3VPNInput input)
createL3VPN
in interface NeutronvpnService
public Future<org.opendaylight.yangtools.yang.common.RpcResult<GetL3VPNOutput>> getL3VPN(GetL3VPNInput input)
getL3VPN
in interface NeutronvpnService
java.util.concurrent.Future
l3VPN
, or null
if not presentpublic Future<org.opendaylight.yangtools.yang.common.RpcResult<DeleteL3VPNOutput>> deleteL3VPN(DeleteL3VPNInput input)
deleteL3VPN
in interface NeutronvpnService
public void createVpnInstanceForSubnet(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
public void removeVpnInstanceForSubnet(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
protected void addSubnetToVpn(@Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnet, @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId)
protected void removeSubnetFromVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnet, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId)
protected void updateVpnInternetForSubnet(Subnetmap sm, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpn, boolean isBeingAssociated)
public org.opendaylight.yangtools.yang.binding.InstanceIdentifier<RouterInterfaces> getRouterInterfacesId(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
protected void addToNeutronRouterInterfacesMap(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, String interfaceName)
protected void removeFromNeutronRouterInterfacesMap(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, String interfaceName)
public void addInterVpnRoutes(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnName, List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.l3.attributes.Routes> interVpnLinkRoutes, HashMap<String,InterVpnLink> nexthopsXinterVpnLinks)
vpnName
- the VPN identifierinterVpnLinkRoutes
- The list of static routesnexthopsXinterVpnLinks
- A Map with the correspondence nextHop-InterVpnLinkpublic void removeInterVpnRoutes(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnName, List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.l3.attributes.Routes> interVpnLinkRoutes, HashMap<String,InterVpnLink> nexthopsXinterVpnLinks)
vpnName
- the VPN identifierinterVpnLinkRoutes
- The list of static routesnexthopsXinterVpnLinks
- A Map with the correspondence nextHop-InterVpnLink@Nonnull protected List<Adjacency> getAdjacencyforExtraRoute(List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.l3.attributes.Routes> routeList, String fixedIp)
protected void updateVpnInterfaceWithExtraRouteAdjacency(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.l3.attributes.Routes> routeList)
protected void removeAdjacencyforExtraRoute(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, List<org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.l3.attributes.Routes> routeList)
public void removeVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)
protected void associateRouterToVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
protected void associateRouterToInternalVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
protected void dissociateRouterFromVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId)
@Nonnull protected List<String> associateNetworksToVpn(@Nonnull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, @Nonnull List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> networkList)
vpnId
- Uuid of given VPN.networkList
- List list of network Ids (Uuid), which will be associated.@Nonnull protected List<String> dissociateNetworksFromVpn(@Nonnull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId, @Nonnull List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> networkList)
vpnId
- Uuid of given VPN.networkList
- List list of network Ids (Uuid), which will be disassociated.public Future<org.opendaylight.yangtools.yang.common.RpcResult<AssociateNetworksOutput>> associateNetworks(AssociateNetworksInput input)
associateNetworks
in interface NeutronvpnService
public Future<org.opendaylight.yangtools.yang.common.RpcResult<Void>> associateRouter(AssociateRouterInput input)
associateRouter
in interface NeutronvpnService
public Future<org.opendaylight.yangtools.yang.common.RpcResult<GetFixedIPsForNeutronPortOutput>> getFixedIPsForNeutronPort(GetFixedIPsForNeutronPortInput input)
getFixedIPsForNeutronPort
in interface NeutronvpnService
java.util.concurrent.Future
fixedIPsForNeutronPort
, or null
if not presentpublic Future<org.opendaylight.yangtools.yang.common.RpcResult<DissociateNetworksOutput>> dissociateNetworks(DissociateNetworksInput input)
dissociateNetworks
in interface NeutronvpnService
public Future<org.opendaylight.yangtools.yang.common.RpcResult<Void>> dissociateRouter(DissociateRouterInput input)
dissociateRouter
in interface NeutronvpnService
protected void handleNeutronRouterDeleted(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> routerSubnetIds)
protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.subnets.rev150712.subnets.attributes.subnets.Subnet getNeutronSubnet(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
protected org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress getNeutronSubnetGateway(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network getNeutronNetwork(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId)
protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port getNeutronPort(String name)
protected org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.ports.rev150712.ports.attributes.ports.Port getNeutronPort(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid portId)
protected org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid getNetworkForSubnet(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid subnetId)
protected List<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> getNetworksForVpn(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnId)
public List<String> showNeutronPortsCLI() throws org.opendaylight.controller.md.sal.common.api.data.ReadFailedException
org.opendaylight.controller.md.sal.common.api.data.ReadFailedException
- if there was a problem reading from the data storepublic List<String> showVpnConfigCLI(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpnuuid) throws InterruptedException, ExecutionException
vpnuuid
- Uuid of the VPN whose config must be shownInterruptedException
- if there was a thread related problem getting the data to displayExecutionException
- if there was any other problem getting the data to displayprotected void createExternalVpnInterfaces(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetId)
protected void removeExternalVpnInterfaces(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetId)
protected void dissociatefixedIPFromFloatingIP(String fixedNeutronPortName)
public Future<org.opendaylight.yangtools.yang.common.RpcResult<CreateEVPNOutput>> createEVPN(CreateEVPNInput input)
NeutronvpnService
createEVPN
in interface NeutronvpnService
public Future<org.opendaylight.yangtools.yang.common.RpcResult<GetEVPNOutput>> getEVPN(GetEVPNInput input)
NeutronvpnService
getEVPN
in interface NeutronvpnService
java.util.concurrent.Future
eVPN
, or null
if not presentpublic Future<org.opendaylight.yangtools.yang.common.RpcResult<DeleteEVPNOutput>> deleteEVPN(DeleteEVPNInput input)
NeutronvpnService
deleteEVPN
in interface NeutronvpnService
protected void addV6PrivateSubnetToExtNetwork(@Nonnull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, @Nonnull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId, @Nonnull Subnetmap subnetMap)
protected void removeV6PrivateSubnetToExtNetwork(@Nonnull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, @Nonnull org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId, @Nonnull Subnetmap subnetMap)
protected void programV6InternetFallbackFlow(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId, int addOrRemove)
protected void programV6InternetFlows(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid internetVpnId, int addOrRemove)
Copyright © 2019 OpenDaylight. All rights reserved.