Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

如何评估路由策略子例程

图 1显示了如何评估子例程。该子例程包含在链中第一个路由策略的第一期内。每个路由都根据以下子例程进行评估:

  1. 路由根据第一个路由策略中的第一项评估。如果路由与子例程之前指定的所有匹配条件都不匹配,将跳过该子例程,并评估路由策略中的下一术语(请2参阅步骤)。如果路由与子例程之前指定的所有匹配条件匹配,则将根据子例程评估路由。如果路由符合任何子例程术语中的匹配条件,则按以下顺序发生两个级别的评估:

    1. 评估子例程术语中的操作。如果其中一个操作是接受的,则对子例程的评估结束,布尔值 TRUE 将返回给调用策略。如果其中一个操作被拒绝,将对子例程 end 和 FALSE 的评估返回给呼叫策略。

      如果accept子例程未指定rejectnext-policy操作,则使用默认策略指定的acceptreject操作,并且 TRUE 或 FALSE 的值将返回至上一段中所述的调用策略。

    2. 将评估呼叫策略的子路由匹配条件。在评估的这一部分中,TRUE 等于 match,而 FALSE 表示无匹配。如果该子例程对调用策略返回 TRUE,则调用策略的评估将继续。如果子例程为调用策略返回 FALSE,则对当前术语的评估将结束,并将评估下一期。

  2. 路由将根据第一个路由策略中的第二个术语进行评估。

如果将策略链指定为子例程,则整个链将用作单个子例程。与其他链一样,默认策略指定的操作仅在整个链不接受或拒绝路由时才执行。

如果某个术语定义了多个匹配条件(包括一个子例程),而路由与子例程之前指定的条件不匹配,则会终止对术语的评估,并且不会调用和评估该子例程。在这种情况下,未实施子路由中指定的操作,操控路由特征。

图 1: 路由策略子例程评估路由策略子例程评估