Skip to content

Commit ae61fde

Browse files
author
Emil Gustafsson
committed
add trace logging
Signed-off-by: Emil Gustafsson <[email protected]>
1 parent 3f2ddd4 commit ae61fde

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

src/main/java/com/cisco/trex/stateless/IPv6NeighborDiscoveryService.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,14 @@
5353
import org.pcap4j.packet.namednumber.IpVersion;
5454
import org.pcap4j.util.ByteArrays;
5555
import org.pcap4j.util.MacAddress;
56+
import org.slf4j.Logger;
57+
import org.slf4j.LoggerFactory;
5658

5759
public class IPv6NeighborDiscoveryService {
5860

5961
private static final EtherType QInQ =
6062
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);
6364
private TRexClient tRexClient;
6465

6566
public IPv6NeighborDiscoveryService(TRexClient tRexClient) {
@@ -215,6 +216,7 @@ public EthernetPacket sendNeighborSolicitation(
215216
final String multicastMac = dstMac != null ? dstMac : multicastMacFromIPv6(dstIp).toString();
216217

217218
Packet icmpv6NSPkt = buildICMPV6NSPkt(vlan, srcMac, multicastMac, dstIp, srcIp);
219+
LOGGER.trace("Sending IPv6 Neighbor Solicitation packet:\n{}", icmpv6NSPkt);
218220
tRexClient.startStreamsIntermediate(portIdx, Arrays.asList(buildStream(icmpv6NSPkt)));
219221

220222
Predicate<EthernetPacket> ipV6NAPktFilter =
@@ -373,7 +375,7 @@ private static com.cisco.trex.stateless.model.Stream buildStream(
373375
null);
374376
}
375377

376-
private static Packet buildICMPV6NSPkt(
378+
static Packet buildICMPV6NSPkt(
377379
PortVlan vlan, String srcMac, String dstMac, String dstIp, String srcIp) {
378380
EthernetPacket.Builder ethBuilder = new EthernetPacket.Builder();
379381
try {

src/test/java/com/cisco/trex/stateless/IPv6NeighborDiscoveryServiceTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
package com.cisco.trex.stateless;
22

33
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertTrue;
45

6+
import com.cisco.trex.stateless.model.port.PortVlan;
7+
import java.util.ArrayList;
8+
import java.util.List;
59
import org.junit.Test;
10+
import org.pcap4j.packet.Packet;
611
import org.pcap4j.util.MacAddress;
712

813
public class IPv6NeighborDiscoveryServiceTest {
@@ -23,4 +28,18 @@ public void generateMulticastMacFromIPv6Test() {
2328
"2001:FF00:0099:0000:0000:0010:EEEE:0011");
2429
assertEquals("33:33:ff:ee:00:11", multicastMac.toString());
2530
}
31+
32+
@Test
33+
public void buildICMPV6NSPktTest() {
34+
PortVlan vlan = new PortVlan();
35+
List<Integer> vlans = new ArrayList<>();
36+
vlans.add(10);
37+
vlan.setTags(vlans);
38+
String srcMac = "00:01:44:ff:01:01";
39+
String dstIp = "2001:FF00:0099:0000:0000:0010:EEEE:0011";
40+
String srcIp = "2001:FF00:0099:0000:0000:0010:EEEE:0010";
41+
final String dstMac = IPv6NeighborDiscoveryService.multicastMacFromIPv6(dstIp).toString();
42+
Packet pkt = IPv6NeighborDiscoveryService.buildICMPV6NSPkt(vlan, srcMac, dstMac, dstIp, srcIp);
43+
assertTrue(pkt.toString().contains("Checksum: 0x154a"));
44+
}
2645
}

0 commit comments

Comments
 (0)