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


Java IOFSwitchService.getSwitch方法代码示例

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

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

示例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;
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:49,代码来源:ForwardingBase.java

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


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