public class OVXBigSwitch extends OVXSwitch
bufferDimension, bufferMap, capabilities, DPDESCSTRING, flowTable, isActive, missSendLen, supportedActions, tenantIdchannel, DB_KEY, desc, featuresReply, isConnected, map, portMap, switchId, switchName| Constructor and Description |
|---|
OVXBigSwitch(long switchId,
int tenantId) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
boot()
Boots virtual switch by connecting it to the controller.
|
SwitchRoute |
createRoute(OVXPort ingress,
OVXPort egress,
List<PhysicalLink> path,
List<PhysicalLink> revpath,
byte priority) |
SwitchRoute |
createRoute(OVXPort ingress,
OVXPort egress,
List<PhysicalLink> path,
List<PhysicalLink> revpath,
byte priority,
int routeId)
Adds a route between two edge ports of the big switch.
|
RoutingAlgorithms |
getAlg()
Gets the routing algorithm used by the big switch.
|
HashSet<PhysicalLink> |
getAllLinks() |
Map<String,Object> |
getDBObject() |
OVXPort |
getPort(Short portNumber)
Gets the port.
|
SwitchRoute |
getRoute(OVXPort srcPort,
OVXPort dstPort)
Get the route between source and destination ports.
|
Set<SwitchRoute> |
getRoutebyId(Integer routeId)
Fetches a bi-directional route based on the routeId.
|
Set<SwitchRoute> |
getRoutebyPort(OVXPort port)
Fetches all routes associated with a specific port, assuming that the
routes are duplex.
|
ConcurrentHashMap<OVXPort,ConcurrentHashMap<OVXPort,SwitchRoute>> |
getRouteMap()
Gets map of all routes for big switch.
|
boolean |
removePort(Short portNumber)
Removes the port.
|
void |
sendSouth(OFMessage msg,
OVXPort inPort)
Sends a message towards the physical network, via the PhysicalSwitch
mapped to this OVXSwitch.
|
void |
setAlg(RoutingAlgorithms alg)
Sets the routing algorithm used by the big switch.
|
String |
toString() |
int |
translate(OFMessage ofm,
OVXPort inPort)
Generates a new XID for messages destined for the physical network.
|
boolean |
tryRecovery(PhysicalSwitch phySwitch)
Tries to gracefully disable the parts of this big switch that map to the
specified physical switch.
|
void |
unregister()
Unregisters switch from persistent storage, from the mapping,
and removes all virtual elements that rely on this switch.
|
boolean |
unregisterRoute(Integer routeId)
Unregister route identified by routeId.
|
addDefaultPort, addToBufferMap, deleteFlowMod, equals, generateFeaturesReply, getDBIndex, getDBKey, getDBName, getFlowMod, getFlowTable, getFromBufferMap, getMissSendLen, getNextPortNumber, getPhysicalPortNumber, getTenantId, handleIO, handleRoleIO, hashCode, incrementBackOff, isActive, register, relesePortNumber, removeChannel, resetBackOff, sendMsg, setActive, setChannel, setMissSendLen, tearDownaddPort, getFeaturesReply, getMap, getName, getPorts, getSwitchId, getSwitchName, setConnected, setDescriptionStats, setFeaturesReplypublic RoutingAlgorithms getAlg()
public void setAlg(RoutingAlgorithms alg)
alg - the routing algorithmpublic SwitchRoute getRoute(OVXPort srcPort, OVXPort dstPort)
srcPort - the ingress port on the big switchdstPort - the egress port on the big switchpublic Set<SwitchRoute> getRoutebyPort(OVXPort port)
port - the switch portpublic Set<SwitchRoute> getRoutebyId(Integer routeId)
routeId - the unique route IDpublic ConcurrentHashMap<OVXPort,ConcurrentHashMap<OVXPort,SwitchRoute>> getRouteMap()
public boolean removePort(Short portNumber)
SwitchremovePort in class Switch<OVXPort>portNumber - the port numberpublic boolean boot()
OVXSwitchpublic boolean unregisterRoute(Integer routeId)
routeId - unique route IDpublic void unregister()
OVXSwitchunregister in class OVXSwitchpublic boolean tryRecovery(PhysicalSwitch phySwitch)
phySwitch - the physical switchpublic OVXPort getPort(Short portNumber)
Switchpublic void sendSouth(OFMessage msg, OVXPort inPort)
OVXSwitchpublic SwitchRoute createRoute(OVXPort ingress, OVXPort egress, List<PhysicalLink> path, List<PhysicalLink> revpath, byte priority, int routeId) throws IndexOutOfBoundException
ingress - ingress portegress - egress portpath - list of linksrevpath - the reverse path from egress to ingresspriority - priority valuerouteId - unique route IDIndexOutOfBoundException - if insufficient space to store new routepublic SwitchRoute createRoute(OVXPort ingress, OVXPort egress, List<PhysicalLink> path, List<PhysicalLink> revpath, byte priority) throws IndexOutOfBoundException
IndexOutOfBoundExceptionpublic int translate(OFMessage ofm, OVXPort inPort)
OVXSwitchpublic HashSet<PhysicalLink> getAllLinks()
public Map<String,Object> getDBObject()
getDBObject in interface PersistablegetDBObject in class OVXSwitchCopyright © 2015. All rights reserved.