Search in sources :

Example 1 with StandardAccessListLine

use of org.batfish.representation.cisco.StandardAccessListLine in project batfish by batfish.

the class CiscoControlPlaneExtractor method exitStandard_access_list_tail.

@Override
public void exitStandard_access_list_tail(Standard_access_list_tailContext ctx) {
    LineAction action = toLineAction(ctx.ala);
    Ip srcIp = getIp(ctx.ipr);
    Ip srcWildcard = getWildcard(ctx.ipr);
    Set<Integer> dscps = new TreeSet<>();
    Set<Integer> ecns = new TreeSet<>();
    for (Standard_access_list_additional_featureContext feature : ctx.features) {
        if (feature.DSCP() != null) {
            int dscpType = toDscpType(feature.dscp_type());
            dscps.add(dscpType);
        } else if (feature.ECN() != null) {
            int ecn = toInteger(feature.ecn);
            ecns.add(ecn);
        }
    }
    String name;
    if (ctx.num != null) {
        name = ctx.num.getText();
    } else {
        name = getFullText(ctx).trim();
    }
    StandardAccessListLine line = new StandardAccessListLine(name, action, new IpWildcard(srcIp, srcWildcard), dscps, ecns);
    _currentStandardAcl.addLine(line);
}
Also used : LineAction(org.batfish.datamodel.LineAction) IpWildcard(org.batfish.datamodel.IpWildcard) Standard_access_list_additional_featureContext(org.batfish.grammar.cisco.CiscoParser.Standard_access_list_additional_featureContext) StandardAccessListLine(org.batfish.representation.cisco.StandardAccessListLine) TreeSet(java.util.TreeSet) Ip(org.batfish.datamodel.Ip) RoutePolicyNextHopIp(org.batfish.representation.cisco.RoutePolicyNextHopIp)

Aggregations

TreeSet (java.util.TreeSet)1 Ip (org.batfish.datamodel.Ip)1 IpWildcard (org.batfish.datamodel.IpWildcard)1 LineAction (org.batfish.datamodel.LineAction)1 Standard_access_list_additional_featureContext (org.batfish.grammar.cisco.CiscoParser.Standard_access_list_additional_featureContext)1 RoutePolicyNextHopIp (org.batfish.representation.cisco.RoutePolicyNextHopIp)1 StandardAccessListLine (org.batfish.representation.cisco.StandardAccessListLine)1