Make some DHCP options and host discovery configurable
- Added broadcast option
- Made host discovery from DHCP configurable
- Some code cleanups
Change-Id: I42191c2fd17ef309c73a5382730d708686b835cd
diff --git a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/rest/DhcpWebResource.java b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/rest/DhcpWebResource.java
index e4c6246..cea58ff 100644
--- a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/rest/DhcpWebResource.java
+++ b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/rest/DhcpWebResource.java
@@ -18,7 +18,6 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Lists;
import org.onlab.packet.Ip4Address;
import org.onlab.packet.MacAddress;
import org.onosproject.dhcp.DhcpService;
@@ -36,8 +35,11 @@
import javax.ws.rs.core.Response;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Date;
import java.util.Map;
+import static org.onosproject.dhcp.IpAssignment.AssignmentStatus.Option_Requested;
+
/**
* Manage DHCP address assignments.
*/
@@ -120,10 +122,15 @@
JsonNode macID = jsonTree.get("mac");
JsonNode ip = jsonTree.get("ip");
if (macID != null && ip != null) {
+ IpAssignment ipAssignment = IpAssignment.builder()
+ .ipAddress(Ip4Address.valueOf(ip.asText()))
+ .leasePeriod(service.getLeaseTime())
+ .timestamp(new Date())
+ .assignmentStatus(Option_Requested)
+ .build();
if (!service.setStaticMapping(MacAddress.valueOf(macID.asText()),
- Ip4Address.valueOf(ip.asText()),
- false, Lists.newArrayList())) {
+ ipAssignment)) {
throw new IllegalArgumentException("Static Mapping Failed. " +
"The IP maybe unavailable.");
}