use of org.batfish.datamodel.Prefix in project batfish by batfish.
the class ConfigurationBuilder method enterPopsfrf_through.
@Override
public void enterPopsfrf_through(Popsfrf_throughContext ctx) {
if (_currentRouteFilterPrefix != null) {
// ipv4
Prefix throughPrefix = Prefix.parse(ctx.IP_PREFIX().getText());
Route4FilterLine line = new Route4FilterLineThrough(_currentRouteFilterPrefix, throughPrefix);
_currentRouteFilterLine = _currentRouteFilter.insertLine(line, Route4FilterLine.class);
} else if (_currentRoute6FilterPrefix != null) {
// ipv6
Prefix6 throughPrefix6 = new Prefix6(ctx.IPV6_PREFIX().getText());
Route6FilterLine line = new Route6FilterLineThrough(_currentRoute6FilterPrefix, throughPrefix6);
_currentRoute6FilterLine = _currentRouteFilter.insertLine(line, Route6FilterLine.class);
}
}
use of org.batfish.datamodel.Prefix in project batfish by batfish.
the class ConfigurationBuilder method exitPoplt_network.
@Override
public void exitPoplt_network(Poplt_networkContext ctx) {
Prefix prefix = Prefix.parse(ctx.network.getText());
_currentPrefixList.getPrefixes().add(prefix);
}
use of org.batfish.datamodel.Prefix in project batfish by batfish.
the class ConfigurationBuilder method enterRo_generate.
@Override
public void enterRo_generate(Ro_generateContext ctx) {
if (ctx.IP_PREFIX() != null) {
Prefix prefix = Prefix.parse(ctx.IP_PREFIX().getText());
Map<Prefix, GeneratedRoute> generatedRoutes = _currentRib.getGeneratedRoutes();
_currentGeneratedRoute = generatedRoutes.computeIfAbsent(prefix, GeneratedRoute::new);
} else if (ctx.IPV6_PREFIX() != null) {
// dummy generated route not added to configuration
_currentGeneratedRoute = new GeneratedRoute(null);
todo(ctx, F_IPV6);
}
}
use of org.batfish.datamodel.Prefix in project batfish by batfish.
the class ConfigurationBuilder method exitOa_area_range.
@Override
public void exitOa_area_range(FlatJuniperParser.Oa_area_rangeContext ctx) {
if (_currentAreaRangePrefix != null) {
OspfAreaSummary summary = new OspfAreaSummary(!_currentAreaRangeRestrict, _currentAreaRangeMetric);
Map<Prefix, OspfAreaSummary> summaries = _currentArea.getSummaries();
summaries.put(_currentAreaRangePrefix, summary);
} else {
todo(ctx, F_IPV6);
}
}
use of org.batfish.datamodel.Prefix in project batfish by batfish.
the class ConfigurationBuilder method enterOa_area_range.
@Override
public void enterOa_area_range(FlatJuniperParser.Oa_area_rangeContext ctx) {
// Set up defaults: no overridden metric, routes advertised.
_currentAreaRangeMetric = null;
_currentAreaRangePrefix = null;
_currentAreaRangeRestrict = false;
if (ctx.IP_PREFIX() != null) {
Prefix range = Prefix.parse(ctx.IP_PREFIX().getText());
_currentAreaRangePrefix = range;
} else {
todo(ctx, F_IPV6);
}
}
Aggregations