Support to inject hostRoutes and DNS info inside DHCP reply message

Change-Id: Ic88f98b6fca88aa69a23c6a576d4d0a6ac4b8f99
diff --git a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtDhcpHandler.java b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtDhcpHandler.java
index e3b9469..983a5bb 100644
--- a/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtDhcpHandler.java
+++ b/apps/kubevirt-networking/app/src/main/java/org/onosproject/kubevirtnetworking/impl/KubevirtDhcpHandler.java
@@ -474,28 +474,25 @@
 
             option.setCode(OptionCode_DomainServer.getValue());
 
-            option.setLength((byte) DHCP_OPTION_DNS_LENGTH);
-            ByteBuffer dnsByteBuf = ByteBuffer.allocate(DHCP_OPTION_DNS_LENGTH);
-            dnsByteBuf.put(DEFAULT_PRIMARY_DNS.toOctets());
-            dnsByteBuf.put(DEFAULT_SECONDARY_DNS.toOctets());
+            if (network.dnses().isEmpty()) {
+                option.setLength((byte) DHCP_OPTION_DNS_LENGTH);
+                ByteBuffer dnsByteBuf = ByteBuffer.allocate(DHCP_OPTION_DNS_LENGTH);
+                dnsByteBuf.put(DEFAULT_PRIMARY_DNS.toOctets());
+                dnsByteBuf.put(DEFAULT_SECONDARY_DNS.toOctets());
 
-            option.setData(dnsByteBuf.array());
+                option.setData(dnsByteBuf.array());
+            } else {
+                int dnsLength = 4 * network.dnses().size();
 
-            // TODO: need to customize the DNS server list
-//            if (dnsServers.isEmpty()) {
-//
-//            } else {
-//                int dnsLength = 4 * dnsServers.size();
-//
-//                option.setLength((byte) dnsLength);
-//
-//                ByteBuffer dnsByteBuf = ByteBuffer.allocate(DHCP_OPTION_DNS_LENGTH);
-//
-//                for (String dnsServer : dnsServers) {
-//                    dnsByteBuf.put(IpAddress.valueOf(dnsServer).toOctets());
-//                }
-//                option.setData(dnsByteBuf.array());
-//            }
+                option.setLength((byte) dnsLength);
+
+                ByteBuffer dnsByteBuf = ByteBuffer.allocate(DHCP_OPTION_DNS_LENGTH);
+
+                for (IpAddress dnsServer : network.dnses()) {
+                    dnsByteBuf.put(dnsServer.toOctets());
+                }
+                option.setData(dnsByteBuf.array());
+            }
 
             return option;
         }