本文整理汇总了Java中net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation类的典型用法代码示例。如果您正苦于以下问题:Java UpdateOperation类的具体用法?Java UpdateOperation怎么用?Java UpdateOperation使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
UpdateOperation类属于net.floodlightcontroller.linkdiscovery.ILinkDiscovery包,在下文中一共展示了UpdateOperation类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: generateSwitchPortStatusUpdate
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
private void generateSwitchPortStatusUpdate(DatapathId sw, OFPort port) {
UpdateOperation operation;
IOFSwitch iofSwitch = switchService.getSwitch(sw);
if (iofSwitch == null) return;
OFPortDesc ofp = iofSwitch.getPort(port);
if (ofp == null) return;
Set<OFPortState> srcPortState = ofp.getState();
boolean portUp = !srcPortState.contains(OFPortState.STP_BLOCK);
if (portUp) {
operation = UpdateOperation.PORT_UP;
} else {
operation = UpdateOperation.PORT_DOWN;
}
updates.add(new LDUpdate(sw, port, operation));
}
示例2: generateSwitchPortStatusUpdate
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
private void generateSwitchPortStatusUpdate(DatapathId sw, OFPort port) {
UpdateOperation operation;
IOFSwitch iofSwitch = switchService.getSwitch(sw);
if (iofSwitch == null) return;
OFPortDesc ofp = iofSwitch.getPort(port);
if (ofp == null) return;
Set<OFPortState> srcPortState = ofp.getState();
boolean portUp = !srcPortState.contains(OFPortState.STP_BLOCK);
if (portUp) {
operation = UpdateOperation.PORT_UP;
} else {
operation = UpdateOperation.PORT_DOWN;
}
updates.add(new LDUpdate(sw, port, operation));
}
示例3: generateSwitchPortStatusUpdate
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
private void generateSwitchPortStatusUpdate(long sw, short port) {
UpdateOperation operation;
IOFSwitch iofSwitch = floodlightProvider.getSwitch(sw);
if (iofSwitch == null) return;
OFPhysicalPort ofp = iofSwitch.getPort(port).toOFPhysicalPort();
if (ofp == null) return;
int srcPortState = ofp.getState();
boolean portUp = ((srcPortState & OFPortState.OFPPS_STP_MASK.getValue())
!= OFPortState.OFPPS_STP_BLOCK.getValue());
if (portUp)
operation = UpdateOperation.PORT_UP;
else
operation = UpdateOperation.PORT_DOWN;
updates.add(new LDUpdate(sw, port, operation));
}
示例4: generateSwitchPortStatusUpdate
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
private void generateSwitchPortStatusUpdate(long sw, short port) {
UpdateOperation operation;
IOFSwitch iofSwitch = floodlightProvider.getSwitches().get(sw);
if (iofSwitch == null) return;
OFPhysicalPort ofp = iofSwitch.getPort(port);
if (ofp == null) return;
int srcPortState = ofp.getState();
boolean portUp = ((srcPortState &
OFPortState.OFPPS_STP_MASK.getValue()) !=
OFPortState.OFPPS_STP_BLOCK.getValue());
if (portUp) operation = UpdateOperation.PORT_UP;
else operation = UpdateOperation.PORT_DOWN;
updates.add(new LDUpdate(sw, port, operation));
}
开发者ID:vishalshubham,项目名称:Multipath-Hedera-system-in-Floodlight-controller,代码行数:20,代码来源:LinkDiscoveryManager.java
示例5: removedSwitch
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
/**
* When a switch disconnects we remove any links from our map and notify.
* @param The id of the switch
*/
@Override
public void removedSwitch(IOFSwitch iofSwitch) {
// Update event history
long sw = iofSwitch.getId();
evHistTopoSwitch(iofSwitch, EvAction.SWITCH_DISCONNECTED, "None");
List<Link> eraseList = new ArrayList<Link>();
lock.writeLock().lock();
try {
if (switchLinks.containsKey(sw)) {
if (log.isTraceEnabled()) {
log.trace("Handle switchRemoved. Switch {}; removing links {}",
HexString.toHexString(sw), switchLinks.get(sw));
}
// add all tuples with an endpoint on this switch to erase list
eraseList.addAll(switchLinks.get(sw));
deleteLinks(eraseList, "Switch Removed");
// Send a switch removed update
LDUpdate update = new LDUpdate(sw, null, UpdateOperation.SWITCH_REMOVED);
updates.add(update);
}
} finally {
lock.writeLock().unlock();
}
}
开发者ID:vishalshubham,项目名称:Multipath-Hedera-system-in-Floodlight-controller,代码行数:30,代码来源:LinkDiscoveryManager.java
示例6: topologyChanged
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
@Override
public void topologyChanged(List<LDUpdate> linkUpdates) {
// TODO Auto-generated method stub
if(!linkUpdates.isEmpty()){
Iterator<LDUpdate> update = linkUpdates.iterator();
while(update.hasNext()){
LDUpdate key = update.next();
UpdateOperation operation = key.getOperation();
if(operation == UpdateOperation.LINK_REMOVED && SpanTreeRecovery ==false){
SpanTreeRecovery =true;
//massivefailurerecoveryservice.startmassiverecovery();
}
//this.link_failure_handle(key);
}
}
}
示例7: generateSwitchPortStatusUpdate
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
private void generateSwitchPortStatusUpdate(long sw, short port) {
UpdateOperation operation;
IOFSwitch iofSwitch = floodlightProvider.getSwitch(sw);
if (iofSwitch == null) return;
OFPhysicalPort ofp = iofSwitch.getPort(port).toOFPhysicalPort();
if (ofp == null) return;
int srcPortState = ofp.getState();
boolean portUp = ((srcPortState & OFPortState.OFPPS_STP_MASK.getValue())
!= OFPortState.OFPPS_STP_BLOCK.getValue());
if (portUp)
operation = UpdateOperation.PORT_UP;
else
operation = UpdateOperation.PORT_DOWN;
log.info("generateSwitchPortStatusUpdate");
updates.add(new LDUpdate(sw, port, operation));
}
示例8: generateSwitchPortStatusUpdate
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
private void generateSwitchPortStatusUpdate(long sw, short port) {
UpdateOperation operation;
IOFSwitch iofSwitch = floodlightProvider.getSwitches().get(sw);
if (iofSwitch == null) return;
OFPhysicalPort ofp = iofSwitch.getPort(port);
if (ofp == null) return;
int srcPortState = ofp.getState();
boolean portUp = ((srcPortState & OFPortState.OFPPS_STP_MASK.getValue())
!= OFPortState.OFPPS_STP_BLOCK.getValue());
if (portUp)
operation = UpdateOperation.PORT_UP;
else
operation = UpdateOperation.PORT_DOWN;
updates.add(new LDUpdate(sw, port, operation));
}
示例9: generateSwitchPortStatusUpdate
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
private void generateSwitchPortStatusUpdate(long sw, short port) {
UpdateOperation operation;
IOFSwitch iofSwitch = floodlightProvider.getSwitches().get(sw);
if (iofSwitch == null) return;
OFPhysicalPort ofp = iofSwitch.getPort(port);
if (ofp == null) return;
int srcPortState = ofp.getState();
boolean portUp = ((srcPortState & OFPortState.OFPPS_STP_MASK.getValue()) != OFPortState.OFPPS_STP_BLOCK.getValue());
if (portUp)
operation = UpdateOperation.PORT_UP;
else
operation = UpdateOperation.PORT_DOWN;
updates.add(new LDUpdate(sw, port, operation));
}
示例10: getUpdateOperation
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
protected UpdateOperation getUpdateOperation(OFPortState srcPortState, OFPortState dstPortState) {
boolean added = ((srcPortState != OFPortState.STP_BLOCK) && (dstPortState != OFPortState.STP_BLOCK));
if (added) {
return UpdateOperation.LINK_UPDATED;
} else {
return UpdateOperation.LINK_REMOVED;
}
}
示例11: handlePortDown
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
private void handlePortDown(DatapathId switchId, OFPort portNumber) {
NodePortTuple npt = new NodePortTuple(switchId, portNumber);
deleteLinksOnPort(npt, "Port Status Changed");
LDUpdate update = new LDUpdate(switchId, portNumber,
UpdateOperation.PORT_DOWN);
updates.add(update);
}
示例12: switchRemoved
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
@Override
public void switchRemoved(DatapathId sw) {
List<Link> eraseList = new ArrayList<Link>();
lock.writeLock().lock();
try {
if (switchLinks.containsKey(sw)) {
if (log.isTraceEnabled()) {
log.trace("Handle switchRemoved. Switch {}; removing links {}", sw.toString(), switchLinks.get(sw));
}
List<LDUpdate> updateList = new ArrayList<LDUpdate>();
updateList.add(new LDUpdate(sw, SwitchType.BASIC_SWITCH, UpdateOperation.SWITCH_REMOVED));
// add all tuples with an endpoint on this switch to erase list
eraseList.addAll(switchLinks.get(sw));
// Sending the updateList, will ensure the updates in this
// list will be added at the end of all the link updates.
// Thus, it is not necessary to explicitly add these updates
// to the queue.
deleteLinks(eraseList, "Switch Removed", updateList);
} else {
// Switch does not have any links.
updates.add(new LDUpdate(sw, SwitchType.BASIC_SWITCH, UpdateOperation.SWITCH_REMOVED));
}
} finally {
lock.writeLock().unlock();
}
}
示例13: switchActivated
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
@Override
public void switchActivated(DatapathId switchId) {
IOFSwitch sw = switchService.getSwitch(switchId);
if (sw == null) //fix dereference violation in case race conditions
return;
if (sw.getEnabledPortNumbers() != null) {
for (OFPort p : sw.getEnabledPortNumbers()) {
processNewPort(sw.getId(), p);
}
}
LDUpdate update = new LDUpdate(sw.getId(), SwitchType.BASIC_SWITCH, UpdateOperation.SWITCH_UPDATED);
updates.add(update);
}
示例14: switchRemoved
import net.floodlightcontroller.linkdiscovery.ILinkDiscovery.UpdateOperation; //导入依赖的package包/类
@Override
public void switchRemoved(DatapathId sw) {
List<Link> eraseList = new ArrayList<Link>();
lock.writeLock().lock();
try {
if (switchLinks.containsKey(sw)) {
if (log.isTraceEnabled()) {
log.trace("Handle switchRemoved. Switch {}; removing links {}", sw.toString(), switchLinks.get(sw));
}
List<LDUpdate> updateList = new ArrayList<LDUpdate>();
updateList.add(new LDUpdate(sw, SwitchType.BASIC_SWITCH, UpdateOperation.SWITCH_REMOVED));
// add all tuples with an endpoint on this switch to erase list
eraseList.addAll(switchLinks.get(sw));
// Sending the updateList, will ensure the updates in this
// list will be added at the end of all the link updates.
// Thus, it is not necessary to explicitly add these updates
// to the queue.
deleteLinks(eraseList, "Switch Removed", updateList);
} else {
// Switch does not have any links.
updates.add(new LDUpdate(sw, SwitchType.BASIC_SWITCH, UpdateOperation.SWITCH_REMOVED));
}
} finally {
lock.writeLock().unlock();
}
}