@Singleton public class EvpnUtils extends Object
Constructor and Description |
---|
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) |
Modifier and Type | Method and Description |
---|---|
void |
advertiseEvpnRT2Routes(EvpnAugmentation evpnAugmentation,
String elanName) |
void |
advertisePrefix(ElanInstance elanInfo,
MacEntry macEntry) |
void |
advertisePrefix(ElanInstance elanInfo,
String macAddress,
String prefix,
String interfaceName,
BigInteger dpnId) |
void |
advertisePrefix(ElanInstance elanInfo,
String rd,
String macAddress,
String prefix,
String interfaceName,
BigInteger dpnId) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
asyncReadAndExecute(org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> iid,
String jobKey,
Function<com.google.common.base.Optional<T>,Void> function) |
void |
bindElanServiceToExternalTunnel(String elanName,
String interfaceName) |
com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList> |
getDcGatewayIpList() |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList> |
getDcGatewayIpListIdentifier() |
List<String> |
getDcGatewayTunnelInterfaceNameList() |
String |
getEndpointIpAddressForDPN(BigInteger dpnId) |
static String |
getEvpnNameFromElan(ElanInstance elanInfo) |
String |
getEvpnRd(ElanInstance elanInfo) |
com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.ExternalTunnelList> |
getExternalTunnelList() |
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.ExternalTunnelList> |
getExternaTunnelListIdentifier() |
com.google.common.base.Optional<String> |
getGatewayMacAddressForInterface(String vpnName,
String ifName,
String ipAddress) |
String |
getL3vpnNameFromElan(ElanInstance elanInfo) |
boolean |
isAdvertiseEvpnRT2Routes(ElanInstance original,
ElanInstance update) |
boolean |
isWithdrawEvpnRT2Routes(ElanInstance original,
ElanInstance update) |
void |
programEvpnL2vniDemuxTable(String elanName,
BiConsumer<String,String> serviceHandler,
BiConsumer<BigInteger,org.opendaylight.genius.mdsalutil.FlowEntity> flowHandler) |
void |
unbindElanServiceFromExternalTunnel(String elanName,
String interfaceName) |
void |
withdrawEvpnRT2Routes(EvpnAugmentation evpnAugmentation,
String elanName) |
void |
withdrawPrefix(ElanInstance elanInfo,
MacEntry macEntry) |
void |
withdrawPrefix(ElanInstance elanInfo,
String prefix) |
@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)
public boolean isWithdrawEvpnRT2Routes(ElanInstance original, ElanInstance update)
public boolean isAdvertiseEvpnRT2Routes(ElanInstance original, ElanInstance update)
public void advertiseEvpnRT2Routes(EvpnAugmentation evpnAugmentation, String elanName)
public String getEndpointIpAddressForDPN(BigInteger dpnId)
public com.google.common.base.Optional<String> getGatewayMacAddressForInterface(String vpnName, String ifName, String ipAddress)
public String getL3vpnNameFromElan(ElanInstance elanInfo)
public static String getEvpnNameFromElan(ElanInstance elanInfo)
public String getEvpnRd(ElanInstance elanInfo)
public void advertisePrefix(ElanInstance elanInfo, String macAddress, String prefix, String interfaceName, BigInteger dpnId)
public void advertisePrefix(ElanInstance elanInfo, String rd, String macAddress, String prefix, String interfaceName, BigInteger dpnId)
public void advertisePrefix(ElanInstance elanInfo, MacEntry macEntry)
public void withdrawEvpnRT2Routes(EvpnAugmentation evpnAugmentation, String elanName)
public void withdrawPrefix(ElanInstance elanInfo, String prefix)
public void withdrawPrefix(ElanInstance elanInfo, MacEntry macEntry)
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.ExternalTunnelList> getExternaTunnelListIdentifier()
public com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.op.rev160406.ExternalTunnelList> getExternalTunnelList()
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList> getDcGatewayIpListIdentifier()
public com.google.common.base.Optional<org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rev160406.DcGatewayIpList> getDcGatewayIpList()
public void bindElanServiceToExternalTunnel(String elanName, String interfaceName)
public void unbindElanServiceFromExternalTunnel(String elanName, String interfaceName)
public void programEvpnL2vniDemuxTable(String elanName, BiConsumer<String,String> serviceHandler, BiConsumer<BigInteger,org.opendaylight.genius.mdsalutil.FlowEntity> flowHandler)
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, String jobKey, Function<com.google.common.base.Optional<T>,Void> function)
Copyright © 2019 OpenDaylight. All rights reserved.