DHCP relay update to DVR
[groupbasedpolicy.git] / neutron-vpp-mapper / src / main / java / org / opendaylight / groupbasedpolicy / neutron / vpp / mapper / processors / PortHandler.java
index d22ff19d011ee91699d45be22a8932271b0a1634..29cdde18c5b85fc3e0841edf71f5552e4549bb42 100644 (file)
@@ -23,6 +23,7 @@ import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.TransactionChain;\r
 import org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener;\r
 import org.opendaylight.groupbasedpolicy.util.DataStoreHelper;\r
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.PhysAddress;\r
@@ -253,8 +254,11 @@ public class PortHandler implements TransactionChainListener {
             vppEpBuilder.setInterfaceTypeChoice(\r
                 new VhostUserCaseBuilder().setSocket(getSocketFromPortBinding(portBinding)).build());\r
         } else if (port.getDeviceOwner().contains(DHCP_OWNER) && port.getMacAddress() != null) {\r
+            IpAddress dhcpServerIpAddress = port.getFixedIps().stream().findFirst().isPresent() ?\r
+                port.getFixedIps().stream().findFirst().get().getIpAddress() : null;\r
             TapCase tapCase = new TapCaseBuilder().setPhysicalAddress(new PhysAddress(port.getMacAddress().getValue()))\r
                 .setName(createPortName(port.getUuid()))\r
+                .setDhcpServerAddress(dhcpServerIpAddress)\r
                 .build();\r
             vppEpBuilder.setInterfaceTypeChoice(tapCase);\r
         } else if (isValidQRouterPort(port)) {\r