DHCP util refactor

Move options to packet.dhcp package
Deprecated DHCPPacketType, add MsgType to DHCP class

Change-Id: I85ce7fa5e6f3fdc916fbbeba9a4e10e75064a054
diff --git a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java
index dd21838..7190aea 100644
--- a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java
+++ b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/impl/DhcpManager.java
@@ -28,8 +28,7 @@
 import org.apache.felix.scr.annotations.Service;
 import org.onlab.packet.ARP;
 import org.onlab.packet.DHCP;
-import org.onlab.packet.DHCPOption;
-import org.onlab.packet.DHCPPacketType;
+import org.onlab.packet.dhcp.DhcpOption;
 import org.onlab.packet.Ethernet;
 import org.onlab.packet.IPv4;
 import org.onlab.packet.Ip4Address;
@@ -89,9 +88,6 @@
 import static org.onlab.packet.DHCP.DHCPOptionCode.OptionCode_DHCPServerIp;
 import static org.onlab.packet.DHCP.DHCPOptionCode.OptionCode_MessageType;
 import static org.onlab.packet.DHCP.DHCPOptionCode.OptionCode_RequestedIP;
-import static org.onlab.packet.DHCPPacketType.DHCPACK;
-import static org.onlab.packet.DHCPPacketType.DHCPNAK;
-import static org.onlab.packet.DHCPPacketType.DHCPOFFER;
 import static org.onlab.packet.MacAddress.valueOf;
 import static org.onosproject.dhcp.IpAssignment.AssignmentStatus.Option_RangeNotEnforced;
 import static org.onosproject.dhcp.IpAssignment.AssignmentStatus.Option_Requested;
@@ -344,7 +340,7 @@
             dhcpReply.setClientHardwareAddress(dhcpPacket.getClientHardwareAddress());
             dhcpReply.setTransactionId(dhcpPacket.getTransactionId());
 
-            if (outgoingMessageType != DHCPPacketType.DHCPNAK.getValue()) {
+            if (outgoingMessageType != DHCP.MsgType.DHCPNAK.getValue()) {
                 dhcpReply.setYourIPAddress(ipOffered.toInt());
                 dhcpReply.setServerIPAddress(dhcpServerReply.toInt());
                 if (dhcpPacket.getGatewayIPAddress() == 0) {
@@ -355,8 +351,8 @@
             dhcpReply.setHardwareAddressLength((byte) 6);
 
             // DHCP Options.
-            DHCPOption option = new DHCPOption();
-            List<DHCPOption> optionList = new ArrayList<>();
+            DhcpOption option = new DhcpOption();
+            List<DhcpOption> optionList = new ArrayList<>();
 
             // DHCP Message Type.
             option.setCode(OptionCode_MessageType.getValue());
@@ -366,15 +362,15 @@
             optionList.add(option);
 
             // DHCP Server Identifier.
-            option = new DHCPOption();
+            option = new DhcpOption();
             option.setCode(OptionCode_DHCPServerIp.getValue());
             option.setLength((byte) 4);
             option.setData(dhcpServerReply.toOctets());
             optionList.add(option);
 
-            if (outgoingMessageType != DHCPPacketType.DHCPNAK.getValue()) {
+            if (outgoingMessageType != DHCP.MsgType.DHCPNAK.getValue()) {
                 // IP Address Lease Time.
-                option = new DHCPOption();
+                option = new DhcpOption();
                 option.setCode(DHCP.DHCPOptionCode.OptionCode_LeaseTime.getValue());
                 option.setLength((byte) 4);
                 option.setData(ByteBuffer.allocate(4)
@@ -382,28 +378,28 @@
                 optionList.add(option);
 
                 // IP Address Renewal Time.
-                option = new DHCPOption();
+                option = new DhcpOption();
                 option.setCode(DHCP.DHCPOptionCode.OptionCode_RenewalTime.getValue());
                 option.setLength((byte) 4);
                 option.setData(ByteBuffer.allocate(4).putInt(renewalTime).array());
                 optionList.add(option);
 
                 // IP Address Rebinding Time.
-                option = new DHCPOption();
+                option = new DhcpOption();
                 option.setCode(DHCP.DHCPOptionCode.OPtionCode_RebindingTime.getValue());
                 option.setLength((byte) 4);
                 option.setData(ByteBuffer.allocate(4).putInt(rebindingTime).array());
                 optionList.add(option);
 
                 // Subnet Mask.
-                option = new DHCPOption();
+                option = new DhcpOption();
                 option.setCode(DHCP.DHCPOptionCode.OptionCode_SubnetMask.getValue());
                 option.setLength((byte) 4);
                 option.setData(subnetMaskReply.toOctets());
                 optionList.add(option);
 
                 // Broadcast Address.
-                option = new DHCPOption();
+                option = new DhcpOption();
                 option.setCode(DHCP.DHCPOptionCode.OptionCode_BroadcastAddress.getValue());
                 option.setLength((byte) 4);
                 option.setData(broadcastReply.toOctets());
@@ -411,7 +407,7 @@
 
                 // Router Address.
                 if (routerAddressReply.isPresent()) {
-                    option = new DHCPOption();
+                    option = new DhcpOption();
                     option.setCode(DHCP.DHCPOptionCode.OptionCode_RouterAddress.getValue());
                     option.setLength((byte) 4);
                     option.setData(routerAddressReply.get().toOctets());
@@ -420,7 +416,7 @@
 
                 // DNS Server Address.
                 if (domainServerReply.isPresent()) {
-                    option = new DHCPOption();
+                    option = new DhcpOption();
                     option.setCode(DHCP.DHCPOptionCode.OptionCode_DomainServer.getValue());
                     option.setLength((byte) 4);
                     option.setData(domainServerReply.get().toOctets());
@@ -429,7 +425,7 @@
             }
 
             // End Option.
-            option = new DHCPOption();
+            option = new DhcpOption();
             option.setCode(DHCP.DHCPOptionCode.OptionCode_END.getValue());
             option.setLength((byte) 1);
             optionList.add(option);
@@ -472,16 +468,16 @@
             }
 
             Ethernet packet = context.inPacket().parsed();
-            DHCPPacketType incomingPacketType = null;
+            DHCP.MsgType incomingPacketType = null;
             boolean flagIfRequestedIP = false;
             boolean flagIfServerIP = false;
             Ip4Address requestedIP = Ip4Address.valueOf("0.0.0.0");
             Ip4Address serverIP = Ip4Address.valueOf("0.0.0.0");
 
-            for (DHCPOption option : dhcpPayload.getOptions()) {
+            for (DhcpOption option : dhcpPayload.getOptions()) {
                 if (option.getCode() == OptionCode_MessageType.getValue()) {
                     byte[] data = option.getData();
-                    incomingPacketType = DHCPPacketType.getType(data[0]);
+                    incomingPacketType = DHCP.MsgType.getType(data[0]);
                 }
                 if (option.getCode() == OptionCode_RequestedIP.getValue()) {
                     byte[] data = option.getData();
@@ -500,7 +496,7 @@
                 return;
             }
 
-            DHCPPacketType outgoingPacketType;
+            DHCP.MsgType outgoingPacketType;
             MacAddress clientMac = new MacAddress(dhcpPayload.getClientHardwareAddress());
             VlanId vlanId = VlanId.vlanId(packet.getVlanID());
             HostId hostId = HostId.hostId(clientMac, vlanId);
@@ -513,7 +509,7 @@
                         Ethernet ethReply = buildReply(
                                 packet,
                                 ipOffered,
-                                (byte) DHCPOFFER.getValue());
+                                (byte) DHCP.MsgType.DHCPOFFER.getValue());
                         sendReply(context, ethReply);
                     }
                     break;
@@ -536,10 +532,10 @@
                             .assignmentStatus(Option_Requested).build();
 
                     if (dhcpStore.assignIP(hostId, ipAssignment)) {
-                        outgoingPacketType = DHCPACK;
+                        outgoingPacketType = DHCP.MsgType.DHCPACK;
                         discoverHost(context, requestedIP);
                     } else {
-                        outgoingPacketType = DHCPNAK;
+                        outgoingPacketType = DHCP.MsgType.DHCPNAK;
                     }
 
                     Ethernet ethReply = buildReply(packet, requestedIP, (byte) outgoingPacketType.getValue());