Search in sources :

Example 16 with Result

use of org.batfish.datamodel.routing_policy.Result in project batfish by batfish.

the class MatchIpAccessList method evaluate.

@Override
public Result evaluate(Environment environment) {
    Result result = new Result();
    IpAccessList list = environment.getConfiguration().getIpAccessLists().get(_list);
    if (list != null) {
    // TODO
    } else {
        environment.setError(true);
        result.setBooleanValue(false);
        return result;
    }
    throw new UnsupportedOperationException("no implementation for generated method");
}
Also used : IpAccessList(org.batfish.datamodel.IpAccessList) Result(org.batfish.datamodel.routing_policy.Result)

Example 17 with Result

use of org.batfish.datamodel.routing_policy.Result in project batfish by batfish.

the class MatchIpv6 method evaluate.

@Override
public Result evaluate(Environment environment) {
    boolean match = environment.getOriginalRoute6() != null;
    Result result = new Result();
    result.setBooleanValue(match);
    return result;
}
Also used : Result(org.batfish.datamodel.routing_policy.Result)

Example 18 with Result

use of org.batfish.datamodel.routing_policy.Result in project batfish by batfish.

the class DisjunctionChain method evaluate.

@Override
public Result evaluate(Environment environment) {
    Result subroutineResult = new Result();
    subroutineResult.setFallThrough(true);
    for (BooleanExpr subroutine : _subroutines) {
        subroutineResult = subroutine.evaluate(environment);
        if (subroutineResult.getExit()) {
            return subroutineResult;
        } else if (!subroutineResult.getFallThrough() && subroutineResult.getBooleanValue()) {
            subroutineResult.setReturn(true);
            return subroutineResult;
        }
    }
    if (!subroutineResult.getFallThrough()) {
        return subroutineResult;
    } else {
        String defaultPolicy = environment.getDefaultPolicy();
        if (defaultPolicy != null) {
            CallExpr callDefaultPolicy = new CallExpr(environment.getDefaultPolicy());
            Result defaultPolicyResult = callDefaultPolicy.evaluate(environment);
            return defaultPolicyResult;
        } else {
            throw new BatfishException("Default policy not set");
        }
    }
}
Also used : BatfishException(org.batfish.common.BatfishException) Result(org.batfish.datamodel.routing_policy.Result)

Example 19 with Result

use of org.batfish.datamodel.routing_policy.Result in project batfish by batfish.

the class Disjunction method evaluate.

@Override
public Result evaluate(Environment environment) {
    for (BooleanExpr disjunct : _disjuncts) {
        Result disjunctResult = disjunct.evaluate(environment);
        if (disjunctResult.getExit()) {
            return disjunctResult;
        } else if (disjunctResult.getBooleanValue()) {
            disjunctResult.setReturn(false);
            return disjunctResult;
        }
    }
    Result result = new Result();
    result.setBooleanValue(false);
    return result;
}
Also used : Result(org.batfish.datamodel.routing_policy.Result)

Example 20 with Result

use of org.batfish.datamodel.routing_policy.Result in project batfish by batfish.

the class DeleteCommunity method execute.

@Override
public Result execute(Environment environment) {
    BgpRoute.Builder outputRouteBuilder = (BgpRoute.Builder) environment.getOutputRoute();
    SortedSet<Long> currentCommunities = outputRouteBuilder.getCommunities();
    SortedSet<Long> matchingCommunities = _expr.communities(environment, currentCommunities);
    outputRouteBuilder.getCommunities().removeAll(matchingCommunities);
    Result result = new Result();
    return result;
}
Also used : BgpRoute(org.batfish.datamodel.BgpRoute) Result(org.batfish.datamodel.routing_policy.Result)

Aggregations

Result (org.batfish.datamodel.routing_policy.Result)30 BgpRoute (org.batfish.datamodel.BgpRoute)8 BatfishException (org.batfish.common.BatfishException)2 RoutingPolicy (org.batfish.datamodel.routing_policy.RoutingPolicy)2 ImmutableSortedSet (com.google.common.collect.ImmutableSortedSet)1 SortedSet (java.util.SortedSet)1 Ip6AccessList (org.batfish.datamodel.Ip6AccessList)1 IpAccessList (org.batfish.datamodel.IpAccessList)1 IsisLevel (org.batfish.datamodel.IsisLevel)1 IsisRoute (org.batfish.datamodel.IsisRoute)1 OriginType (org.batfish.datamodel.OriginType)1 OspfExternalRoute (org.batfish.datamodel.OspfExternalRoute)1 Prefix (org.batfish.datamodel.Prefix)1 Prefix6 (org.batfish.datamodel.Prefix6)1