ONOS-2197 Adding DHCP options and message type enum
Change-Id: I2e0d69c2581f2a6841a9c9a98e0947ad97b38d8a
diff --git a/utils/misc/src/main/java/org/onlab/packet/DHCP.java b/utils/misc/src/main/java/org/onlab/packet/DHCP.java
index 40a7745..79a39ef 100644
--- a/utils/misc/src/main/java/org/onlab/packet/DHCP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/DHCP.java
@@ -54,11 +54,12 @@
public static final byte HWTYPE_ETHERNET = 0x1;
public enum DHCPOptionCode {
- OptionCode_SubnetMask((byte) 1), OptionCode_RequestedIP((byte) 50), OptionCode_LeaseTime(
- (byte) 51), OptionCode_MessageType((byte) 53), OptionCode_DHCPServerIp(
- (byte) 54), OptionCode_RequestedParameters((byte) 55), OptionCode_RenewalTime(
- (byte) 58), OPtionCode_RebindingTime((byte) 59), OptionCode_ClientID(
- (byte) 61), OptionCode_END((byte) 255);
+ OptionCode_SubnetMask((byte) 1), OptionCode_RouterAddress((byte) 3), OptionCode_DomainServer((byte) 6),
+ OptionCode_HostName((byte) 12), OptionCode_DomainName((byte) 15), OptionCode_BroadcastAddress((byte) 28),
+ OptionCode_RequestedIP((byte) 50), OptionCode_LeaseTime((byte) 51), OptionCode_MessageType((byte) 53),
+ OptionCode_DHCPServerIp((byte) 54), OptionCode_RequestedParameters((byte) 55),
+ OptionCode_RenewalTime((byte) 58), OPtionCode_RebindingTime((byte) 59), OptionCode_ClientID((byte) 61),
+ OptionCode_END((byte) 255);
protected byte value;
@@ -71,6 +72,22 @@
}
}
+ public enum DHCPMessageType {
+ MessageType_Discover((byte) 1), MessageType_Offer((byte) 2), MessageType_Request((byte) 3),
+ MessageType_Decline((byte) 4), MessageType_ACK((byte) 5), MessageType_Nak((byte) 6),
+ MessageType_Release((byte) 7), MessageType_Inform((byte) 8);
+
+ protected byte value;
+
+ private DHCPMessageType(final byte value) {
+ this.value = value;
+ }
+
+ public byte getValue() {
+ return this.value;
+ }
+ }
+
protected byte opCode;
protected byte hardwareType;
protected byte hardwareAddressLength;