@Test public void testHasValidChecksum() { UdpPacket.Builder b = packet.getBuilder(); b.srcAddr(srcAddr).dstAddr(dstAddr); UdpPacket p = b.correctChecksumAtBuild(false).build(); assertFalse(packet.hasValidChecksum(srcAddr, dstAddr, false)); assertFalse(packet.hasValidChecksum(srcAddr, dstAddr, true)); b.checksum((short) 0).correctChecksumAtBuild(false); p = b.build(); assertFalse(p.hasValidChecksum(srcAddr, dstAddr, false)); assertTrue(p.hasValidChecksum(srcAddr, dstAddr, true)); b.correctChecksumAtBuild(true); p = b.build(); assertTrue(p.hasValidChecksum(srcAddr, dstAddr, false)); assertTrue(p.hasValidChecksum(srcAddr, dstAddr, true)); }
@Override protected Packet getWholePacket() { IpV6Packet.Builder IpV6b = new IpV6Packet.Builder(); IpV6b.version(IpVersion.IPV6) .trafficClass(IpV6SimpleTrafficClass.newInstance((byte) 0x12)) .flowLabel(IpV6SimpleFlowLabel.newInstance(0x12345)) .nextHeader(IpNumber.UDP) .hopLimit((byte) 100) .srcAddr(srcAddr) .dstAddr(dstAddr) .payloadBuilder(packet.getBuilder().correctChecksumAtBuild(true).correctLengthAtBuild(true)) .correctLengthAtBuild(true); EthernetPacket.Builder eb = new EthernetPacket.Builder(); eb.dstAddr(MacAddress.getByName("fe:00:00:00:00:02")) .srcAddr(MacAddress.getByName("fe:00:00:00:00:01")) .type(EtherType.IPV6) .payloadBuilder(IpV6b) .paddingAtBuild(true); eb.get(UdpPacket.Builder.class).dstAddr(dstAddr).srcAddr(srcAddr); return eb.build(); }
@Test public void testGetHeader() { UdpHeader h = packet.getHeader(); assertEquals(srcPort, h.getSrcPort()); assertEquals(dstPort, h.getDstPort()); assertEquals(length, h.getLength()); assertEquals(checksum, h.getChecksum()); UdpPacket.Builder b = packet.getBuilder(); UdpPacket p; b.length((short) 0); p = b.build(); assertEquals((short) 0, (short) p.getHeader().getLengthAsInt()); b.length((short) -1); p = b.build(); assertEquals((short) -1, (short) p.getHeader().getLengthAsInt()); b.length((short) 32767); p = b.build(); assertEquals((short) 32767, (short) p.getHeader().getLengthAsInt()); b.length((short) -32768); p = b.build(); assertEquals((short) -32768, (short) p.getHeader().getLengthAsInt()); }