@Singleton public class ElanBridgeManager extends Object
Modifier and Type | Field and Description |
---|---|
static String |
PROVIDER_MAPPINGS_KEY |
Constructor and Description |
---|
ElanBridgeManager(ElanConfig elanConfig,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager,
org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils southboundUtils,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
Construct a new ElanBridgeManager.
|
Modifier and Type | Method and Description |
---|---|
boolean |
addBridge(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node ovsdbNode,
String bridgeName,
@Nullable String mac)
Add a bridge to the OVSDB node but check that it does not exist in the
CONFIGURATION.
|
boolean |
addPatchPort(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node,
String bridgeName,
String portName,
String peerPortName)
Add a patch port to a bridge.
|
boolean |
addPortToBridge(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node,
String bridgeName,
String portName)
Add a port to a bridge.
|
BigInteger |
getDatapathId(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node) |
Optional<BigInteger> |
getDpIdFromManagerNodeId(String managerNodeId) |
String |
getIntBridgePortNameFor(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node bridgeNode,
String providerMappingValue)
Get the name of the port in br-int for the given provider-mapping value.
|
String |
getIntegrationBridgeName() |
String |
getIntSidePatchPortName(String interfaceName)
Get the name of the patch-port which is patched to the bridge containing
interfaceName.
|
Map<String,String> |
getOpenvswitchOtherConfigMap(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node,
String key)
.
|
@Nullable String |
getProviderInterfaceName(BigInteger dpId,
String physicalNetworkName) |
@Nullable String |
getProviderInterfaceName(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node bridgeNode,
String physicalNetworkName) |
@Nullable String |
getProviderMappingValue(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node,
String physicalNetworkName)
Get the OVS node physical interface name from provider mappings.
|
void |
handleNewProviderNetBridges(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node originalNode,
org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node updatedNode) |
boolean |
hasDatapathID(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node) |
boolean |
isBridgeNode(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
Is this node a bridge.
|
boolean |
isBridgeOnOvsdbNode(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node ovsdbNode,
String bridgename) |
boolean |
isIntegrationBridge(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
Is this Node the integration bridge (br-int).
|
boolean |
isOvsdbNode(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
Is the Node object an OVSDB node.
|
boolean |
isUserSpaceEnabled()
Is OVS running in userspace mode?
|
void |
processNodePrep(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node,
boolean generateIntBridgeMac)
Advance the "preperation" of the OVSDB node.
|
public static final String PROVIDER_MAPPINGS_KEY
@Inject public ElanBridgeManager(ElanConfig elanConfig, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, org.opendaylight.ovsdb.utils.southbound.utils.SouthboundUtils southboundUtils, org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker)
elanConfig
- the elan configurationinterfaceManager
- InterfaceManagersouthboundUtils
- southboutUtilsdataBroker
- DataBrokerpublic boolean isUserSpaceEnabled()
public boolean isOvsdbNode(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
node
- unidentified node objectpublic boolean isIntegrationBridge(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
node
- unidentified noe objectpublic boolean isBridgeNode(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
node
- unidentified node objectpublic void processNodePrep(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node, boolean generateIntBridgeMac)
node
- A nodegenerateIntBridgeMac
- whether or not the int bridge's mac should be set to a random valuepublic void handleNewProviderNetBridges(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node originalNode, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node updatedNode)
public boolean addBridge(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node ovsdbNode, String bridgeName, @Nullable String mac)
ovsdbNode
- Which OVSDB nodebridgeName
- Name of the bridgemac
- mac address to set on the bridge or nullpublic Map<String,String> getOpenvswitchOtherConfigMap(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node, String key)
public @Nullable String getProviderMappingValue(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node, String physicalNetworkName)
node
- OVSDB nodephysicalNetworkName
- name of physical networkpublic String getIntBridgePortNameFor(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node bridgeNode, String providerMappingValue)
bridgeNode
- br-int NodeproviderMappingValue
- this is the last part of provider_mappings=net_name:THISpublic String getIntSidePatchPortName(String interfaceName)
interfaceName
- The external interfacepublic boolean addPortToBridge(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node, String bridgeName, String portName)
node
- the bridge nodebridgeName
- name of the bridgeportName
- name of port to addpublic boolean addPatchPort(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node, String bridgeName, String portName, String peerPortName)
node
- the bridge nodebridgeName
- name of the bridgeportName
- name of the portpeerPortName
- name of the port's peer (the other side)public Optional<BigInteger> getDpIdFromManagerNodeId(String managerNodeId)
public @Nullable String getProviderInterfaceName(BigInteger dpId, String physicalNetworkName)
public @Nullable String getProviderInterfaceName(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node bridgeNode, String physicalNetworkName)
public boolean hasDatapathID(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
public boolean isBridgeOnOvsdbNode(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node ovsdbNode, String bridgename)
public String getIntegrationBridgeName()
public BigInteger getDatapathId(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node node)
Copyright © 2020 OpenDaylight. All rights reserved.