@Override public void applyTo(Route6FilterList rfl) { org.batfish.datamodel.Route6FilterLine line = new org.batfish.datamodel.Route6FilterLine( LineAction.PERMIT, _prefix6, new SubRange(_minPrefixLength, _maxPrefixLength)); rfl.addLine(line); }
static Route6FilterList toRoute6FilterList(Prefix6List list) { List<Route6FilterLine> lines = list.getLines().stream() .map(pl -> new Route6FilterLine(pl.getAction(), pl.getPrefix(), pl.getLengthRange())) .collect(ImmutableList.toImmutableList()); return new Route6FilterList(list.getName(), lines); }
@Override public void applyTo(Route6FilterList rfl) { int prefixLength = _prefix6.getPrefixLength(); org.batfish.datamodel.Route6FilterLine line = new org.batfish.datamodel.Route6FilterLine( LineAction.PERMIT, _prefix6, new SubRange(prefixLength, prefixLength)); rfl.addLine(line); }
@Override public void applyTo(Route6FilterList rfl) { int prefixLength = _prefix6.getPrefixLength(); org.batfish.datamodel.Route6FilterLine line = new org.batfish.datamodel.Route6FilterLine( LineAction.PERMIT, _prefix6, new SubRange(prefixLength, _maxPrefixLength)); rfl.addLine(line); }
@Override public void applyTo(Route6FilterList rfl) { int prefixLength = _prefix6.getPrefixLength(); org.batfish.datamodel.Route6FilterLine line = new org.batfish.datamodel.Route6FilterLine( LineAction.PERMIT, _prefix6, new SubRange(prefixLength, Prefix6.MAX_PREFIX_LENGTH)); rfl.addLine(line); }
@Override public void applyTo(Route6FilterList rfl) { int prefixLength = _prefix6.getPrefixLength(); if (prefixLength >= Prefix6.MAX_PREFIX_LENGTH) { throw new BatfishException( "Route filter prefix length cannot be 'longer' than " + Prefix6.MAX_PREFIX_LENGTH); } org.batfish.datamodel.Route6FilterLine line = new org.batfish.datamodel.Route6FilterLine( LineAction.PERMIT, _prefix6, new SubRange(prefixLength + 1, Prefix6.MAX_PREFIX_LENGTH)); rfl.addLine(line); }
@Override public void applyTo(Route6FilterList rfl) { int low = _prefix6.getPrefixLength(); int high = _throughPrefix6.getPrefixLength(); for (int i = low; i <= high; i++) { Ip6 currentNetworkAddress = _throughPrefix6.getAddress().getNetworkAddress(i); Prefix6 currentPrefix6 = new Prefix6(currentNetworkAddress, i); org.batfish.datamodel.Route6FilterLine line = new org.batfish.datamodel.Route6FilterLine( LineAction.PERMIT, currentPrefix6, new SubRange(i, i)); rfl.addLine(line); } }
/** Convert a standard IPv6 access list line to a route filter list line */ private static Route6FilterLine toRoute6FilterLine(StandardIpv6AccessListLine fromLine) { LineAction action = fromLine.getAction(); Prefix6 prefix = fromLine.getIpWildcard().toPrefix(); return new Route6FilterLine( action, new Ip6Wildcard(prefix), new SubRange(prefix.getPrefixLength(), Prefix6.MAX_PREFIX_LENGTH)); }
@Override public void applyTo(Route6FilterList rfl) { int prefixLength = _prefix6.getPrefixLength(); org.batfish.datamodel.Route6FilterLine line = new org.batfish.datamodel.Route6FilterLine( LineAction.PERMIT, new Ip6Wildcard( new Prefix6(_prefix6.getAddress(), prefixLength).getAddress(), _addressMask), new SubRange(prefixLength, prefixLength)); rfl.addLine(line); }
@Before public void setup() { _rfAddressMask = new Route6FilterList( "test-route6-filter-mask", ImmutableList.of( new Route6FilterLine( LineAction.PERMIT, new Ip6Wildcard( "2001:db8:1234:2345:3456:4567:5678:6789;0:ffff:0:0:0:ffff:ffff:ffff"), new SubRange(64, 64)))); _rfPrefixMoreSpecific = new Route6FilterList( "test-route6-filter-prefix", ImmutableList.of( new Route6FilterLine( LineAction.PERMIT, new Ip6Wildcard( "2001:db8:1234:2345:3456:4567:5678:6789;0:0:0:0:ffff:ffff:ffff:ffff"), new SubRange(65, 70)))); _rfPrefixExact = new Route6FilterList( "test-route6-filter-prefix", ImmutableList.of( new Route6FilterLine( LineAction.PERMIT, new Ip6Wildcard( "2001:db8:1234:2345:3456:4567:5678:6789;0:0:0:0:ffff:ffff:ffff:ffff"), new SubRange(64, 64)))); }
private static Route6FilterLine toRoute6FilterLine(ExtendedIpv6AccessListLine fromLine) { LineAction action = fromLine.getAction(); Ip6 ip = fromLine.getSourceIpWildcard().getIp(); BigInteger minSubnet = fromLine.getDestinationIpWildcard().getIp().asBigInteger(); BigInteger maxSubnet = minSubnet.or(fromLine.getDestinationIpWildcard().getWildcard().asBigInteger()); int minPrefixLength = fromLine.getDestinationIpWildcard().getIp().numSubnetBits(); int maxPrefixLength = new Ip6(maxSubnet).numSubnetBits(); int statedPrefixLength = fromLine.getSourceIpWildcard().getWildcard().inverted().numSubnetBits(); int prefixLength = Math.min(statedPrefixLength, minPrefixLength); Prefix6 prefix = new Prefix6(ip, prefixLength); return new Route6FilterLine(action, prefix, new SubRange(minPrefixLength, maxPrefixLength)); }
List<Route6FilterLine> lines = ipv6af.getIpv6Networks().keySet().stream() .map(p6 -> new Route6FilterLine(LineAction.PERMIT, Prefix6Range.fromPrefix6(p6))) .collect(ImmutableList.toImmutableList()); Route6FilterList localFilter6 =
int prefixLen = prefix6.getPrefixLength(); Route6FilterLine line = new Route6FilterLine( LineAction.PERMIT, prefix6, new SubRange(prefixLen, prefixLen)); localFilter6.addLine(line);