File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -17,11 +17,20 @@ def ipv4_unnumbered(node: Box) -> None:
1717 node = node ,
1818 category = log .IncorrectValue )
1919
20+ def vrf_route_leaking (node : Box ) -> None :
21+ for vname ,vdata in node .get ('vrfs' ,{}).items ():
22+ if '_leaked_routes' in vdata :
23+ report_quirk (
24+ text = f'We did not implement inter-VRF route leaking on SR/OS (node { node .name } vrf { vname } )' ,
25+ node = node ,
26+ category = log .IncorrectValue )
27+
2028class SROS (_Quirks ):
2129
2230 @classmethod
2331 def device_quirks (self , node : Box , topology : Box ) -> None :
2432 ipv4_unnumbered (node )
33+ vrf_route_leaking (node )
2534
2635 def check_config_sw (self , node : Box , topology : Box ) -> None :
2736 need_ansible_collection (node ,'nokia.grpc' ,version = '1.0.2' )
Original file line number Diff line number Diff line change @@ -290,6 +290,7 @@ def validate_vrf_route_leaking(node : Box) -> None:
290290 leaked_routes = vdata ['import' ] and vdata ['import' ] != simple_rt
291291 leaked_routes = leaked_routes or (vdata ['export' ] and vdata ['export' ] != simple_rt )
292292 if leaked_routes :
293+ vdata ._leaked_routes = True
293294 if not node .get ('bgp.as' ,None ):
294295 if node .get ('vrf.as' ,None ):
295296 node .bgp ['as' ] = node .vrf ['as' ]
Original file line number Diff line number Diff line change @@ -122,6 +122,7 @@ nodes:
122122 as : 65000
123123 vrfs :
124124 hub :
125+ _leaked_routes : true
125126 af :
126127 ipv4 : true
127128 bgp :
@@ -215,6 +216,7 @@ nodes:
215216 as : 65000
216217 vrfs :
217218 spoke :
219+ _leaked_routes : true
218220 af :
219221 ipv4 : true
220222 bgp :
Original file line number Diff line number Diff line change @@ -366,6 +366,7 @@ nodes:
366366 as : 65000
367367 vrfs :
368368 black :
369+ _leaked_routes : true
369370 af :
370371 ipv4 : true
371372 bgp :
You can’t perform that action at this time.
0 commit comments