private void registerDhcpInfo(OpenstackPort openstackPort) {
    Ip4Address ip4Address;
    Ip4Address subnetMask;
    Ip4Address dhcpServer;
    Ip4Address gatewayIPAddress;
    Ip4Address domainServer;
    OpenstackSubnet openstackSubnet;

    ip4Address = (Ip4Address) openstackPort.fixedIps().values().toArray()[0];

    openstackSubnet =
        restHandler
            .getSubnets()
            .stream()
            .filter(n -> n.networkId().equals(openstackPort.networkId()))
            .findFirst()
            .get();

    subnetMask = Ip4Address.valueOf(buildSubnetMask(openstackSubnet.cidr()));
    gatewayIPAddress = Ip4Address.valueOf(openstackSubnet.gatewayIp());
    dhcpServer = gatewayIPAddress;
    // TODO: supports multiple DNS servers
    if (openstackSubnet.dnsNameservers().isEmpty()) {
      domainServer = Ip4Address.valueOf("8.8.8.8");
    } else {
      domainServer = openstackSubnet.dnsNameservers().get(0);
    }
    List<Ip4Address> options = Lists.newArrayList();
    options.add(subnetMask);
    options.add(dhcpServer);
    options.add(gatewayIPAddress);
    options.add(domainServer);

    dhcpService.setStaticMapping(openstackPort.macAddress(), ip4Address, true, options);
  }