@Override protected Route6FilterList featureValueOf(Configuration actual) { return actual.getRoute6FilterLists().get(_name); } }
@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 BooleanExpr toBooleanExpr(Configuration c, CiscoConfiguration cc, Warnings w) { Disjunction d = new Disjunction(); List<BooleanExpr> disjuncts = d.getDisjuncts(); for (String listName : _listNames) { Object list; Ip6AccessList ipAccessList = null; Route6FilterList routeFilterList = null; if (_routing) { routeFilterList = c.getRoute6FilterLists().get(listName); list = routeFilterList; } else { ipAccessList = c.getIp6AccessLists().get(listName); list = ipAccessList; } if (list != null) { if (_routing) { disjuncts.add( new MatchPrefix6Set(new DestinationNetwork6(), new NamedPrefix6Set(listName))); } else { disjuncts.add(new MatchIp6AccessList(listName)); } } } return d.simplify(); } }
@Override public BooleanExpr toBooleanExpr(JuniperConfiguration jc, Configuration c, Warnings warnings) { RouteFilterList rfl = c.getRouteFilterLists().get(_routeFilterName); Route6FilterList rfl6 = c.getRoute6FilterLists().get(_routeFilterName); BooleanExpr match4 = null; BooleanExpr match6 = null; if (rfl != null) { match4 = new MatchPrefixSet(DestinationNetwork.instance(), new NamedPrefixSet(_routeFilterName)); } if (rfl6 != null) { match6 = new MatchPrefix6Set(new DestinationNetwork6(), new NamedPrefix6Set(_routeFilterName)); } if (match4 != null && match6 == null) { return match4; } else if (rfl == null && rfl6 != null) { return match6; } else if (rfl != null && rfl6 != null) { Disjunction d = new Disjunction(); d.getDisjuncts().add(match4); d.getDisjuncts().add(match6); return d; } else { throw new VendorConversionException( "missing route filter list: \"" + _routeFilterName + "\""); } } }
_c.getRoute6FilterLists().put(name, rfl);
abstractConf.setIp6AccessLists(conf.getIp6AccessLists()); abstractConf.setRouteFilterLists(conf.getRouteFilterLists()); abstractConf.setRoute6FilterLists(conf.getRoute6FilterLists()); abstractConf.setIpsecPeerConfigs(conf.getIpsecPeerConfigs()); abstractConf.setIpsecPhase2Policies(conf.getIpsecPhase2Policies()); abstractConf.setCommunityLists(conf.getCommunityLists()); abstractConf.setRoutingPolicies(conf.getRoutingPolicies()); abstractConf.setRoute6FilterLists(conf.getRoute6FilterLists());
Route6FilterList localFilter6 = new Route6FilterList("~BGP_NETWORK6_NETWORKS_FILTER:" + vrfName + "~", lines); c.getRoute6FilterLists().put(localFilter6.getName(), localFilter6);
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);
c.getRoute6FilterLists().put(localFilter6Name, localFilter6);