@Override public void applyTo(RouteFilterList rfl) { org.batfish.datamodel.RouteFilterLine line = new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT, _prefix, new SubRange(_minPrefixLength, _maxPrefixLength)); rfl.addLine(line); }
@Override public void applyTo(RouteFilterList rfl) { int prefixLength = _prefix.getPrefixLength(); org.batfish.datamodel.RouteFilterLine line = new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT, _prefix, new SubRange(prefixLength, Prefix.MAX_PREFIX_LENGTH)); rfl.addLine(line); }
@Override public void applyTo(RouteFilterList rfl) { int prefixLength = _prefix.getPrefixLength(); org.batfish.datamodel.RouteFilterLine line = new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT, _prefix, new SubRange(prefixLength, prefixLength)); rfl.addLine(line); }
@Override public void applyTo(RouteFilterList rfl) { int prefixLength = _prefix.getPrefixLength(); org.batfish.datamodel.RouteFilterLine line = new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT, _prefix, new SubRange(prefixLength, _maxPrefixLength)); rfl.addLine(line); }
@Override public void applyTo(RouteFilterList rfl) { int prefixLength = _prefix.getPrefixLength(); if (prefixLength >= 32) { throw new BatfishException("Route filter prefix length cannot be 'longer' than 32"); } org.batfish.datamodel.RouteFilterLine line = new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT, PrefixRange.moreSpecificThan(_prefix)); rfl.addLine(line); }
prefixesToSuppress.forEachRemaining( p -> matchLonger.addLine( new RouteFilterLine(LineAction.PERMIT, PrefixRange.moreSpecificThan(p))));
@Override public void applyTo(RouteFilterList rfl) { int low = _prefix.getPrefixLength(); int high = _throughPrefix.getPrefixLength(); for (int i = low; i <= high; i++) { Ip currentNetworkAddress = _throughPrefix.getStartIp().getNetworkAddress(i); Prefix currentPrefix = Prefix.create(currentNetworkAddress, i); org.batfish.datamodel.RouteFilterLine line = new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT, currentPrefix, new SubRange(i, i)); rfl.addLine(line); } }
@Override public void applyTo(RouteFilterList rfl) { int prefixLength = _prefix.getPrefixLength(); org.batfish.datamodel.RouteFilterLine line = new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT, new IpWildcard( Prefix.create(_prefix.getStartIp(), prefixLength).getStartIp(), _addressMask), new SubRange(prefixLength, prefixLength)); rfl.addLine(line); }
new MatchPrefixSet(DestinationNetwork.instance(), new NamedPrefixSet(rflName)); RouteFilterList rfList = new RouteFilterList(rflName); rfList.addLine( new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT,
@Override public BooleanExpr toBooleanExpr(JuniperConfiguration jc, Configuration c, Warnings warnings) { PrefixList pl = jc.getMasterLogicalSystem().getPrefixLists().get(_prefixList); if (pl != null) { if (pl.getIpv6()) { return BooleanExprs.FALSE; } RouteFilterList rf = c.getRouteFilterLists().get(_prefixList); String orLongerListName = "~" + _prefixList + "~ORLONGER~"; RouteFilterList orLongerList = c.getRouteFilterLists().get(orLongerListName); if (orLongerList == null) { orLongerList = new RouteFilterList(orLongerListName); for (RouteFilterLine line : rf.getLines()) { Prefix prefix = line.getIpWildcard().toPrefix(); LineAction action = line.getAction(); SubRange orLongerLineRange = new SubRange(line.getLengthRange().getStart(), Prefix.MAX_PREFIX_LENGTH); RouteFilterLine orLongerLine = new RouteFilterLine(action, prefix, orLongerLineRange); orLongerList.addLine(orLongerLine); c.getRouteFilterLists().put(orLongerListName, orLongerList); } } return new MatchPrefixSet( DestinationNetwork.instance(), new NamedPrefixSet(orLongerListName)); } else { warnings.redFlag("Reference to undefined prefix-list: \"" + _prefixList + "\""); return BooleanExprs.FALSE; } } }
routingPolicyConditional.setGuard(isContributingRoute); RouteFilterList rfList = new RouteFilterList(rflName); rfList.addLine( new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT, prefix, new SubRange(prefixLength + 1, Prefix.MAX_PREFIX_LENGTH)));
new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT, prefix, new SubRange(prefixLength, prefixLength)); rfl.addLine(line);
? Math.min(Prefix.MAX_PREFIX_LENGTH, prefixLength + 1) : prefixLength; summaryFilter.addLine( new org.batfish.datamodel.RouteFilterLine( LineAction.DENY, new SubRange(filterMinPrefixLength, Prefix.MAX_PREFIX_LENGTH))); summaryFilter.addLine( new org.batfish.datamodel.RouteFilterLine( LineAction.PERMIT,
longerList.addLine(orLongerLine); c.getRouteFilterLists().put(longerListName, longerList);
prefix, new SubRange(prefix.getPrefixLength(), prefix.getPrefixLength())); originationRouteFilter.addLine(matchOutgoingPrefix); }); Conjunction conj = new Conjunction();