当前位置: 首页>>代码示例>>Java>>正文


Java FlowModUtils.setActions方法代码示例

本文整理汇总了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);
	}
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:28,代码来源:Forwarding.java

示例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);
	}
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:29,代码来源:Forwarding.java

示例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);
	}
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:30,代码来源:MappingTableManager.java

示例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;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:43,代码来源:ForwardingBase.java

示例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;
}
 
开发者ID:zhenshengcai,项目名称:floodlight-hardware,代码行数:43,代码来源:ForwardingBase.java


注:本文中的net.floodlightcontroller.util.FlowModUtils.setActions方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。