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


Java IPacket类代码示例

本文整理汇总了Java中net.floodlightcontroller.packet.IPacket的典型用法代码示例。如果您正苦于以下问题:Java IPacket类的具体用法?Java IPacket怎么用?Java IPacket使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: createPacketIn

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
private OFPacketIn createPacketIn(String srcMAC, String dstMAC,
                                  String srcIp, String dstIp, short vlan) {
    IPacket testPacket = new Ethernet()
    .setDestinationMACAddress(dstMAC)
    .setSourceMACAddress(srcMAC)
    .setVlanID(vlan)
    .setEtherType(EthType.IPv4)
    .setPayload(
            new IPv4()
            .setTtl((byte) 128)
            .setSourceAddress(srcIp)
            .setDestinationAddress(dstIp)
            .setPayload(new UDP()
            .setSourcePort((short) 5000)
            .setDestinationPort((short) 5001)
            .setPayload(new Data(new byte[] {0x01}))));
    byte[] testPacketSerialized = testPacket.serialize();
    OFPacketIn pi;
    // build out input packet
    pi = OFFactories.getFactory(OFVersion.OF_13).buildPacketIn()
            .setBufferId(OFBufferId.NO_BUFFER)
            .setData(testPacketSerialized)
            .setReason(OFPacketInReason.NO_MATCH)
            .build();
    return pi;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:27,代码来源:LinkDiscoveryManagerTest.java

示例2: sendArpReply

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
private void sendArpReply(MacAddress senderMac, IPv4Address senderIp, MacAddress targetMac, IPv4Address targetIp, IOFSwitch sw, OFPort port) {
	IPacket arpReply = new Ethernet()
		.setSourceMACAddress(senderMac)
		.setDestinationMACAddress(targetMac)
		.setEtherType(EthType.ARP)
		.setPayload(
			new ARP()
			.setHardwareType(ARP.HW_TYPE_ETHERNET)
			.setProtocolType(ARP.PROTO_TYPE_IP)
			.setHardwareAddressLength((byte) 6)
			.setProtocolAddressLength((byte) 4)
			.setOpCode(ARP.OP_REPLY)
			.setSenderHardwareAddress(senderMac.getBytes())
			.setSenderProtocolAddress(senderIp.getBytes())
			.setTargetHardwareAddress(targetMac.getBytes())
			.setTargetProtocolAddress(targetIp.getBytes()));
       pushPacket(arpReply, sw, OFBufferId.NO_BUFFER, OFPort.ANY, port);
}
 
开发者ID:nsg-ethz,项目名称:iTAP-controller,代码行数:19,代码来源:ObfuscationController.java

示例3: setPacketIn

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
protected void setPacketIn(IPacket packet) {
    byte[] serializedPacket = packet.serialize();
    // Build the PacketIn
    this.packetIn = ((OFPacketIn) mockFloodlightProvider.getOFMessageFactory().getMessage(OFType.PACKET_IN))
            .setBufferId(-1)
            .setInPort((short) 1)
            .setPacketData(serializedPacket)
            .setReason(OFPacketInReason.NO_MATCH)
            .setTotalLength((short) serializedPacket.length);

    // Add the packet to the context store
    IFloodlightProviderService.bcStore.
    put(cntx,
            IFloodlightProviderService.CONTEXT_PI_PAYLOAD,
            (Ethernet)packet);
}
 
开发者ID:JianqingJiang,项目名称:QoS-floodlight,代码行数:17,代码来源:FirewallTest.java

示例4: setPacketIn

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
protected void setPacketIn(IPacket packet) {
    byte[] serializedPacket = packet.serialize();
    // Build the PacketIn
    this.packetIn = ((OFPacketIn) mockFloodlightProvider.getOFMessageFactory().getMessage(OFType.PACKET_IN))
            .setBufferId(-1)
            .setInPort((short) 1)
            .setPacketData(serializedPacket)
            .setReason(OFPacketInReason.NO_MATCH)
            .setTotalLength((short) serializedPacket.length);

    // Add the packet to the context store
    IFloodlightProviderService.bcStore.
    put(cntx, 
            IFloodlightProviderService.CONTEXT_PI_PAYLOAD, 
            (Ethernet)packet);
}
 
开发者ID:vishalshubham,项目名称:Multipath-Hedera-system-in-Floodlight-controller,代码行数:17,代码来源:FirewallTest.java

示例5: generateICMPPing

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
protected byte[] generateICMPPing(InetAddress ip, MACAddress mac){
	targetIP = ip;
	targetMAC = mac;
	IPacket packet = new IPv4()
          .setProtocol(IPv4.PROTOCOL_ICMP)
          .setSourceAddress(ControllerIP)
          .setDestinationAddress(ip.hashCode())  //this is tricky
          .setPayload(new ICMP()
                          .setIcmpType((byte) 8)
                          .setIcmpCode((byte) 0)
                          .setPayload(new Data(new byte[]
                                      {0x76, (byte) 0xf2, 0x0, 0x2, 0x1, 0x1, 0x1}))
                     );
       Ethernet ethernet = new Ethernet().setSourceMACAddress(senderMAC.toBytes())
       						 .setDestinationMACAddress(targetMAC.toBytes())
       						 .setEtherType(Ethernet.TYPE_IPv4);
       
       ethernet.setPayload(packet);
       
       return ethernet.serialize();
}
 
开发者ID:xuraylei,项目名称:floodlight_with_topoguard,代码行数:22,代码来源:TopoloyUpdateChecker.java

示例6: createPacketIn

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
private OFPacketIn createPacketIn(String srcMAC, String dstMAC,
                                  String srcIp, String dstIp, short vlan) {
    IPacket testPacket = new Ethernet()
    .setDestinationMACAddress(dstMAC)
    .setSourceMACAddress(srcMAC)
    .setVlanID(vlan)
    .setEtherType(Ethernet.TYPE_IPv4)
    .setPayload(
            new IPv4()
            .setTtl((byte) 128)
            .setSourceAddress(srcIp)
            .setDestinationAddress(dstIp)
            .setPayload(new UDP()
            .setSourcePort((short) 5000)
            .setDestinationPort((short) 5001)
            .setPayload(new Data(new byte[] {0x01}))));
    byte[] testPacketSerialized = testPacket.serialize();
    OFPacketIn pi;
    // build out input packet
    pi = OFFactories.getFactory(OFVersion.OF_13).buildPacketIn()
            .setBufferId(OFBufferId.NO_BUFFER)
            .setData(testPacketSerialized)
            .setReason(OFPacketInReason.NO_MATCH)
            .build();
    return pi;
}
 
开发者ID:pixuan,项目名称:floodlight,代码行数:27,代码来源:LinkDiscoveryManagerTest.java

示例7: prepareOFPacketIn

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
public static OFPacketIn prepareOFPacketIn(String destAddress) {
    IPacket iPacket = new Ethernet()
            .setDestinationMACAddress("00:11:22:33:44:55")
            .setSourceMACAddress("00:44:33:22:11:00")
            .setEtherType(Ethernet.TYPE_IPv4)
            .setPayload(
                    new IPv4()
                    .setTtl((byte) 128)
                    .setSourceAddress("192.168.1.1")
                    .setDestinationAddress(destAddress)
                    .setPayload(new UDP()
                            .setSourcePort((short) 5000)
                            .setDestinationPort((short) 5001)
                            .setPayload(new Data(new byte[]{0x01}))));

    byte[] iPacketSerialized = iPacket.serialize();

    return new OFPacketIn()
            .setBufferId(-1)
            .setInPort((short) 1)
            .setPacketData(iPacketSerialized)
            .setReason(OFPacketIn.OFPacketInReason.NO_MATCH)
            .setTotalLength((short) iPacketSerialized.length);
}
 
开发者ID:smartenit-eu,项目名称:smartenit,代码行数:25,代码来源:TestSetUpHelper.java

示例8: deserialize

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
public IPacket deserialize(byte[] data, int offset, int length) {
    ByteBuffer bb = ByteBuffer.wrap(data, offset, length);
    LLDPTLV tlv;
    do {
        tlv = new LLDPTLV().deserialize(bb);

        // if there was a failure to deserialize stop processing TLVs
        if (tlv == null)
            break;
        switch (tlv.getType()) {
            case 0x0:
                // can throw this one away, its just an end delimiter
                break;
            case 0x1:
                this.chassisId = tlv;
                break;
            case 0x2:
                this.portId = tlv;
                break;
            case 0x3:
                this.ttl = tlv;
                break;
            default:
                this.optionalTLVList.add(tlv);
                break;
        }
    } while (tlv.getType() != 0 && bb.hasRemaining());
    return this;
}
 
开发者ID:telstra,项目名称:open-kilda,代码行数:30,代码来源:VerificationPacket.java

示例9: setUp

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
@Before
public void setUp() throws Exception {

    super.setUp();

    OFPacketOut packetOut = pvs.generateVerificationPacket(sw1, OFPort.of(1));

    ofPacketIn = EasyMock.createMock(OFPacketIn.class);

    context = new FloodlightContext();

    expect(ofPacketIn.getType()).andReturn(OFType.PACKET_IN).anyTimes();
    expect(ofPacketIn.getXid()).andReturn(0L).anyTimes();
    expect(ofPacketIn.getVersion()).andReturn(packetOut.getVersion()).anyTimes();

    Match match = EasyMock.createMock(Match.class);
    expect(match.get(MatchField.IN_PORT)).andReturn(OFPort.of(1)).anyTimes();
    replay(match);
    expect(ofPacketIn.getMatch()).andReturn(match).anyTimes();
    replay(ofPacketIn);

    IPacket expected = new Ethernet().deserialize(packetOut.getData(), 0,
            packetOut.getData().length);

    context.getStorage().put(IFloodlightProviderService.CONTEXT_PI_PAYLOAD, expected);

    HashMap<DatapathId, IOFSwitch> switches = new HashMap<>();
    switches.put(sw1.getId(), sw1);
    switches.put(sw2.getId(), sw2);
    mockSwitchManager.setSwitches(switches);

    reset(producer);

    pvs.setKafkaProducer(producer);
}
 
开发者ID:telstra,项目名称:open-kilda,代码行数:36,代码来源:PathVerificationPacketSignTest.java

示例10: testSignPacketMissedSign

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
@Test
public void testSignPacketMissedSign() throws PacketParsingException, FloodlightModuleException {
    OFPacketOut noSignPacket = pvs.generateVerificationPacket(sw1, OFPort.of(1), null, false);
    IPacket noSignPacketData = new Ethernet().deserialize(noSignPacket.getData(), 0,
            noSignPacket.getData().length);
    context.getStorage().put(IFloodlightProviderService.CONTEXT_PI_PAYLOAD, noSignPacketData);
    expect(producer.send(anyObject())).andThrow(new AssertionFailedError()).anyTimes();
    replay(producer);
    assertEquals(Command.STOP, pvs.receive(sw2, ofPacketIn, context));
    verify(producer);
}
 
开发者ID:telstra,项目名称:open-kilda,代码行数:12,代码来源:PathVerificationPacketSignTest.java

示例11: getPacket

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
protected IPacket getPacket() {
    UDP udp = new UDP()
            .setDestinationPort(
                    TransportPort.of(PathVerificationService.VERIFICATION_PACKET_UDP_PORT))
            .setSourcePort(
                    TransportPort.of(PathVerificationService.VERIFICATION_PACKET_UDP_PORT));

    VerificationPacket verificationPacket = new VerificationPacket()
            .setChassisId(new LLDPTLV().setType((byte) 1).setLength((short) 7)
                    .setValue(new byte[] {0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}))
            .setPortId(new LLDPTLV().setType((byte) 2).setLength((short) 3)
                    .setValue(new byte[] {0x02, 0x00, 0x01}))
            .setTtl(new LLDPTLV().setType((byte) 3).setLength((short) 2)
                    .setValue(new byte[] {0x00, 0x78}));

    udp.setPayload(new Data(verificationPacket.serialize()));

    IPv4 ip = new IPv4()
            .setSourceAddress("192.168.0.1")
            .setDestinationAddress(PathVerificationService.VERIFICATION_PACKET_IP_DST)
            .setProtocol(IpProtocol.UDP);

    Ethernet eth = new Ethernet()
            .setDestinationMACAddress("AA:BB:CC:DD:EE:FF")
            .setSourceMACAddress("11:22:33:44:55:66")
            .setEtherType(EthType.IPv4);

    eth.setPayload(ip);
    ip.setPayload(udp);

    return eth;
}
 
开发者ID:telstra,项目名称:open-kilda,代码行数:33,代码来源:PathVerificationPacketInTest.java

示例12: testDeserialize

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
@Test
public void testDeserialize() {
    Ethernet ethernet = (Ethernet) new Ethernet().deserialize(pkt, 0, pkt.length);
    assertArrayEquals(pkt, ethernet.serialize());

    IPacket expected = getPacket();
    assertArrayEquals(expected.serialize(), ethernet.serialize());
}
 
开发者ID:telstra,项目名称:open-kilda,代码行数:9,代码来源:PathVerificationPacketInTest.java

示例13: isDhcpPacket

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
/**
 * Checks to see if an Ethernet frame is a DHCP packet.
 * @param frame The Ethernet frame.
 * @return True if it is a DHCP frame, false otherwise.
 */
protected boolean isDhcpPacket(Ethernet frame) {
	IPacket payload = frame.getPayload(); // IP
	if (payload == null) return false;
	IPacket p2 = payload.getPayload(); // TCP or UDP
	if (p2 == null) return false;
	IPacket p3 = p2.getPayload(); // Application
	if ((p3 != null) && (p3 instanceof DHCP)) return true;
	return false;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:15,代码来源:VirtualNetworkFilter.java

示例14: vipProxyArpReply

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
/**
 * used to send proxy Arp for load balanced service requests
 * @param IOFSwitch sw
 * @param OFPacketIn pi
 * @param FloodlightContext cntx
 * @param String vipId
 */

protected void vipProxyArpReply(IOFSwitch sw, OFPacketIn pi, FloodlightContext cntx, String vipId) {
    log.debug("vipProxyArpReply");
        
    Ethernet eth = IFloodlightProviderService.bcStore.get(cntx,
                                                          IFloodlightProviderService.CONTEXT_PI_PAYLOAD);

    // retrieve original arp to determine host configured gw IP address                                          
    if (! (eth.getPayload() instanceof ARP))
        return;
    ARP arpRequest = (ARP) eth.getPayload();
    
    // have to do proxy arp reply since at this point we cannot determine the requesting application type
    
    // generate proxy ARP reply
    IPacket arpReply = new Ethernet()
        .setSourceMACAddress(vips.get(vipId).proxyMac)
        .setDestinationMACAddress(eth.getSourceMACAddress())
        .setEtherType(EthType.ARP)
        .setVlanID(eth.getVlanID())
        .setPriorityCode(eth.getPriorityCode())
        .setPayload(
            new ARP()
            .setHardwareType(ARP.HW_TYPE_ETHERNET)
            .setProtocolType(ARP.PROTO_TYPE_IP)
            .setHardwareAddressLength((byte) 6)
            .setProtocolAddressLength((byte) 4)
            .setOpCode(ARP.OP_REPLY)
            .setSenderHardwareAddress(vips.get(vipId).proxyMac)
            .setSenderProtocolAddress(arpRequest.getTargetProtocolAddress())
            .setTargetHardwareAddress(eth.getSourceMACAddress())
            .setTargetProtocolAddress(arpRequest.getSenderProtocolAddress()));
            
    // push ARP reply out
    pushPacket(arpReply, sw, OFBufferId.NO_BUFFER, OFPort.ANY, (pi.getVersion().compareTo(OFVersion.OF_12) < 0 ? pi.getInPort() : pi.getMatch().get(MatchField.IN_PORT)), cntx, true);
    log.debug("proxy ARP reply pushed as {}", IPv4.fromIPv4Address(vips.get(vipId).address));
    
    return;
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:47,代码来源:LoadBalancer.java

示例15: setPacketIn

import net.floodlightcontroller.packet.IPacket; //导入依赖的package包/类
protected void setPacketIn(IPacket packet) {
    byte[] serializedPacket = packet.serialize();
    // Build the PacketIn
    this.packetIn = OFFactories.getFactory(OFVersion.OF_13).buildPacketIn()
            .setBufferId(OFBufferId.NO_BUFFER)
            .setMatch(OFFactories.getFactory(OFVersion.OF_13).buildMatch().setExact(MatchField.IN_PORT, OFPort.of(1)).build())
            .setData(serializedPacket)
            .setReason(OFPacketInReason.NO_MATCH)
            .build();
    // Add the packet to the context store
    IFloodlightProviderService.bcStore.
    put(cntx,
            IFloodlightProviderService.CONTEXT_PI_PAYLOAD,
            (Ethernet)packet);
}
 
开发者ID:xuraylei,项目名称:fresco_floodlight,代码行数:16,代码来源:FirewallTest.java


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