@@ -27,7 +27,7 @@ def announce_routes(ptfip, port, routes):
2727def generate_routes (family , podset_number , tor_number , tor_subnet_number ,
2828 spine_asn , leaf_asn_start , tor_asn_start ,
2929 nexthop , nexthop_v6 ,
30- tor_subnet_size = 128 , max_tor_subnet_number = 16 ,
30+ tor_subnet_size , max_tor_subnet_number ,
3131 router_type = "leaf" , tor_index = None ):
3232 routes = []
3333
@@ -99,20 +99,23 @@ def generate_routes(family, podset_number, tor_number, tor_subnet_number,
9999def fib_t0 (ptfhost , tbinfo , localhost , topology = None ):
100100 logger .info ("use fib_t0 to setup routes for topo {}" .format (tbinfo ['topo' ]['name' ]))
101101
102- podset_number = 200
103- tor_number = 16
104- tor_subnet_number = 2
105-
106102 common_config_topo = tbinfo ['topo' ]['properties' ]['configuration_properties' ]['common' ]
103+ podset_number = common_config_topo .get ("podset_number" , 200 )
104+ tor_number = common_config_topo .get ("tor_number" , 16 )
105+ tor_subnet_number = common_config_topo .get ("tor_subnet_number" , 2 )
106+ max_tor_subnet_number = common_config_topo .get ("max_tor_subnet_number" , 16 )
107+ tor_subnet_size = common_config_topo .get ("tor_subnet_size" , 128 )
108+ nhipv4 = common_config_topo .get ("nhipv4" , "10.10.246.254" )
109+ nhipv6 = common_config_topo .get ("nhipv6" , "fc0a::ff" )
107110 spine_asn = common_config_topo .get ("spine_asn" , 65534 )
108111 leaf_asn_start = common_config_topo .get ("leaf_asn_start" , 64600 )
109112 tor_asn_start = common_config_topo .get ("tor_asn_start" , 65500 )
110113
111114 ptf_hostname = tbinfo ['ptf' ]
112115 ptfip = ptfhost .host .options ['inventory_manager' ].get_host (ptf_hostname ).vars ['ansible_host' ]
113116
114- local_ip = ipaddress .IPAddress ("10.10.246.254" )
115- local_ipv6 = ipaddress .IPAddress ("fc0a::ff" )
117+ local_ip = ipaddress .IPAddress (nhipv4 )
118+ local_ipv6 = ipaddress .IPAddress (nhipv6 )
116119 for k , v in tbinfo ['topo' ]['properties' ]['configuration' ].items ():
117120 vm_offset = tbinfo ['topo' ]['properties' ]['topology' ]['VMs' ][k ]['vm_offset' ]
118121 peer_ip = ipaddress .IPNetwork (v ['bp_interface' ]['ipv4' ])
@@ -155,10 +158,10 @@ def fib_t0(ptfhost, tbinfo, localhost, topology=None):
155158
156159 routes_v4 = generate_routes ("v4" , podset_number , tor_number , tor_subnet_number ,
157160 spine_asn , leaf_asn_start , tor_asn_start ,
158- local_ip , local_ipv6 )
161+ local_ip , local_ipv6 , tor_subnet_size , max_tor_subnet_number )
159162 routes_v6 = generate_routes ("v6" , podset_number , tor_number , tor_subnet_number ,
160163 spine_asn , leaf_asn_start , tor_asn_start ,
161- local_ip , local_ipv6 )
164+ local_ip , local_ipv6 , tor_subnet_size , max_tor_subnet_number )
162165
163166 announce_routes (ptfip , port , routes_v4 )
164167 announce_routes (ptfip , port6 , routes_v6 )
@@ -167,18 +170,22 @@ def fib_t0(ptfhost, tbinfo, localhost, topology=None):
167170def fib_t1_lag (ptfhost , tbinfo , localhost ):
168171 logger .info ("use fib_t1_lag to setup routes for topo {}" .format (tbinfo ['topo' ]['name' ]))
169172
170- podset_number = 200
171- tor_number = 16
172- tor_subnet_number = 2
173-
174- leaf_asn_start = 64600
175- tor_asn_start = 65500
173+ common_config_topo = tbinfo ['topo' ]['properties' ]['configuration_properties' ]['common' ]
174+ podset_number = common_config_topo .get ("podset_number" , 200 )
175+ tor_number = common_config_topo .get ("tor_number" , 16 )
176+ tor_subnet_number = common_config_topo .get ("tor_subnet_number" , 2 )
177+ max_tor_subnet_number = common_config_topo .get ("max_tor_subnet_number" , 16 )
178+ tor_subnet_size = common_config_topo .get ("tor_subnet_size" , 128 )
179+ nhipv4 = common_config_topo .get ("nhipv4" , "10.10.246.254" )
180+ nhipv6 = common_config_topo .get ("nhipv6" , "fc0a::ff" )
181+ leaf_asn_start = common_config_topo .get ("leaf_asn_start" , 64600 )
182+ tor_asn_start = common_config_topo .get ("tor_asn_start" , 65500 )
176183
177184 ptf_hostname = tbinfo ['ptf' ]
178185 ptfip = ptfhost .host .options ['inventory_manager' ].get_host (ptf_hostname ).vars ['ansible_host' ]
179186
180- local_ip = ipaddress .IPAddress ("10.10.246.254" )
181- local_ipv6 = ipaddress .IPAddress ("fc0a::ff" )
187+ local_ip = ipaddress .IPAddress (nhipv4 )
188+ local_ipv6 = ipaddress .IPAddress (nhipv6 )
182189
183190 for k , v in tbinfo ['topo' ]['properties' ]['configuration' ].items ():
184191 vm_offset = tbinfo ['topo' ]['properties' ]['topology' ]['VMs' ][k ]['vm_offset' ]
@@ -231,10 +238,12 @@ def fib_t1_lag(ptfhost, tbinfo, localhost):
231238 if router_type :
232239 routes_v4 = generate_routes ("v4" , podset_number , tor_number , tor_subnet_number ,
233240 None , leaf_asn_start , tor_asn_start ,
234- local_ip , local_ipv6 , router_type = router_type , tor_index = tor_index )
241+ local_ip , local_ipv6 , tor_subnet_size , max_tor_subnet_number ,
242+ router_type = router_type , tor_index = tor_index )
235243 routes_v6 = generate_routes ("v6" , podset_number , tor_number , tor_subnet_number ,
236244 None , leaf_asn_start , tor_asn_start ,
237- local_ip , local_ipv6 , router_type = router_type , tor_index = tor_index )
245+ local_ip , local_ipv6 , tor_subnet_size , max_tor_subnet_number ,
246+ router_type = router_type , tor_index = tor_index )
238247 announce_routes (ptfip , port , routes_v4 )
239248 announce_routes (ptfip , port6 , routes_v6 )
240249
0 commit comments