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


Java RawPacket.setOutgoingNodeConnector方法代码示例

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


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

示例1: floodPacket

import org.opendaylight.controller.sal.packet.RawPacket; //导入方法依赖的package包/类
/**
 *The function is a modification of an another function. The original
 *is property of SDNHUB.org and it's used under a GPLv3 License. All the credits for SDNHUB.org
 *The original code can be find in
 *https://github.com/sdnhub/SDNHub_Opendaylight_Tutorial/blob/master/adsal_L2_forwarding/src/main/java/org/opendaylight/tutorial/tutorial_L2_forwarding/internal/TutorialL2Forwarding.java
 * Función utilizada para inundar en caso de no tener la dirección destino
 * @param inPkt: paquete entrante al nodo
 */
private void floodPacket(RawPacket inPkt) {
	log.info("flooding packet");
    NodeConnector incoming_connector = inPkt.getIncomingNodeConnector();
    Node incoming_node = incoming_connector.getNode();
    Set<NodeConnector> nodeConnectors = this.switchManager.getUpNodeConnectors(incoming_node);
    for (NodeConnector p : nodeConnectors) {
        if (!p.equals(incoming_connector)) {
            try {
                RawPacket destPkt = new RawPacket(inPkt);
                destPkt.setOutgoingNodeConnector(p);
                this.dataPacketService.transmitDataPacket(destPkt);
                //log.info("Datos de paquete transmitido dentro de floodpacket: "+this.dataPacketService.decodeDataPacket(destPkt).toString());
            } catch (ConstructionException e2) {
                continue;
            }
        }
    }
}
 
开发者ID:pahharo,项目名称:dissectorapp,代码行数:27,代码来源:DissectorHandler.java

示例2: sendARPReply

import org.opendaylight.controller.sal.packet.RawPacket; //导入方法依赖的package包/类
protected void sendARPReply(NodeConnector p, byte[] sMAC, InetAddress sIP,
        byte[] tMAC, InetAddress tIP) {
    byte[] senderIP = sIP.getAddress();
    byte[] targetIP = tIP.getAddress();
    ARP arp = new ARP();
    arp.setHardwareType(ARP.HW_TYPE_ETHERNET).setProtocolType(
            EtherTypes.IPv4.shortValue())
            .setHardwareAddressLength((byte) 6).setProtocolAddressLength(
                    (byte) 4).setOpCode(ARP.REPLY)
            .setSenderHardwareAddress(sMAC).setSenderProtocolAddress(
                    senderIP).setTargetHardwareAddress(tMAC)
            .setTargetProtocolAddress(targetIP);

    Ethernet ethernet = new Ethernet();
    ethernet.setSourceMACAddress(sMAC).setDestinationMACAddress(tMAC)
            .setEtherType(EtherTypes.ARP.shortValue()).setPayload(arp);

    RawPacket destPkt = this.dataPacketService.encodeDataPacket(ethernet);
    destPkt.setOutgoingNodeConnector(p);

    this.dataPacketService.transmitDataPacket(destPkt);
}
 
开发者ID:lbchen,项目名称:ODL,代码行数:23,代码来源:ArpHandler.java

示例3: sendUcastARPRequest

import org.opendaylight.controller.sal.packet.RawPacket; //导入方法依赖的package包/类
protected void sendUcastARPRequest(HostNodeConnector host, Subnet subnet) {
    //Long swID = host.getnodeconnectornodeId();
    //Short portID = host.getnodeconnectorportId();
    //Node n = NodeCreator.createOFNode(swID);
    Node n = host.getnodeconnectorNode();
    if (n == null) {
        logger.error("cannot send UcastARP because cannot extract node "
                + "from HostNodeConnector: {}", host);
        return;
    }
    NodeConnector outPort = host.getnodeConnector();
    if (outPort == null) {
        logger.error("cannot send UcastARP because cannot extract "
                + "outPort from HostNodeConnector: {}", host);
        return;
    }

    byte[] senderIP = subnet.getNetworkAddress().getAddress();
    byte[] targetIP = host.getNetworkAddress().getAddress();
    byte[] targetMAC = host.getDataLayerAddressBytes();
    ARP arp = new ARP();
    arp.setHardwareType(ARP.HW_TYPE_ETHERNET).setProtocolType(
            EtherTypes.IPv4.shortValue())
            .setHardwareAddressLength((byte) 6).setProtocolAddressLength(
                    (byte) 4).setOpCode(ARP.REQUEST)
            .setSenderHardwareAddress(getControllerMAC())
            .setSenderProtocolAddress(senderIP).setTargetHardwareAddress(
                    targetMAC).setTargetProtocolAddress(targetIP);

    Ethernet ethernet = new Ethernet();
    ethernet.setSourceMACAddress(getControllerMAC())
            .setDestinationMACAddress(targetMAC).setEtherType(
                    EtherTypes.ARP.shortValue()).setPayload(arp);

    RawPacket destPkt = this.dataPacketService.encodeDataPacket(ethernet);
    destPkt.setOutgoingNodeConnector(outPort);

    this.dataPacketService.transmitDataPacket(destPkt);
}
 
开发者ID:lbchen,项目名称:ODL,代码行数:40,代码来源:ArpHandler.java

示例4: receiveDataPacket

import org.opendaylight.controller.sal.packet.RawPacket; //导入方法依赖的package包/类
@Override
public PacketResult receiveDataPacket(RawPacket inPkt) {
	NodeConnector inport = inPkt.getIncomingNodeConnector();
	RawPacket outPkt = null;
	IPv4 ipv4 = new IPv4();
	ipv4.setDiffServ((byte) 4);
	outPkt = this.dataPacketService.encodeDataPacket(ipv4);
	outPkt.setOutgoingNodeConnector(inport);
	this.dataPacketService.transmitDataPacket(outPkt);
	// outPkt.setOutgoingNodeConnector(outgoingNodeConnector);
	return null;
}
 
开发者ID:lbchen,项目名称:ODL,代码行数:13,代码来源:QoSHandler.java

示例5: sendBcastARPRequest

import org.opendaylight.controller.sal.packet.RawPacket; //导入方法依赖的package包/类
protected void sendBcastARPRequest(InetAddress targetIP, Subnet subnet) {
    Set<NodeConnector> nodeConnectors;
    if (subnet.isFlatLayer2()) {
        nodeConnectors = new HashSet<NodeConnector>();
        for (Node n : this.switchManager.getNodes()) {
            nodeConnectors.addAll(this.switchManager
                    .getUpNodeConnectors(n));
        }
    } else {
        nodeConnectors = subnet.getNodeConnectors();
    }
    for (NodeConnector p : nodeConnectors) {
        if (topologyManager.isInternal(p)) {
            continue;
        }
        ARP arp = new ARP();
        byte[] senderIP = subnet.getNetworkAddress().getAddress();
        byte[] targetIPB = targetIP.getAddress();
        arp.setHardwareType(ARP.HW_TYPE_ETHERNET)
           .setProtocolType(EtherTypes.IPv4.shortValue())
           .setHardwareAddressLength((byte) 6)
           .setProtocolAddressLength((byte) 4)
           .setOpCode(ARP.REQUEST)
           .setSenderHardwareAddress(getControllerMAC())
           .setSenderProtocolAddress(senderIP)
           .setTargetHardwareAddress(new byte[] { (byte) 0, (byte) 0,
                                                 (byte) 0, (byte) 0,
                                                 (byte) 0, (byte) 0 })
           .setTargetProtocolAddress(targetIPB);

        Ethernet ethernet = new Ethernet();
        ethernet.setSourceMACAddress(getControllerMAC())
                .setDestinationMACAddress(new byte[] { (byte) -1,
                                                      (byte) -1,
                                                      (byte) -1,
                                                      (byte) -1,
                                                      (byte) -1,
                                                      (byte) -1 })
                .setEtherType(EtherTypes.ARP.shortValue()).setPayload(arp);

        // TODO For now send port-by-port, see how to optimize to
        // send to multiple ports at once
        RawPacket destPkt = this.dataPacketService.encodeDataPacket(ethernet);
        destPkt.setOutgoingNodeConnector(p);

        this.dataPacketService.transmitDataPacket(destPkt);
    }
}
 
开发者ID:lbchen,项目名称:ODL,代码行数:49,代码来源:ArpHandler.java


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