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


Java IOFSwitch.getBuffers方法代码示例

本文整理汇总了Java中net.floodlightcontroller.core.IOFSwitch.getBuffers方法的典型用法代码示例。如果您正苦于以下问题:Java IOFSwitch.getBuffers方法的具体用法?Java IOFSwitch.getBuffers怎么用?Java IOFSwitch.getBuffers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.floodlightcontroller.core.IOFSwitch的用法示例。


在下文中一共展示了IOFSwitch.getBuffers方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: SwitchRepresentation

import net.floodlightcontroller.core.IOFSwitch; //导入方法依赖的package包/类
public SwitchRepresentation(@Nonnull IOFSwitch sw, @Nonnull OFSwitchHandshakeHandler handshakeHandler) {
    Preconditions.checkNotNull(sw, "switch must not be null");
    Preconditions.checkNotNull(handshakeHandler, "handshakeHandler must not be null");

    // IOFSwitch
    this.buffers = sw.getBuffers();
    this.capabilities = sw.getCapabilities();
    this.tables = sw.getNumTables();
    this.inetAddress = sw.getInetAddress();
    this.sortedPorts = sw.getSortedPorts();
    this.isConnected = sw.isConnected();
    this.connectedSince = sw.getConnectedSince();
    this.dpid = sw.getId();
    this.attributes = sw.getAttributes();
    this.isActive = sw.isActive();

    // OFSwitchHandshakeHandler
    this.connections = handshakeHandler.getConnections();
    this.handshakeState = handshakeHandler.getState();
    this.quarantineReason = handshakeHandler.getQuarantineReason();
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:22,代码来源:SwitchRepresentation.java

示例2: SwitchRepresentation

import net.floodlightcontroller.core.IOFSwitch; //导入方法依赖的package包/类
public SwitchRepresentation(@Nonnull IOFSwitch sw, @Nonnull OFSwitchHandshakeHandler handshakeHandler) {
    Preconditions.checkNotNull(sw, "switch must not be null");
    Preconditions.checkNotNull(handshakeHandler, "handshakeHandler must not be null");

    // IOFSwitch
    this.buffers = sw.getBuffers();
    this.capabilities = sw.getCapabilities();
    this.tables = sw.getTables();
    this.inetAddress = sw.getInetAddress();
    this.sortedPorts = sw.getSortedPorts();
    this.isConnected = sw.isConnected();
    this.connectedSince = sw.getConnectedSince();
    this.dpid = sw.getId();
    this.attributes = sw.getAttributes();
    this.isActive = sw.isActive();

    // OFSwitchHandshakeHandler
    this.connections = handshakeHandler.getConnections();
    this.handshakeState = handshakeHandler.getState();
    this.quarantineReason = handshakeHandler.getQuarantineReason();
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:22,代码来源:SwitchRepresentation.java

示例3: pushPacket

import net.floodlightcontroller.core.IOFSwitch; //导入方法依赖的package包/类
/**
 * Pushes a packet-out to a switch.  The assumption here is that
 * the packet-in was also generated from the same switch.  Thus, if the input
 * port of the packet-in and the outport are the same, the function will not
 * push the packet-out.
 * @param sw        switch that generated the packet-in, and from which packet-out is sent
 * @param match     OFmatch
 * @param pi        packet-in
 * @param outport   output port
 */
private void pushPacket(IOFSwitch sw, Match match, OFPacketIn pi, OFPort outport) {
	if (pi == null) {
		return;
	}

	OFPort inPort = (pi.getVersion().compareTo(OFVersion.OF_12) < 0 ? pi.getInPort() : pi.getMatch().get(MatchField.IN_PORT));

	// The assumption here is (sw) is the switch that generated the
	// packet-in. If the input port is the same as output port, then
	// the packet-out should be ignored.
	if (inPort.equals(outport)) {
		if (log.isDebugEnabled()) {
			log.debug("Attempting to do packet-out to the same " +
					"interface as packet-in. Dropping packet. " +
					" SrcSwitch={}, match = {}, pi={}",
					new Object[]{sw, match, pi});
			return;
		}
	}

	if (log.isTraceEnabled()) {
		log.trace("PacketOut srcSwitch={} match={} pi={}",
				new Object[] {sw, match, pi});
	}

	OFPacketOut.Builder pob = sw.getOFFactory().buildPacketOut();

	// set actions
	List<OFAction> actions = new ArrayList<OFAction>();
	actions.add(sw.getOFFactory().actions().buildOutput().setPort(outport).setMaxLen(0xffFFffFF).build());

	pob.setActions(actions);

	// If the switch doens't support buffering set the buffer id to be none
	// otherwise it'll be the the buffer id of the PacketIn
	if (sw.getBuffers() == 0) {
		// We set the PI buffer id here so we don't have to check again below
		pi = pi.createBuilder().setBufferId(OFBufferId.NO_BUFFER).build();
		pob.setBufferId(OFBufferId.NO_BUFFER);
	} else {
		pob.setBufferId(pi.getBufferId());
	}

	pob.setInPort(inPort);

	// If the buffer id is none or the switch doesn's support buffering
	// we send the data with the packet out
	if (pi.getBufferId() == OFBufferId.NO_BUFFER) {
		byte[] packetData = pi.getData();
		pob.setData(packetData);
	}

	counterPacketOut.increment();
	sw.write(pob.build());
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:66,代码来源:LearningSwitch.java


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