[VOL-2672] dhcpl2relay should relay DHCPNAK and DHCPDECLINE messages
Change-Id: I545f8c18766c08c00ae6fedc40ebf950e6f4c78f
diff --git a/app/src/main/java/org/opencord/dhcpl2relay/impl/DhcpL2Relay.java b/app/src/main/java/org/opencord/dhcpl2relay/impl/DhcpL2Relay.java
index 0e5b593..2c1081b 100755
--- a/app/src/main/java/org/opencord/dhcpl2relay/impl/DhcpL2Relay.java
+++ b/app/src/main/java/org/opencord/dhcpl2relay/impl/DhcpL2Relay.java
@@ -784,10 +784,21 @@
updateDhcpRelayCountersStore(entry, DhcpL2RelayCounters.valueOf("DHCPACK"));
break;
case DHCPDECLINE:
+ Ethernet ethernetPacketDecline =
+ processDhcpPacketFromClient(context, packet);
+ if (ethernetPacketDecline != null) {
+ forwardPacket(ethernetPacketDecline, context);
+ }
entry = getSubscriberInfoFromClient(context);
updateDhcpRelayCountersStore(entry, DhcpL2RelayCounters.valueOf("DHCPDECLINE"));
break;
case DHCPNAK:
+ //reply to dhcp client.
+ Ethernet ethernetPacketNak =
+ processDhcpPacketFromServer(context, packet);
+ if (ethernetPacketNak != null) {
+ sendReply(ethernetPacketNak, dhcpPayload, context);
+ }
entry = getSubscriberInfoFromServer(dhcpPayload, context);
updateDhcpRelayCountersStore(entry, DhcpL2RelayCounters.valueOf("DHCPNACK"));
break;