/** * Create ipv4 prefix from ipv4 address, by appending /32 mask * * @param ipv4AddressString the ip address, in string format * @return Ipv4Prefix with ipv4Address and /32 mask */ public static Ipv4Prefix iPv4PrefixFromIPv4Address(String ipv4AddressString) { return new Ipv4Prefix(ipv4AddressString + "/32"); }
public static Ipv4Prefix getDefaultInstance(String defaultValue) { return new Ipv4Prefix(defaultValue); }
public static Ipv4Prefix getDefaultInstance(String defaultValue) { return new Ipv4Prefix(defaultValue); }
public static IpPrefix getDefaultInstance(final String defaultValue) { final Matcher ipv4Matcher = IPV4_PATTERN.matcher(defaultValue); if (ipv4Matcher.matches()) { if (IPV6_PATTERN1.matcher(defaultValue).matches() && IPV6_PATTERN2.matcher(defaultValue).matches()) { throw new IllegalArgumentException( String.format("Cannot create IpPrefix from \"%s\", matches both %s and %s", defaultValue, Ipv4Address.class.getSimpleName(), Ipv6Address.class.getSimpleName())); } return new IpPrefix(new Ipv4Prefix(defaultValue)); } else if (IPV6_PATTERN1.matcher(defaultValue).matches() && IPV6_PATTERN2.matcher(defaultValue).matches()) { return new IpPrefix(new Ipv6Prefix(defaultValue)); } else { throw new IllegalArgumentException("Cannot create IpPrefix from " + defaultValue); } }
public static IpPrefix getDefaultInstance(final String defaultValue) { final Matcher ipv4Matcher = IPV4_PATTERN.matcher(defaultValue); if (ipv4Matcher.matches()) { if (IPV6_PATTERN1.matcher(defaultValue).matches() && IPV6_PATTERN2.matcher(defaultValue).matches()) { throw new IllegalArgumentException( String.format("Cannot create IpPrefix from \"%s\", matches both %s and %s", defaultValue, Ipv4Address.class.getSimpleName(), Ipv6Address.class.getSimpleName())); } return new IpPrefix(new Ipv4Prefix(defaultValue)); } else if (IPV6_PATTERN1.matcher(defaultValue).matches() && IPV6_PATTERN2.matcher(defaultValue).matches()) { return new IpPrefix(new Ipv6Prefix(defaultValue)); } else { throw new IllegalArgumentException("Cannot create IpPrefix from " + defaultValue); } }
/** * This implementation does not use nameservice lookups (e.g. no DNS). * * @param cidr - format must be valid for regex in {@link Ipv4Prefix} or {@link Ipv6Prefix} * @return the {@link IpPrefix} having the given cidr string representation * @throws IllegalArgumentException - if the argument is not a valid CIDR string */ public static IpPrefix createIpPrefix(String cidr) { checkArgument(!Strings.isNullOrEmpty(cidr), "Cannot be null or empty."); String[] ipAndPrefix = cidr.split("/"); checkArgument(ipAndPrefix.length == 2, "Bad format."); InetAddress ip = InetAddresses.forString(ipAndPrefix[0]); if (ip instanceof Inet4Address) { return new IpPrefix(new Ipv4Prefix(cidr)); } return new IpPrefix(new Ipv6Prefix(cidr)); }
private static Layer3Match setLayer3MatchAsIpv4( final Inet4Address inetSourceAddress, final Inet4Address inetDestAddress) { Ipv4MatchBuilder layer4MatchBuild = new Ipv4MatchBuilder(); if(inetSourceAddress != null) { String inetSrcAddressString = InetAddresses .toAddrString(inetSourceAddress); layer4MatchBuild.setIpv4Source(new Ipv4Prefix(inetSrcAddressString + "/32")); } if(inetDestAddress != null) { String inetDstAddressString = InetAddresses .toAddrString(inetDestAddress); layer4MatchBuild .setIpv4Destination(new Ipv4Prefix(inetDstAddressString + "/32")); } return layer4MatchBuild.build(); }
public static Address toInetAddress(final InetAddress address) { if (address instanceof Inet4Address) { return new Ipv4Builder() .setIpv4Address(new Ipv4Prefix(InetAddresses.toAddrString(address) + "/32")) .build(); } if (address instanceof Inet6Address) { return new Ipv6Builder() .setIpv6Address(new Ipv6Prefix(InetAddresses.toAddrString(address) + "/128")) .build(); } throw new IllegalArgumentException(String.format("Unhandled address class %s", address.getClass())); } }
private List<NetworkMap> loadNetworkMapList() { List<NetworkMap> networkMapList = new ArrayList<NetworkMap>(); ResourceId rid = new ResourceId(new ValidIdString(NMRESOURCEID)); this.networkTag = TagGenerator.getTag(32); TagString tag = new TagString(this.networkTag); ValidIdString vis = new ValidIdString("pid0"); PidName pid = new PidName(vis); IpPrefix ep = new IpPrefix(new Ipv4Prefix("0.0.0.0/0")); this.networkMap.put("0.0.0.0/0", "pid0"); List<org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.network.map.Map> mapList = new ArrayList<org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.network.map.Map>(); List<IpPrefix> epList = new ArrayList<IpPrefix>(); epList.add(ep); EndpointAddressGroup eag = new EndpointAddressGroupBuilder() .setAddressType( new EndpointAddressType( EndpointAddressType.Enumeration.Ipv4)) .setEndpointPrefix(epList).build(); List<EndpointAddressGroup> eagList = new ArrayList<EndpointAddressGroup>(); eagList.add(eag); org.opendaylight.yang.gen.v1.urn.opendaylight.alto.rev150404.network.map.Map map = new MapBuilder() .setPid(pid).setEndpointAddressGroup(eagList).build(); mapList.add(map); NetworkMap networkMap = new NetworkMapBuilder().setResourceId(rid) .setTag(tag).setMap(mapList).build(); networkMapList.add(networkMap); return networkMapList; }
if (networkMap.containsKey(ipAddress)) continue; IpPrefix ep = new IpPrefix(new Ipv4Prefix(ipAddress)); epList.add(ep); networkMap.put(ipAddress, pidString);
@SuppressWarnings("unused") private static Address addressFromAction(InetAddress inetAddress) { String strInetAddresss = InetAddresses.toAddrString(inetAddress); if (inetAddress instanceof Inet4Address) { Ipv4Builder ipv4Builder = new Ipv4Builder(); ipv4Builder.setIpv4Address(new Ipv4Prefix(strInetAddresss)); return ipv4Builder.build(); } else if (inetAddress instanceof Inet6Address) { Ipv6Builder ipv6Builder = new Ipv6Builder(); ipv6Builder.setIpv6Address(new Ipv6Prefix(strInetAddresss)); return ipv6Builder.build(); } return null; }
String ipAddress = entry.getKey(); IpPrefix ep = new IpPrefix(new Ipv4Prefix(ipAddress)); epList.add(ep);
private static Layer3Match setLayer3MatchAsArp(final Match sourceMatch, final Inet4Address inetSourceAddress, final Inet4Address inetDestAddress) { String inetSourceAddressStr = InetAddresses .toAddrString(inetSourceAddress); Ipv4Prefix ipv4SourcePrefix = new Ipv4Prefix(inetSourceAddressStr + "/32"); String inetDestAddressValue = InetAddresses .toAddrString(inetDestAddress); Ipv4Prefix ipv4DestPrefix = new Ipv4Prefix(inetDestAddressValue + "/32"); ArpMatchBuilder arpMatchBuilder = new ArpMatchBuilder(); arpMatchBuilder.setArpSourceTransportAddress(ipv4SourcePrefix); arpMatchBuilder.setArpTargetTransportAddress(ipv4DestPrefix); ArpSourceHardwareAddressBuilder arpSourceHardwareAddressBuilder = new ArpSourceHardwareAddressBuilder(); arpSourceHardwareAddressBuilder .setAddress(ethernetSourceAddress(sourceMatch)); arpMatchBuilder .setArpSourceHardwareAddress(arpSourceHardwareAddressBuilder .build()); ArpTargetHardwareAddressBuilder arpTargetHardwareAddressBuilder = new ArpTargetHardwareAddressBuilder(); arpTargetHardwareAddressBuilder .setAddress(ethernetDestAddress(sourceMatch)); arpMatchBuilder .setArpTargetHardwareAddress(arpTargetHardwareAddressBuilder .build()); return arpMatchBuilder.build(); }