Interface IVpnLinkService

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void exchangeRoutes​(InterVpnLinkDataComposite interVpnLinkDataComposite)
      Checks both L3VPNs linked by the InterVpnLink and performs all the corresponding route leaking between them.
      void handleStaticRoutes​(InterVpnLinkDataComposite interVpnLink)
      Requests IVpnLinkService to take care of those static routes that point to the specified InterVpnLink and that may be configured in any Neutron Router.
      void leakRoute​(java.lang.String vpnName, java.lang.String prefix, java.util.List<java.lang.String> nextHopList, org.opendaylight.yangtools.yang.common.Uint32 label, int addOrRemove)
      Similar to leakRouteIfNeeded but the only requisite to be met is that there exists an InterVpnLink linking both VPNs.
      void leakRoute​(InterVpnLinkDataComposite interVpnLink, java.lang.String srcVpnUuid, java.lang.String dstVpnUuid, java.lang.String prefix, org.opendaylight.yangtools.yang.common.Uint32 label, RouteOrigin forcedOrigin)
      Leaks a route from one VPN to another.
      void leakRouteIfNeeded​(java.lang.String vpnName, java.lang.String prefix, java.util.List<java.lang.String> nextHopList, org.opendaylight.yangtools.yang.common.Uint32 label, RouteOrigin origin, int addOrRemove)
      Leaks a route belonging to a L3VPN to other L3VPN if the necessary circumstances are met, like there is an InterVpnLink linking both L3VPNs and the corresponding leaking flag is active (bgp/static/connected).
    • Method Detail

      • leakRouteIfNeeded

        void leakRouteIfNeeded​(java.lang.String vpnName,
                               java.lang.String prefix,
                               java.util.List<java.lang.String> nextHopList,
                               org.opendaylight.yangtools.yang.common.Uint32 label,
                               RouteOrigin origin,
                               int addOrRemove)
        Leaks a route belonging to a L3VPN to other L3VPN if the necessary circumstances are met, like there is an InterVpnLink linking both L3VPNs and the corresponding leaking flag is active (bgp/static/connected).
        Parameters:
        vpnName - Vpn name of the L3VPN that holds the original route
        prefix - Prefix/destination of the route
        nextHopList - List of nexthops (ECMP) of the route
        label - Label of the route to be leaked
        origin - Origin of the route (BGP|STATIC|CONNECTED)
        addOrRemove - states if the routes must be leaked or withdrawn
      • leakRoute

        void leakRoute​(InterVpnLinkDataComposite interVpnLink,
                       java.lang.String srcVpnUuid,
                       java.lang.String dstVpnUuid,
                       java.lang.String prefix,
                       org.opendaylight.yangtools.yang.common.Uint32 label,
                       RouteOrigin forcedOrigin)
        Leaks a route from one VPN to another.
        Parameters:
        interVpnLink - Reference to the object that holds the info about the link between the 2 VPNs
        srcVpnUuid - UUID of the VPN that has the route that is going to be leaked to the other VPN
        dstVpnUuid - UUID of the VPN that is going to receive the route
        prefix - Prefix of the route
        label - Label of the route in the original VPN
        forcedOrigin - By default, origin for leaked routes is INTERVPN, however it is possible to provide a different origin if desired.
      • leakRoute

        void leakRoute​(java.lang.String vpnName,
                       java.lang.String prefix,
                       java.util.List<java.lang.String> nextHopList,
                       org.opendaylight.yangtools.yang.common.Uint32 label,
                       int addOrRemove)
        Similar to leakRouteIfNeeded but the only requisite to be met is that there exists an InterVpnLink linking both VPNs.
        Parameters:
        vpnName - Vpn name of the L3VPN that holds the original route
        prefix - Prefix/destination of the route
        nextHopList - List of nexthops (ECMP) of the route
        label - Label of the route to be leaked
        addOrRemove - states if the routes must be leaked or withdrawn
      • exchangeRoutes

        void exchangeRoutes​(InterVpnLinkDataComposite interVpnLinkDataComposite)
        Checks both L3VPNs linked by the InterVpnLink and performs all the corresponding route leaking between them.
        Parameters:
        interVpnLinkDataComposite - InterVpnLink to be considered
      • handleStaticRoutes

        void handleStaticRoutes​(InterVpnLinkDataComposite interVpnLink)
        Requests IVpnLinkService to take care of those static routes that point to the specified InterVpnLink and that may be configured in any Neutron Router.
        Parameters:
        interVpnLink - InterVpnLink to be considered.