点赞+关注,每日分享数通知识~
OSPF下发缺省路由有以下几种情况:
非条件产生,表示调用路由策略时不进行 if-match 匹配
default-route-advertise route-policy test
非强制下发缺省路由,并修改缺省路由的属性
注意:不能进行if-match 匹配,否则缺省路由无法下发
default-route-advertise alway route-policy test
强制下发缺省路由,并修改缺省路由的属性
条件产生,表示调用路由策略时需要进行 if-match 匹配
default-route-advertise route-policy test match-any
举例:
route-policy test permit node 10
if-match ip-prefix test 即存在1.1.1.0/24路由
if-match cost 7 并且1.1.1.0/24 cost为7,才满足条件
apply cost 100
apply cost-type type-1
apply tag 100
ip ip-prefix test index 10 permit 1.1.1.0 24
route-policy test permit node 10
if-match ip-prefix test
if-match cost 7
apply cost 100
apply cost-type type-1
apply tag 100
ip ip-prefix test index 10 permit 1.1.1.0 24
ip ip-prefix test index 10 permit 1.1.2.0 24
只要两个if-match语句各自有一个匹配的条件存在,即下发缺省路由,比如1.1.1.0 /24存在,但1.1.2.0 /24失效,但只要1.1.1.0 /24 开销等7,也满足条件;如果1.1.1.0 /24和1.1.2.0 /24都存在,只要其中一条路由 cost 等于7 也满足条件。
route-policy test permit node 10
if-match ip-prefx 1
apply cost-type 2
apply cost 5
apply tag 100
route-policy test permit node 20
if-match ip-prefix 2
apply cost 10
apply cost-type type-2
apply tag 50
如果条件满足多个Node语句,缺省路由属性的生效机制:
注意:没有always参数,只要满足条件就下发缺省,不满足条件就不下发
default-route-advertise always route-policy test match-any
当路由表中存在其他进程的缺省路由时,下发缺省路由,只有当条件路由满足irmatch语句,才能修改tag,cost,type属性,否则无法修改。if-match语句决定了apply语句是否生效,不决定缺省路由是否下发;
当路由表中不存在其他进程的缺省路由时,下发缺省路由,只有当条件路由满足if-match语句,才能修改tag,cost,type属性,否则无法修改。
总结:总是下发缺省路由,如果满足if-match语句 则根据apply语句对缺省路由的属性做修改,如果不满足if-match语句,则按缺省路由默认属性下发缺省路由。