public class OVXBigSwitch extends OVXSwitch
bufferDimension, bufferMap, capabilities, DPDESCSTRING, flowTable, isActive, missSendLen, supportedActions, tenantId
channel, 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, tearDown
addPort, getFeaturesReply, getMap, getName, getPorts, getSwitchId, getSwitchName, setConnected, setDescriptionStats, setFeaturesReply
public 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)
Switch
removePort
in class Switch<OVXPort>
portNumber
- the port numberpublic boolean boot()
OVXSwitch
public boolean unregisterRoute(Integer routeId)
routeId
- unique route IDpublic void unregister()
OVXSwitch
unregister
in class OVXSwitch
public boolean tryRecovery(PhysicalSwitch phySwitch)
phySwitch
- the physical switchpublic OVXPort getPort(Short portNumber)
Switch
public void sendSouth(OFMessage msg, OVXPort inPort)
OVXSwitch
public 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
IndexOutOfBoundException
public int translate(OFMessage ofm, OVXPort inPort)
OVXSwitch
public HashSet<PhysicalLink> getAllLinks()
public Map<String,Object> getDBObject()
getDBObject
in interface Persistable
getDBObject
in class OVXSwitch
Copyright © 2015. All rights reserved.