Search in sources :

Example 16 with Prefix

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);
    }
}
Also used : Route6FilterLine(org.batfish.representation.juniper.Route6FilterLine) Route6FilterLineThrough(org.batfish.representation.juniper.Route6FilterLineThrough) Route4FilterLineThrough(org.batfish.representation.juniper.Route4FilterLineThrough) Route4FilterLine(org.batfish.representation.juniper.Route4FilterLine) Prefix(org.batfish.datamodel.Prefix) Prefix6(org.batfish.datamodel.Prefix6)

Example 17 with Prefix

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);
}
Also used : Prefix(org.batfish.datamodel.Prefix)

Example 18 with 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);
    }
}
Also used : GeneratedRoute(org.batfish.representation.juniper.GeneratedRoute) Prefix(org.batfish.datamodel.Prefix)

Example 19 with Prefix

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);
    }
}
Also used : OspfAreaSummary(org.batfish.datamodel.OspfAreaSummary) Prefix(org.batfish.datamodel.Prefix)

Example 20 with Prefix

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);
    }
}
Also used : Prefix(org.batfish.datamodel.Prefix)

Aggregations

Prefix (org.batfish.datamodel.Prefix)133 Ip (org.batfish.datamodel.Ip)53 Configuration (org.batfish.datamodel.Configuration)33 InterfaceAddress (org.batfish.datamodel.InterfaceAddress)29 Interface (org.batfish.datamodel.Interface)28 BatfishException (org.batfish.common.BatfishException)22 RoutingPolicy (org.batfish.datamodel.routing_policy.RoutingPolicy)20 SubRange (org.batfish.datamodel.SubRange)19 HashMap (java.util.HashMap)18 StaticRoute (org.batfish.datamodel.StaticRoute)18 Test (org.junit.Test)18 ArrayList (java.util.ArrayList)17 BgpNeighbor (org.batfish.datamodel.BgpNeighbor)17 BgpProcess (org.batfish.datamodel.BgpProcess)17 SortedSet (java.util.SortedSet)16 TreeSet (java.util.TreeSet)16 AbstractRoute (org.batfish.datamodel.AbstractRoute)16 RoutingProtocol (org.batfish.datamodel.RoutingProtocol)16 TreeMap (java.util.TreeMap)14 HashSet (java.util.HashSet)13