Search in sources :

Example 26 with Result

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

the class MatchProtocol method evaluate.

@Override
public Result evaluate(Environment environment) {
    Result result = new Result();
    boolean value = environment.getOriginalRoute().getProtocol().equals(_protocol);
    result.setBooleanValue(value);
    return result;
}
Also used : Result(org.batfish.datamodel.routing_policy.Result)

Example 27 with Result

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

the class SetLocalPreference method execute.

@Override
public Result execute(Environment environment) {
    Result result = new Result();
    BgpRoute.Builder bgpBuilder = (BgpRoute.Builder) environment.getOutputRoute();
    int localPreference = _localPreference.evaluate(environment);
    bgpBuilder.setLocalPreference(localPreference);
    if (environment.getWriteToIntermediateBgpAttributes()) {
        environment.getIntermediateBgpAttributes().setLocalPreference(localPreference);
    }
    return result;
}
Also used : BgpRoute(org.batfish.datamodel.BgpRoute) Result(org.batfish.datamodel.routing_policy.Result)

Example 28 with Result

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

the class SetTag method execute.

@Override
public Result execute(Environment environment) {
    Result result = new Result();
    int tag = _tag.evaluate(environment);
    environment.getOutputRoute().setTag(tag);
    if (environment.getWriteToIntermediateBgpAttributes()) {
        environment.getIntermediateBgpAttributes().setTag(tag);
    }
    return result;
}
Also used : Result(org.batfish.datamodel.routing_policy.Result)

Example 29 with Result

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

the class MatchCommunitySet method evaluate.

@Override
public Result evaluate(Environment environment) {
    Result result = new Result();
    boolean match = false;
    SortedSet<Long> inputCommunities = null;
    if (environment.getUseOutputAttributes() && environment.getOutputRoute() instanceof BgpRoute.Builder) {
        BgpRoute.Builder bgpRouteBuilder = (BgpRoute.Builder) environment.getOutputRoute();
        inputCommunities = bgpRouteBuilder.getCommunities();
    } else if (environment.getReadFromIntermediateBgpAttributes()) {
        inputCommunities = environment.getIntermediateBgpAttributes().getCommunities();
    } else if (environment.getOriginalRoute() instanceof BgpRoute) {
        BgpRoute bgpRoute = (BgpRoute) environment.getOriginalRoute();
        inputCommunities = bgpRoute.getCommunities();
    }
    if (inputCommunities != null) {
        match = _expr.matchSingleCommunity(environment, inputCommunities);
    }
    result.setBooleanValue(match);
    return result;
}
Also used : BgpRoute(org.batfish.datamodel.BgpRoute) Result(org.batfish.datamodel.routing_policy.Result)

Example 30 with Result

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

the class MatchIpv4 method evaluate.

@Override
public Result evaluate(Environment environment) {
    boolean match = environment.getOriginalRoute() != null;
    Result result = new Result();
    result.setBooleanValue(match);
    return result;
}
Also used : 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