@Singleton public class ElanBridgeManager extends Object implements IElanBridgeManager
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.ovsdb.utils.mdsal.utils.MdsalUtils mdsalUtils)
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,
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.
|
org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node |
getBridgeNode(BigInteger dpId)
Get integration bridge node with dpId.
|
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)
Get the integration bridge DPN id from the manager node UUID.
|
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> |
getMultiValueMap(String multiKeyValueStr)
Extract multi key-value into Map.
|
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)
Extract OpenvSwitch other-config to key value map.
|
String |
getProviderInterfaceName(BigInteger dpId,
String physicalNetworkName) |
String |
getProviderInterfaceName(org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node bridgeNode,
String physicalNetworkName) |
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.ovsdb.utils.mdsal.utils.MdsalUtils mdsalUtils)
elanConfig
- the elan configurationinterfaceManager
- InterfaceManagersouthboundUtils
- southboutUtilsmdsalUtils
- mdsalUtilspublic 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, 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)
getOpenvswitchOtherConfigMap
in interface IElanBridgeManager
node
- OVSDB nodekey
- key to extract from other-configpublic 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)
IElanBridgeManager
getDpIdFromManagerNodeId
in interface IElanBridgeManager
managerNodeId
- node-id of the OVSDB node managing br-intpublic Map<String,String> getMultiValueMap(String multiKeyValueStr)
IElanBridgeManager
getMultiValueMap
in interface IElanBridgeManager
multiKeyValueStr
- multi key-value formatted using colon key-value
separator and comma multi-value separatorpublic org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node getBridgeNode(BigInteger dpId)
getBridgeNode
in interface IElanBridgeManager
dpId
- datapath idNode
or null if not foundpublic String getProviderInterfaceName(BigInteger dpId, String physicalNetworkName)
public 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 © 2019 OpenDaylight. All rights reserved.