public static String getDhcpRange(final String cidr) { final String[] splitResult = cidr.split("\\/"); final long size = Long.parseLong(splitResult[1]); return NetUtils.getIpRangeStartIpFromCidr(splitResult[0], size); }
public NicIpAliasVO(Long nicId, String ipaddr, Long vmId, Long accountId, Long domainId, Long networkId, String gateway, String netmask) { this.nicId = nicId; this.vmId = vmId; ip4Address = ipaddr; this.accountId = accountId; this.domainId = domainId; this.networkId = networkId; this.netmask = netmask; this.gateway = gateway; state = NicIpAlias.State.active; String cidr = NetUtils.getCidrFromGatewayAndNetmask(gateway, netmask); String[] cidrPair = cidr.split("\\/"); String cidrAddress = cidrPair[0]; long cidrSize = Long.parseLong(cidrPair[1]); startIpOfSubnet = NetUtils.getIpRangeStartIpFromCidr(cidrAddress, cidrSize); }
String[] cidrTuple = guestNetworkCidr.split("\\/"); String guestIpNetwork = NetUtils.getIpRangeStartIpFromCidr(cidrTuple[0], Long.parseLong(cidrTuple[1])); long guestCidrSize = Long.parseLong(cidrTuple[1]);
if (guestNetworkCidr != null) { final String[] cidrTuple = guestNetworkCidr.split("\\/"); guestIpNetwork = NetUtils.getIpRangeStartIpFromCidr(cidrTuple[0], Long.parseLong(cidrTuple[1])); guestCidrSize = Long.parseLong(cidrTuple[1]);
final String cidr = NetUtils.getCidrSubNet(guestNic.getIPv4Gateway(), cidrSize); if (cidr != null) { dhcpRange = NetUtils.getIpRangeStartIpFromCidr(cidr, cidrSize);
protected String getGuestDhcpRange(final NicProfile guestNic, final Network guestNetwork, final DataCenter dc) { String dhcpRange = null; // setup dhcp range if (dc.getNetworkType() == NetworkType.Basic) { final long cidrSize = NetUtils.getCidrSize(guestNic.getIPv4Netmask()); final String cidr = NetUtils.getCidrSubNet(guestNic.getIPv4Gateway(), cidrSize); if (cidr != null) { dhcpRange = NetUtils.getIpRangeStartIpFromCidr(cidr, cidrSize); } } else if (dc.getNetworkType() == NetworkType.Advanced) { final String cidr = guestNetwork.getCidr(); if (cidr != null) { dhcpRange = NetUtils.getDhcpRange(cidr); } } return dhcpRange; } }
public void configDnsMasq(final VirtualRouter router, final Network network, final Commands cmds) { final DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId()); final List<NicIpAliasVO> ipAliasVOList = _nicIpAliasDao.listByNetworkIdAndState(network.getId(), NicIpAlias.State.active); final List<DhcpTO> ipList = new ArrayList<DhcpTO>(); final NicVO router_guest_nic = _nicDao.findByNtwkIdAndInstanceId(network.getId(), router.getId()); final String cidr = NetUtils.getCidrFromGatewayAndNetmask(router_guest_nic.getIPv4Gateway(), router_guest_nic.getIPv4Netmask()); final String[] cidrPair = cidr.split("\\/"); final String cidrAddress = cidrPair[0]; final long cidrSize = Long.parseLong(cidrPair[1]); final String startIpOfSubnet = NetUtils.getIpRangeStartIpFromCidr(cidrAddress, cidrSize); ipList.add(new DhcpTO(router_guest_nic.getIPv4Address(), router_guest_nic.getIPv4Gateway(), router_guest_nic.getIPv4Netmask(), startIpOfSubnet)); for (final NicIpAliasVO ipAliasVO : ipAliasVOList) { final DhcpTO DhcpTO = new DhcpTO(ipAliasVO.getIp4Address(), ipAliasVO.getGateway(), ipAliasVO.getNetmask(), ipAliasVO.getStartIpOfSubnet()); if (s_logger.isTraceEnabled()) { s_logger.trace("configDnsMasq : adding ip {" + DhcpTO.getGateway() + ", " + DhcpTO.getNetmask() + ", " + DhcpTO.getRouterIp() + ", " + DhcpTO.getStartIpOfSubnet() + "}"); } ipList.add(DhcpTO); ipAliasVO.setVmId(router.getId()); } _dcDao.findById(router.getDataCenterId()); final DnsMasqConfigCommand dnsMasqConfigCmd = new DnsMasqConfigCommand(ipList); dnsMasqConfigCmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, _routerControlHelper.getRouterControlIp(router.getId())); dnsMasqConfigCmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, router.getInstanceName()); dnsMasqConfigCmd.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP, _routerControlHelper.getRouterIpInNetwork(network.getId(), router.getId())); dnsMasqConfigCmd.setAccessDetail(NetworkElementCommand.ZONE_NETWORK_TYPE, dcVo.getNetworkType().toString()); cmds.addCommand("dnsMasqConfig", dnsMasqConfigCmd); }
public static String getDhcpRange(final String cidr) { final String[] splitResult = cidr.split("\\/"); final long size = Long.parseLong(splitResult[1]); return NetUtils.getIpRangeStartIpFromCidr(splitResult[0], size); }
if (guestNetworkCidr != null) { final String[] cidrTuple = guestNetworkCidr.split("\\/"); network.setGateway(NetUtils.getIpRangeStartIpFromCidr(cidrTuple[0], Long.parseLong(cidrTuple[1]))); network.setCidr(guestNetworkCidr); } else if (dc.getNetworkType() == NetworkType.Advanced) { network.setGateway(NetUtils.getIpRangeStartIpFromCidr(cidrTuple[0], Long.parseLong(cidrTuple[1]))); network.setCidr(guestNetworkCidr);
public static SortedSet<Long> getAllIpsFromCidr(final String cidr_ip, final long size, final Set<Long> usedIps) { final SortedSet<Long> result = new TreeSet<>(); long start = ip2Long(getIpRangeStartIpFromCidr(cidr_ip, size)); final long end = ip2Long(getIpRangeEndIpFromCidr(cidr_ip, size)); while (start <= end) { if (!usedIps.contains(start)) { result.add(start); } start++; } return result; }