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


Java RawPacket.getOutgoingNodeConnector方法代码示例

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


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

示例1: transmitDataPacket

import org.opendaylight.controller.sal.packet.RawPacket; //导入方法依赖的package包/类
@Override
public void transmitDataPacket(RawPacket outPkt) {
    if (outPkt.getOutgoingNodeConnector() == null) {
        increaseStat("nullOutgoingNodeConnector");
        return;
    }

    if (!this.txQueue.offer(outPkt)) {
        increaseStat("fullTXQueue");
        return;
    }
}
 
开发者ID:lbchen,项目名称:ODL,代码行数:13,代码来源:DataPacketService.java

示例2: transmitDataPacket

import org.opendaylight.controller.sal.packet.RawPacket; //导入方法依赖的package包/类
@Override
public void transmitDataPacket(RawPacket outPkt) {
    NodeConnector nc = outPkt.getOutgoingNodeConnector();
    if (connectionOutService != null && connectionOutService.isLocal(nc.getNode())) {
        this.iDataPacketMux.transmitDataPacket(outPkt);
    } else {
        logger.debug("{} is dropped in the controller "+outPkt);
    }
}
 
开发者ID:lbchen,项目名称:ODL,代码行数:10,代码来源:DataPacketServices.java

示例3: transmitDataPacket

import org.opendaylight.controller.sal.packet.RawPacket; //导入方法依赖的package包/类
@Override
public void transmitDataPacket(RawPacket outPkt) {
    // Sanity check area
    if (outPkt == null) {
        logger.debug("outPkt is null!");
        return;
    }

    NodeConnector outPort = outPkt.getOutgoingNodeConnector();
    if (outPort == null) {
        logger.debug("outPort is null! outPkt: {}", outPkt);
        return;
    }

    if (!connectionOutService.isLocal(outPort.getNode())) {
        logger.debug("data packets will not be sent to {} in a non-master controller", outPort.toString());
        return;
    }


    if (!outPort.getType().equals(
            NodeConnector.NodeConnectorIDType.OPENFLOW)) {
        // The output Port is not of type OpenFlow
        logger.debug("outPort is not OF Type! outPort: {}", outPort);
        return;
    }

    Short port = (Short) outPort.getID();
    Long swID = (Long) outPort.getNode().getID();
    ISwitch sw = this.swID2ISwitch.get(swID);

    if (sw == null) {
        // If we cannot get the controller descriptor we cannot even
        // send out the frame
        logger.debug("swID: {} - sw is null!", swID);
        return;
    }

    byte[] data = outPkt.getPacketData();
    // build action
    OFActionOutput action = new OFActionOutput().setPort(port);
    // build packet out
    OFPacketOut po = new OFPacketOut()
            .setBufferId(OFPacketOut.BUFFER_ID_NONE)
            .setInPort(OFPort.OFPP_NONE)
            .setActions(Collections.singletonList((OFAction) action))
            .setActionsLength((short) OFActionOutput.MINIMUM_LENGTH);

    po.setLengthU(OFPacketOut.MINIMUM_LENGTH + po.getActionsLength()
            + data.length);
    po.setPacketData(data);

    // send PACKET_OUT at high priority
    sw.asyncFastSend(po);
    logger.trace("Transmitted a frame of size: {}", data.length);
}
 
开发者ID:lbchen,项目名称:ODL,代码行数:57,代码来源:DataPacketMuxDemux.java


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