本文整理汇总了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;
}
}
}
}
示例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);
}
示例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);
}
示例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;
}
示例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);
}
}