本文整理汇总了Java中net.floodlightcontroller.core.internal.IOFSwitchService.getSwitch方法的典型用法代码示例。如果您正苦于以下问题:Java IOFSwitchService.getSwitch方法的具体用法?Java IOFSwitchService.getSwitch怎么用?Java IOFSwitchService.getSwitch使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.floodlightcontroller.core.internal.IOFSwitchService
的用法示例。
在下文中一共展示了IOFSwitchService.getSwitch方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getSwitchFeaturesReply
import net.floodlightcontroller.core.internal.IOFSwitchService; //导入方法依赖的package包/类
protected OFFeaturesReply getSwitchFeaturesReply(DatapathId switchId) {
IOFSwitchService switchService =
(IOFSwitchService) getContext().getAttributes().
get(IOFSwitchService.class.getCanonicalName());
IOFSwitch sw = switchService.getSwitch(switchId);
Future<OFFeaturesReply> future;
OFFeaturesReply featuresReply = null;
OFFeaturesRequest featuresRequest = sw.getOFFactory().buildFeaturesRequest().build();
if (sw != null) {
try {
future = sw.writeRequest(featuresRequest);
featuresReply = future.get(10, TimeUnit.SECONDS);
} catch (Exception e) {
log.error("Failure getting features reply from switch" + sw, e);
}
}
return featuresReply;
}
示例2: blockHost
import net.floodlightcontroller.core.internal.IOFSwitchService; //导入方法依赖的package包/类
public static boolean blockHost(IOFSwitchService switchService,
SwitchPort sw_tup, MacAddress host_mac, short hardTimeout, U64 cookie) {
if (sw_tup == null) {
return false;
}
IOFSwitch sw = switchService.getSwitch(sw_tup.getSwitchDPID());
if (sw == null) {
return false;
}
OFPort inputPort = sw_tup.getPort();
log.debug("blockHost sw={} port={} mac={}",
new Object[] { sw, sw_tup.getPort(), host_mac.getLong() });
// Create flow-mod based on packet-in and src-switch
OFFlowMod.Builder fmb = sw.getOFFactory().buildFlowAdd();
Match.Builder mb = sw.getOFFactory().buildMatch();
List<OFAction> actions = new ArrayList<OFAction>(); // Set no action to drop
mb.setExact(MatchField.IN_PORT, inputPort);
if (host_mac.getLong() != -1L) {
mb.setExact(MatchField.ETH_SRC, host_mac);
}
fmb.setCookie(cookie)
.setHardTimeout(hardTimeout)
.setIdleTimeout(FLOWMOD_DEFAULT_IDLE_TIMEOUT)
.setPriority(FLOWMOD_DEFAULT_PRIORITY)
.setBufferId(OFBufferId.NO_BUFFER)
.setMatch(mb.build());
FlowModUtils.setActions(fmb, actions, sw);
log.debug("write drop flow-mod sw={} match={} flow-mod={}",
new Object[] { sw, mb.build(), fmb.build() });
// TODO: can't use the message damper since this method is static
sw.write(fmb.build());
return true;
}
示例3: blockHost
import net.floodlightcontroller.core.internal.IOFSwitchService; //导入方法依赖的package包/类
@LogMessageDocs({
@LogMessageDoc(level="ERROR",
message="Failure writing deny flow mod",
explanation="An I/O error occurred while writing a " +
"deny flow mod to a switch",
recommendation=LogMessageDoc.CHECK_SWITCH)
})
public static boolean blockHost(IOFSwitchService switchService,
SwitchPort sw_tup, MacAddress host_mac, short hardTimeout, U64 cookie) {
if (sw_tup == null) {
return false;
}
IOFSwitch sw = switchService.getSwitch(sw_tup.getSwitchDPID());
if (sw == null) {
return false;
}
OFPort inputPort = sw_tup.getPort();
log.debug("blockHost sw={} port={} mac={}",
new Object[] { sw, sw_tup.getPort(), host_mac.getLong() });
// Create flow-mod based on packet-in and src-switch
OFFlowMod.Builder fmb = sw.getOFFactory().buildFlowAdd();
Match.Builder mb = sw.getOFFactory().buildMatch();
List<OFAction> actions = new ArrayList<OFAction>(); // Set no action to drop
mb.setExact(MatchField.IN_PORT, inputPort);
if (host_mac.getLong() != -1L) {
mb.setExact(MatchField.ETH_SRC, host_mac);
}
fmb.setCookie(cookie)
.setHardTimeout(hardTimeout)
.setIdleTimeout(FLOWMOD_DEFAULT_IDLE_TIMEOUT)
.setPriority(FLOWMOD_DEFAULT_PRIORITY)
.setBufferId(OFBufferId.NO_BUFFER)
.setMatch(mb.build())
.setActions(actions);
log.debug("write drop flow-mod sw={} match={} flow-mod={}",
new Object[] { sw, mb.build(), fmb.build() });
// TODO: can't use the message damper sine this method is static
sw.write(fmb.build());
return true;
}
示例4: blockHost
import net.floodlightcontroller.core.internal.IOFSwitchService; //导入方法依赖的package包/类
public static boolean blockHost(IOFSwitchService switchService,
SwitchPort sw_tup, MacAddress host_mac, short hardTimeout, U64 cookie) {
if (sw_tup == null) {
return false;
}
IOFSwitch sw = switchService.getSwitch(sw_tup.getSwitchDPID());
if (sw == null) {
return false;
}
OFPort inputPort = sw_tup.getPort();
log.debug("blockHost sw={} port={} mac={}",
new Object[] { sw, sw_tup.getPort(), host_mac.getLong() });
// Create flow-mod based on packet-in and src-switch
OFFlowMod.Builder fmb = sw.getOFFactory().buildFlowAdd();
Match.Builder mb = sw.getOFFactory().buildMatch();
List<OFAction> actions = new ArrayList<OFAction>(); // Set no action to drop
mb.setExact(MatchField.IN_PORT, inputPort);
if (host_mac.getLong() != -1L) {
mb.setExact(MatchField.ETH_SRC, host_mac);
}
fmb.setCookie(cookie)
.setHardTimeout(hardTimeout)
.setIdleTimeout(FLOWMOD_DEFAULT_IDLE_TIMEOUT)
.setPriority(FLOWMOD_DEFAULT_PRIORITY)
.setBufferId(OFBufferId.NO_BUFFER)
.setMatch(mb.build());
FlowModUtils.setActions(fmb, actions, sw);
log.debug("write drop flow-mod sw={} match={} flow-mod={}",
new Object[] { sw, mb.build(), fmb.build() });
// TODO: can't use the message damper since this method is static
sw.write(fmb.build());
return true;
}