static Route6FilterList toRoute6FilterList(ExtendedIpv6AccessList eaList) { String name = eaList.getName(); List<Route6FilterLine> lines = eaList.getLines().stream() .map(CiscoConversions::toRoute6FilterLine) .collect(ImmutableList.toImmutableList()); return new Route6FilterList(name, lines); }
@Override protected boolean matchesSafely(Route6FilterList item, Description mismatchDescription) { if (item.permits(_prefix)) { return true; } mismatchDescription.appendText(String.format("does not permit prefix '%s'", _prefix)); return false; } }
@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); }
.collect(ImmutableList.toImmutableList()); Route6FilterList localFilter6 = new Route6FilterList("~BGP_NETWORK6_NETWORKS_FILTER:" + vrfName + "~", lines); c.getRoute6FilterLists().put(localFilter6.getName(), localFilter6);
if (!proc.getIpv6Networks().isEmpty()) { String localFilter6Name = "~BGP_NETWORK6_NETWORKS_FILTER:" + vrfName + "~"; Route6FilterList localFilter6 = new Route6FilterList(localFilter6Name); proc.getIpv6Networks() .forEach( new Route6FilterLine( LineAction.PERMIT, prefix6, new SubRange(prefixLen, prefixLen)); localFilter6.addLine(line); String mapName = bgpNetwork6.getRouteMapName(); if (mapName != null) {
public boolean permits(Prefix6 prefix) { if (_deniedCache.get().contains(prefix)) { return false; } else if (_permittedCache.get().contains(prefix)) { return true; } return newPermits(prefix); }
@Override protected List<Route6FilterLine> featureValueOf(Route6FilterList actual) { return actual.getLines(); } }
c.getRoute6FilterLists().put(newRouteFilterList.getName(), newRouteFilterList); if (isAclUsedForRoutingv6(saList.getName())) { Route6FilterList rfList = CiscoConversions.toRoute6FilterList(saList); c.getRoute6FilterLists().put(rfList.getName(), rfList); if (isAclUsedForRoutingv6(eaList.getName())) { Route6FilterList rfList = CiscoConversions.toRoute6FilterList(eaList); c.getRoute6FilterLists().put(rfList.getName(), rfList);
static Route6FilterList toRoute6FilterList(StandardIpv6AccessList eaList) { String name = eaList.getName(); List<Route6FilterLine> lines = eaList.getLines().stream() .map(CiscoConversions::toRoute6FilterLine) .collect(ImmutableList.toImmutableList()); return new Route6FilterList(name, lines); }
@Override protected boolean matchesSafely(Route6FilterList item, Description mismatchDescription) { if (!item.permits(_prefix)) { return true; } mismatchDescription.appendText(String.format("does not reject prefix '%s'", _prefix)); return false; } }
@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); }
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 boolean matches(Prefix6 prefix, Environment environment) { Route6FilterList list = environment.getConfiguration().getRoute6FilterLists().get(_name); if (list != null) { return list.permits(prefix); } else { environment.setError(true); return false; } } }
@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); }
Route6FilterList rfl = new Route6FilterList(name); for (RouteFilterLine line : rf.getLines()) { if (line.getThens().size() == 0) {
@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); }
@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)))); }
@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); }
ImmutableSortedMap.of(routeFilterListName, new RouteFilterList(routeFilterListName))); config.setRoute6FilterLists( ImmutableSortedMap.of(route6FilterListName, new Route6FilterList(route6FilterListName))); config.setRoutingPolicies( ImmutableSortedMap.of(routingPolicyName, new RoutingPolicy(routingPolicyName, null)));
@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); } }