IpV4Packet.Builder b = list.get(0).getBuilder();
System.arraycopy(payload, srcPos, fragmented_payload, 0, actual_max_payload_length); IpV4Packet.Builder b = packet.getBuilder(); b.moreFragmentFlag(true) .fragmentOffset((short) (srcPos / 8)) System.arraycopy(payload, srcPos, fragmented_payload, 0, rest_length); IpV4Packet.Builder b = packet.getBuilder(); b.moreFragmentFlag(false) .fragmentOffset((short) (srcPos / 8))
.payloadBuilder( packet1 .getBuilder() .correctChecksumAtBuild(true) .correctLengthAtBuild(true) packet2.getBuilder().correctChecksumAtBuild(true).correctLengthAtBuild(true)) .build();
public static IpV4Packet decrementTtl( IpV4Packet packet ) throws TimeoutException { int ttl = packet.getHeader().getTtlAsInt(); if (ttl <= 1) { throw new TimeoutException(); } ttl--; IpV4Packet.Builder b = packet.getBuilder().ttl((byte)ttl).correctChecksumAtBuild(true); return b.build(); }
@Test public void testHasValidChecksum() { assertFalse(packet1.getHeader().hasValidChecksum(false)); assertFalse(packet1.getHeader().hasValidChecksum(true)); IpV4Packet.Builder b = packet1.getBuilder(); IpV4Packet p; b.headerChecksum((short) 0).correctChecksumAtBuild(false); p = b.build(); assertFalse(p.getHeader().hasValidChecksum(false)); assertTrue(p.getHeader().hasValidChecksum(true)); b.correctChecksumAtBuild(true); p = b.build(); assertTrue(p.getHeader().hasValidChecksum(false)); assertTrue(p.getHeader().hasValidChecksum(true)); }
IpV4Packet.Builder b = list.get(0).getBuilder();
System.arraycopy(payload, srcPos, fragmented_payload, 0, actual_max_payload_length); IpV4Packet.Builder b = packet.getBuilder(); b.moreFragmentFlag(true) .fragmentOffset((short) (srcPos / 8)) System.arraycopy(payload, srcPos, fragmented_payload, 0, rest_length); IpV4Packet.Builder b = packet.getBuilder(); b.moreFragmentFlag(false) .fragmentOffset((short) (srcPos / 8))
IpV4Packet.Builder b = packet1.getBuilder(); IpV4Packet p;