Cómo se evalúa una subrutina de directiva de enrutamiento
Figura 1 muestra cómo se evalúa una subrutina. La subrutina se incluye en el primer término de la primera política de enrutamiento de una cadena. Cada ruta se evalúa contra la subrutina de la siguiente manera:
La ruta se evalúa con respecto al primer término de la primera directiva de enrutamiento. Si la ruta no coincide con todas las condiciones de coincidencia especificadas antes de la subrutina, se omite la subrutina y se evalúa el siguiente término de la directiva de enrutamiento (consulte Paso 2). Si la ruta coincide con todas las condiciones de coincidencia especificadas antes de la subrutina, la ruta se evalúa con respecto a la subrutina. Si la ruta coincide con las condiciones de coincidencia en cualquiera de los términos de la subrutina, se producen dos niveles de evaluación en el siguiente orden:
Se evalúan las acciones en el término de subrutina. Si se acepta una de las acciones, finaliza la evaluación de la subrutina y se devuelve un valor booleano de TRUE a la directiva de llamadas. Si se rechaza una de las acciones, finaliza la evaluación de la subrutina y se devuelve FALSE a la política de llamadas.
Si la subrutina no especifica la
accept
acción ,reject
onext-policy
utiliza laaccept
acción oreject
especificada por la directiva predeterminada y los valores de TRUE o FALSE se devuelven a la política de llamada como se describe en el párrafo anterior.Se evalúa la condición de coincidencia de subrutina de la política de llamadas. Durante esta parte de la evaluación, TRUE es igual a una coincidencia y FALSE es igual a ninguna coincidencia. Si la subrutina devuelve TRUE a la política de llamadas, la evaluación de la política de llamadas continúa. Si la subrutina devuelve FALSE a la política de llamadas, la evaluación del término actual finaliza y se evalúa el siguiente término.
La ruta se evalúa con respecto al segundo término de la primera política de enrutamiento.
Si especifica una cadena de políticas como subrutina, toda la cadena actúa como una sola subrutina. Al igual que con otras cadenas, la acción especificada por la política predeterminada solo se realiza cuando toda la cadena no acepta o rechaza una ruta.
Si un término define varias condiciones de coincidencia, incluida una subrutina, y una ruta no coincide con una condición especificada antes de la subrutina, la evaluación del término finaliza y la subrutina no se llama ni se evalúa. En esta situación, no se implementa una acción especificada en la subrutina que manipula las características de una ruta.