Class EvpnUtils


  • @Singleton
    public class EvpnUtils
    extends java.lang.Object
    • Constructor Detail

      • EvpnUtils

        @Inject
        public EvpnUtils​(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
                         org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager,
                         ElanUtils elanUtils,
                         org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService,
                         IVpnManager vpnManager,
                         IBgpManager bgpManager,
                         org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator,
                         ElanInstanceCache elanInstanceCache)
    • Method Detail

      • advertiseEvpnRT2Routes

        public void advertiseEvpnRT2Routes​(EvpnAugmentation evpnAugmentation,
                                           java.lang.String elanName)
      • getEndpointIpAddressForDPN

        public @Nullable java.lang.String getEndpointIpAddressForDPN​(org.opendaylight.yangtools.yang.common.Uint64 dpnId)
      • getGatewayMacAddressForInterface

        public com.google.common.base.Optional<java.lang.String> getGatewayMacAddressForInterface​(java.lang.String vpnName,
                                                                                                  java.lang.String ifName,
                                                                                                  java.lang.String ipAddress)
      • getL3vpnNameFromElan

        public @Nullable java.lang.String getL3vpnNameFromElan​(ElanInstance elanInfo)
      • getEvpnNameFromElan

        public static @Nullable java.lang.String getEvpnNameFromElan​(ElanInstance elanInfo)
      • getEvpnRd

        public @Nullable java.lang.String getEvpnRd​(ElanInstance elanInfo)
      • advertisePrefix

        public void advertisePrefix​(ElanInstance elanInfo,
                                    java.lang.String macAddress,
                                    java.lang.String prefix,
                                    java.lang.String interfaceName,
                                    org.opendaylight.yangtools.yang.common.Uint64 dpnId)
      • advertisePrefix

        public void advertisePrefix​(ElanInstance elanInfo,
                                    java.lang.String rd,
                                    java.lang.String macAddress,
                                    java.lang.String prefix,
                                    java.lang.String interfaceName,
                                    org.opendaylight.yangtools.yang.common.Uint64 dpnId)
      • withdrawEvpnRT2Routes

        public void withdrawEvpnRT2Routes​(EvpnAugmentation evpnAugmentation,
                                          java.lang.String elanName)
      • withdrawPrefix

        public void withdrawPrefix​(ElanInstance elanInfo,
                                   java.lang.String prefix)
      • getExternaTunnelListIdentifier

        public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.ExternalTunnelList> getExternaTunnelListIdentifier()
      • getExternalTunnelList

        public com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.ExternalTunnelList> getExternalTunnelList()
      • getDcGatewayIpListIdentifier

        public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList> getDcGatewayIpListIdentifier()
      • getDcGatewayIpList

        public com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList> getDcGatewayIpList()
      • getDcGatewayTunnelInterfaceNameList

        public java.util.List<java.lang.String> getDcGatewayTunnelInterfaceNameList()
      • bindElanServiceToExternalTunnel

        public void bindElanServiceToExternalTunnel​(java.lang.String elanName,
                                                    java.lang.String interfaceName)
      • unbindElanServiceFromExternalTunnel

        public void unbindElanServiceFromExternalTunnel​(java.lang.String elanName,
                                                        java.lang.String interfaceName)
      • programEvpnL2vniDemuxTable

        public void programEvpnL2vniDemuxTable​(java.lang.String elanName,
                                               java.util.function.BiConsumer<java.lang.String,​java.lang.String> serviceHandler,
                                               java.util.function.BiConsumer<org.opendaylight.yangtools.yang.common.Uint64,​org.opendaylight.genius.mdsalutil.FlowEntity> flowHandler)
      • asyncReadAndExecute

        public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void asyncReadAndExecute​(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
                                                                                                       org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> iid,
                                                                                                       java.lang.String jobKey,
                                                                                                       java.util.function.Function<com.google.common.base.Optional<T>,​java.lang.Void> function)