|
53 | 53 | import org.pcap4j.packet.namednumber.IpVersion; |
54 | 54 | import org.pcap4j.util.ByteArrays; |
55 | 55 | import org.pcap4j.util.MacAddress; |
| 56 | +import org.slf4j.Logger; |
| 57 | +import org.slf4j.LoggerFactory; |
56 | 58 |
|
57 | 59 | public class IPv6NeighborDiscoveryService { |
58 | 60 |
|
59 | 61 | private static final EtherType QInQ = |
60 | 62 | new EtherType((short) 0x88a8, "802.1Q Provider Bridge (Q-in-Q)"); |
61 | | - private static final int L3LENGTH = 40; |
62 | | - private static final int L2LENGTH = 14; |
| 63 | + private static final Logger LOGGER = LoggerFactory.getLogger(IPv6NeighborDiscoveryService.class); |
63 | 64 | private TRexClient tRexClient; |
64 | 65 |
|
65 | 66 | public IPv6NeighborDiscoveryService(TRexClient tRexClient) { |
@@ -215,6 +216,7 @@ public EthernetPacket sendNeighborSolicitation( |
215 | 216 | final String multicastMac = dstMac != null ? dstMac : multicastMacFromIPv6(dstIp).toString(); |
216 | 217 |
|
217 | 218 | Packet icmpv6NSPkt = buildICMPV6NSPkt(vlan, srcMac, multicastMac, dstIp, srcIp); |
| 219 | + LOGGER.trace("Sending IPv6 Neighbor Solicitation packet:\n{}", icmpv6NSPkt); |
218 | 220 | tRexClient.startStreamsIntermediate(portIdx, Arrays.asList(buildStream(icmpv6NSPkt))); |
219 | 221 |
|
220 | 222 | Predicate<EthernetPacket> ipV6NAPktFilter = |
@@ -373,7 +375,7 @@ private static com.cisco.trex.stateless.model.Stream buildStream( |
373 | 375 | null); |
374 | 376 | } |
375 | 377 |
|
376 | | - private static Packet buildICMPV6NSPkt( |
| 378 | + static Packet buildICMPV6NSPkt( |
377 | 379 | PortVlan vlan, String srcMac, String dstMac, String dstIp, String srcIp) { |
378 | 380 | EthernetPacket.Builder ethBuilder = new EthernetPacket.Builder(); |
379 | 381 | try { |
|
0 commit comments