Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.ConcurrentHashMap<java.lang.Long,IOFSwitch> |
OFController.switches
index to all switches.
|
Modifier and Type | Method and Description |
---|---|
IOFSwitch |
OFController.getSwitch(long id)
return a specific switch with a given identifier
|
Modifier and Type | Method and Description |
---|---|
java.util.Collection<IOFSwitch> |
OFController.getSwitches()
return the set of all switches
|
Modifier and Type | Method and Description |
---|---|
private boolean |
OFMDeviceManager.processPacketInMessage(IOFSwitch sw,
org.openflow.protocol.OFPacketIn pi,
MessageContext cntx) |
Modifier and Type | Method and Description |
---|---|
protected RuleWildcardsPair |
OFMFirewall.matchWithRule(IOFSwitch sw,
org.openflow.protocol.OFPacketIn pi,
MessageContext cntx)
Iterates over the firewall rules and tries to match them with the
incoming packet (flow).
|
private boolean |
OFMFirewall.processPacketInMessage(IOFSwitch sw,
org.openflow.protocol.OFPacketIn pi,
IRoutingDecision decision,
MessageContext cntx)
Checks the incoming packet with the firewall policy and create
a decision to handle the packet.
|
Modifier and Type | Method and Description |
---|---|
void |
IFlowCacheService.deleteAllFlowsAtASourceSwitch(IOFSwitch sw)
Delete all flow from the specified switch
|
Modifier and Type | Method and Description |
---|---|
protected void |
Forwarding.doDropFlow(IOFSwitch sw,
org.openflow.protocol.OFPacketIn pi,
IRoutingDecision decision,
MessageContext cntx)
Creates a
OFPacketOut with packetin that is dropped. |
protected void |
Forwarding.doFlood(IOFSwitch sw,
org.openflow.protocol.OFPacketIn pi,
MessageContext cntx)
Creates a OFPacketOut with packetin that is flooded on all ports
unless the port is blocked, in which case the packet will be dropped.
|
protected void |
Forwarding.doForwardFlow(IOFSwitch sw,
org.openflow.protocol.OFPacketIn pi,
MessageContext cntx,
boolean requestFlowRemovedNotifn)
Creates a OFPacketOut with packetin that is forwarded.
|
void |
ForwardingBase.pushPacket(Connection conn,
IPacket packet,
IOFSwitch sw,
int bufferId,
short inPort,
short outPort,
MessageContext cntx)
Pushes a packet-out to a switch.
|
protected org.openflow.protocol.OFMatch |
ForwardingBase.wildcard(org.openflow.protocol.OFMatch match,
IOFSwitch sw,
java.lang.Integer wildcard_hints)
Sets wildcards if wildcard_hints is null.
|
Modifier and Type | Field and Description |
---|---|
private IOFSwitch |
MacVlanPair.sw |
Modifier and Type | Field and Description |
---|---|
private java.util.Map<IOFSwitch,java.util.Map<MacVlanPair,java.lang.Short>> |
OFMLearningMac.macVlanToSwitchPortMap
Table to save learning result.
|
Modifier and Type | Method and Description |
---|---|
IOFSwitch |
MacVlanPair.getSwitch()
Get the switch associated with the MAC address
|
Modifier and Type | Method and Description |
---|---|
java.util.Map<IOFSwitch,java.util.Map<MacVlanPair,java.lang.Short>> |
OFMLearningMac.getTable()
Get all the mappings between MAC/VLAN to switch port.
|
Modifier and Type | Method and Description |
---|---|
protected void |
OFMLearningMac.addToPortMap(IOFSwitch sw,
long mac,
short vlan,
short portVal)
Adds a host to the MAC/VLAN->SwitchPort mapping
|
void |
OFMLearningMac.clearLearnedTable(IOFSwitch sw)
Clears the MAC/VLAN -> SwitchPort map for a single switch
|
java.lang.Short |
OFMLearningMac.getFromPortMap(IOFSwitch sw,
long mac,
short vlan)
Get the port that a MAC/VLAN pair is associated with
|
protected void |
OFMLearningMac.removeFromPortMap(IOFSwitch sw,
long mac,
short vlan)
Removes a host from the MAC/VLAN->SwitchPort mapping
|
private void |
OFMLearningMac.writeFlowMod(IOFSwitch sw,
short command,
int bufferId,
org.openflow.protocol.OFMatch match,
short outPort,
java.util.List<org.openflow.protocol.OFMessage> out)
Writes a OFFlowMod to a switch.
|
private void |
OFMLearningMac.writePacketOutForPacketIn(IOFSwitch sw,
org.openflow.protocol.OFPacketIn packetInMessage,
short egressPort,
java.util.List<org.openflow.protocol.OFMessage> out)
Writes an OFPacketOut message to a switch.
|
Constructor and Description |
---|
MacVlanPair(java.lang.Long mac,
java.lang.Short vlan,
IOFSwitch sw)
Constructor to create the MacVlanPair object.
|
Modifier and Type | Method and Description |
---|---|
private void |
OFMLinkDiscovery.generateSwitchPortStatusUpdate(IOFSwitch sw,
short port) |
private boolean |
OFMLinkDiscovery.handleLldp(LLDP lldp,
IOFSwitch sw,
org.openflow.protocol.OFPacketIn pi,
boolean isStandard,
java.util.List<org.openflow.protocol.OFMessage> outgoing)
From the LLDP packet received, this method first extract following information:
remote switch information
controller id (if this message is created by a controller)
direction of the message
The business logic of this method are as follows:
if the message is a standard LLDP which is not created by this controller, then drop it.
|
private boolean |
OFMLinkDiscovery.handlePacketIn(IOFSwitch sw,
MessageContext context,
org.openflow.protocol.OFPacketIn pi,
java.util.List<org.openflow.protocol.OFMessage> outgoing)
This method handles a PACKET_IN message as follows:
First, decapsulate the Ethernet part of the PACKET_IN payload.
|
private boolean |
OFMLinkDiscovery.handlePortStatus(IOFSwitch sw,
MessageContext context,
org.openflow.protocol.OFPortStatus ps,
java.util.List<org.openflow.protocol.OFMessage> outgoing)
Handle PORT_STATUS message.
|
private void |
OFMLinkDiscovery.processNewPort(IOFSwitch sw,
short p)
Process a new port.
|
private boolean |
OFMLinkDiscovery.sendDiscoveryMessage(IOFSwitch sw,
short port,
boolean isStandard,
boolean isReverse)
Send link discovery message out of a given switch port.
|
Constructor and Description |
---|
OFMLinkDiscovery.Disconnection(IOFSwitch sw) |
Modifier and Type | Method and Description |
---|---|
void |
OFMStaticFlowEntryPusher.addedSwitch(IOFSwitch sw)
If this method is called, it sends entries to switch by calling
OFMStaticFlowEntryPusher.sendEntriesToSwitch(IOFSwitch) . |
void |
OFMStaticFlowEntryPusher.removedSwitch(IOFSwitch sw)
This does nothing currently, except for emitting some log messages.
|
protected void |
OFMStaticFlowEntryPusher.sendEntriesToSwitch(IOFSwitch sw)
Reads from our entriesFromStorage for the specified switch and sends the
FlowMods down to the controller in sorted order.
|
private void |
OFMStaticFlowEntryPusher.writeFlowModToSwitch(IOFSwitch sw,
org.openflow.protocol.OFFlowMod flowMod)
Writes an OFFlowMod to a switch.
|
Modifier and Type | Method and Description |
---|---|
void |
OFMTopologyManager.doMultiActionPacketOut(byte[] packetData,
IOFSwitch sw,
java.util.Set<java.lang.Short> ports)
TODO This method must be moved to a layer below forwarding
so that anyone can use it.
|
private boolean |
OFMTopologyManager.processPacketInMessage(IOFSwitch sw,
org.openflow.protocol.OFPacketIn pi,
MessageContext context,
java.util.List<org.openflow.protocol.OFMessage> outgoing)
From the OFPacketIn message received, this method performs following procedures.
|
Modifier and Type | Class and Description |
---|---|
class |
OFSwitchImpl
This is the internal representation of an openflow switch.
|
Modifier and Type | Field and Description |
---|---|
private IOFSwitch |
Connection.sw |
Modifier and Type | Method and Description |
---|---|
IOFSwitch |
Connection.getSwitch() |
IOFSwitch |
IOFHandler.getSwitch(long id) |
Modifier and Type | Method and Description |
---|---|
java.util.Collection<IOFSwitch> |
IOFHandler.getSwitches() |
Modifier and Type | Method and Description |
---|---|
void |
Connection.setSwitch(IOFSwitch sw) |
Modifier and Type | Field and Description |
---|---|
(package private) IOFSwitch |
OFMessageDamper.DamperEntry.sw |
Constructor and Description |
---|
OFMessageDamper.DamperEntry(org.openflow.protocol.OFMessage msg,
IOFSwitch sw) |