本文整理汇总了Java中net.floodlightcontroller.util.FlowModUtils.setActions方法的典型用法代码示例。如果您正苦于以下问题:Java FlowModUtils.setActions方法的具体用法?Java FlowModUtils.setActions怎么用?Java FlowModUtils.setActions使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.floodlightcontroller.util.FlowModUtils
的用法示例。
在下文中一共展示了FlowModUtils.setActions方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doDropFlow
import net.floodlightcontroller.util.FlowModUtils; //导入方法依赖的package包/类
protected void doDropFlow(IOFSwitch sw, OFPacketIn pi, IRoutingDecision decision, FloodlightContext cntx) {
OFPort inPort = (pi.getVersion().compareTo(OFVersion.OF_12) < 0 ? pi.getInPort() : pi.getMatch().get(MatchField.IN_PORT));
Match m = createMatchFromPacket(sw, inPort, cntx);
OFFlowMod.Builder fmb = sw.getOFFactory().buildFlowAdd(); // this will be a drop-flow; a flow that will not output to any ports
List<OFAction> actions = new ArrayList<OFAction>(); // set no action to drop
U64 cookie = AppCookie.makeCookie(FORWARDING_APP_ID, 0);
log.info("Droppingggg");
fmb.setCookie(cookie)
.setHardTimeout(FLOWMOD_DEFAULT_HARD_TIMEOUT)
.setIdleTimeout(FLOWMOD_DEFAULT_IDLE_TIMEOUT)
.setBufferId(OFBufferId.NO_BUFFER)
.setMatch(m)
.setPriority(FLOWMOD_DEFAULT_PRIORITY);
FlowModUtils.setActions(fmb, actions, sw);
try {
if (log.isDebugEnabled()) {
log.debug("write drop flow-mod sw={} match={} flow-mod={}",
new Object[] { sw, m, fmb.build() });
}
boolean dampened = messageDamper.write(sw, fmb.build());
log.debug("OFMessage dampened: {}", dampened);
} catch (IOException e) {
log.error("Failure writing drop flow mod", e);
}
}
示例2: doDropFlow
import net.floodlightcontroller.util.FlowModUtils; //导入方法依赖的package包/类
protected void doDropFlow(IOFSwitch sw, OFPacketIn pi, IRoutingDecision decision, FloodlightContext cntx) {
OFPort inPort = (pi.getVersion().compareTo(OFVersion.OF_12) < 0 ? pi.getInPort() : pi.getMatch().get(MatchField.IN_PORT));
Match m = createMatchFromPacket(sw, inPort, cntx);
OFFlowMod.Builder fmb = sw.getOFFactory().buildFlowAdd(); // this will be a drop-flow; a flow that will not output to any ports
List<OFAction> actions = new ArrayList<OFAction>(); // set no action to drop
U64 cookie = AppCookie.makeCookie(FORWARDING_APP_ID, 0);
//log.info("Droppingggg");
fmb.setCookie(cookie)
.setHardTimeout(FLOWMOD_DEFAULT_HARD_TIMEOUT)
.setIdleTimeout(FLOWMOD_DEFAULT_IDLE_TIMEOUT)
.setBufferId(OFBufferId.NO_BUFFER)
.setMatch(m)
.setPriority(FLOWMOD_DEFAULT_PRIORITY);
FlowModUtils.setActions(fmb, actions, sw);
try {
if (log.isDebugEnabled()) {
log.debug("write drop flow-mod sw={} match={} flow-mod={}",
new Object[] { sw, m, fmb.build() });
}
boolean dampened = messageDamper.write(sw, fmb.build());
log.info("SXT_DBG:******Send flowmod(drop) message successful !******");
log.debug("OFMessage dampened: {}", dampened);
} catch (IOException e) {
log.error("Failure writing drop flow mod", e);
}
}
示例3: doFlowMod
import net.floodlightcontroller.util.FlowModUtils; //导入方法依赖的package包/类
protected void doFlowMod(IOFSwitch sw, OFPacketIn pi, FloodlightContext cntx,IPv6Address eid,IPv6Address rloc) {
log.info("SXT_DBG: ******start doFLowMod******");
Match m = createMatchFromPacket0(sw, eid,rloc,cntx);
OFFlowMod.Builder fmb = sw.getOFFactory().buildFlowAdd();
List<OFAction> actions = new ArrayList<OFAction>();
U64 cookie = AppCookie.makeCookie(FORWARDING_APP_ID, 0);//*********
OFPort outPort = OFPort.of(0);//Defaulted NetMagicPro outPort is zero
//log.info("doflowmod");
fmb.setCookie(cookie)
.setHardTimeout(FLOWMOD_DEFAULT_HARD_TIMEOUT)
.setIdleTimeout(FLOWMOD_DEFAULT_IDLE_TIMEOUT)
.setBufferId(OFBufferId.NO_BUFFER)
.setOutPort(outPort)
.setMatch(m)
.setPriority(FLOWMOD_DEFAULT_PRIORITY);
FlowModUtils.setActions(fmb, actions, sw);
try {
if (log.isDebugEnabled()) {
log.debug("write flow-mod sw={} match={} flow-mod={}",
new Object[] { sw, m, fmb.build() });
}
boolean dampened = messageDamper.write(sw, fmb.build());
log.info("SXT_DBG:******Send flowmod(add) message successful*****");
log.debug("OFMessage dampened: {}", dampened);
} catch (IOException e) {
log.error("Failure writing flow mod", e);
}
}
示例4: blockHost
import net.floodlightcontroller.util.FlowModUtils; //导入方法依赖的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;
}
示例5: blockHost
import net.floodlightcontroller.util.FlowModUtils; //导入方法依赖的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;
}