A cooperative's BGP export statement lists three policies in order: FILTER-MARTIANS, LIMIT-SUBSCRIBER-BLOCKS, then ADVERTISE-DEFAULT. A route matches a terminating term in LIMIT-SUBSCRIBER-BLOCKS. What happens to that route with respect to ADVERTISE-DEFAULT?
Select an answer to reveal the explanation.
Short Explanation
A policy chain works like a checklist read top to bottom, and the moment a terminating action fires anywhere in it, the checklist stops being read. If LIMIT-SUBSCRIBER-BLOCKS accepts or rejects the route outright, ADVERTISE-DEFAULT further down never even gets consulted for that route. Policies further along only matter for routes nobody upstream has already decided.
Full Explanation
Policies in an import or export chain are evaluated strictly in the order they are listed, and once a route matches a term with a terminating action, either accept or reject, evaluation of that route stops entirely, meaning any policy listed later in the chain, such as ADVERTISE-DEFAULT here, never sees that route at all. This ordering is exactly why a cooperative places a filter like FILTER-MARTIANS first and a broad catch-all like ADVERTISE-DEFAULT last, so specific exceptions are resolved before the general rule ever gets a chance to run. The claim that every listed policy always runs is wrong because it assumes each policy unconditionally evaluates every route, which ignores the terminating behavior of accept and reject that ends the chain early for matched routes. The merging distractor invents a blending of outcomes that Junos does not perform; only one terminating action ever applies to a given route, there is no combination of multiple policies' actions. Limiting the skip to a rejection is close but backwards in its specificity: ADVERTISE-DEFAULT is skipped whenever LIMIT-SUBSCRIBER-BLOCKS terminates the route with either accept or reject, not only on reject, since both are terminating outcomes. A caveat is that a route only reaches a later policy if an earlier one used a non-terminating action like next policy, or simply fell through without any term matching. A concrete check is show route advertising-protocol bgp <neighbor> alongside then count actions temporarily added to each policy to see exactly where a given prefix was resolved.