[VOL-2672] dhcpl2relay should relay DHCPNAK and DHCPDECLINE messages
Change-Id: I545f8c18766c08c00ae6fedc40ebf950e6f4c78f
diff --git a/app/src/test/java/org/opencord/dhcpl2relay/impl/DhcpL2RelayTestBase.java b/app/src/test/java/org/opencord/dhcpl2relay/impl/DhcpL2RelayTestBase.java
index 85854ab..3d88b38 100755
--- a/app/src/test/java/org/opencord/dhcpl2relay/impl/DhcpL2RelayTestBase.java
+++ b/app/src/test/java/org/opencord/dhcpl2relay/impl/DhcpL2RelayTestBase.java
@@ -729,6 +729,46 @@
}
/**
+ * Constructs DHCP Nak Packet.
+ *
+ * @return Ethernet packet
+ */
+ Ethernet constructDhcpNakPacket(MacAddress servMac, MacAddress clientMac,
+ String ipAddress, String dhcpClientIpAddress) {
+
+ Ethernet pkt = construcEthernetPacket(servMac, clientMac, ipAddress, DHCP.OPCODE_REPLY,
+ clientMac, Ip4Address.valueOf(dhcpClientIpAddress));
+
+ IPv4 ipv4Packet = (IPv4) pkt.getPayload();
+ UDP udpPacket = (UDP) ipv4Packet.getPayload();
+ DHCP dhcpPacket = (DHCP) udpPacket.getPayload();
+
+ dhcpPacket.setOptions(constructDhcpOptions(DHCP.MsgType.DHCPNAK));
+
+ return pkt;
+ }
+
+ /**
+ * Constructs DHCP Decline Packet.
+ *
+ * @return Ethernet packet
+ */
+ Ethernet constructDhcpDeclinePacket(MacAddress clientMac) {
+
+ Ethernet pkt = construcEthernetPacket(clientMac, MacAddress.BROADCAST,
+ "255.255.255.255", DHCP.OPCODE_REQUEST, MacAddress.NONE,
+ Ip4Address.valueOf("0.0.0.0"));
+
+ IPv4 ipv4Packet = (IPv4) pkt.getPayload();
+ UDP udpPacket = (UDP) ipv4Packet.getPayload();
+ DHCP dhcpPacket = (DHCP) udpPacket.getPayload();
+
+ dhcpPacket.setOptions(constructDhcpOptions(DHCP.MsgType.DHCPDECLINE));
+
+ return pkt;
+ }
+
+ /**
* Constructs DHCP Discover Options.
*
* @return Ethernet packet