]>
git.proxmox.com Git - mirror_frr.git/blob - tests/topotests/bgp_l3vpn_to_bgp_vrf/scripts/scale_up.py
1 from lib
. lutil
import luCommand
, luLast
4 b
= int ( num
/ ( 256 * 256 ))
6 r
= num
- b
* ( 256 * 256 )
17 rtrs
= [ "ce1" , "ce2" , "ce3" , "r1" , "r2" , "r3" , "r4" ]
19 mem_z
[ rtr
] = { "value" : 0 , "units" : "unknown" }
20 mem_b
[ rtr
] = { "value" : 0 , "units" : "unknown" }
23 'vtysh -c "show memory"' ,
24 r
"zebra: System allocator statistics: Total heap allocated: *(\d*) ([A-Za-z]*) .*bgpd: System allocator statistics: Total heap allocated: *(\d*) ([A-Za-z]*)" ,
26 "collect bgpd memory stats" ,
29 if ret
!= False and found
!= None :
30 mem_z
[ rtr
] = { "value" : int ( found
. group ( 1 )), "units" : found
. group ( 2 )}
31 mem_b
[ rtr
] = { "value" : int ( found
. group ( 3 )), "units" : found
. group ( 4 )}
34 "ce1" , 'vtysh -c "show mem"' , "qmem sharpd" , "none" , "check if sharpd running"
38 if ret
!= False and found
!= None :
39 if len ( found
. group ()):
45 'vtysh -c "sharp data nexthop"' ,
48 "sharpd NOT running, skipping test" ,
53 'vtysh -c "sharp install routes 10.0.0.0 nexthop 99.0.0.1 {}"' . format ( num
),
56 "Adding {} routes" . format ( num
),
60 'vtysh -c "sharp install routes 10.0.0.0 nexthop 99.0.0.2 {}"' . format ( num
),
63 "Adding {} routes" . format ( num
),
67 'vtysh -c "show ip route summ" | grep "sharp" | cut -d " " -f 33' ,
70 "See all sharp routes in rib on ce1" ,
76 'vtysh -c "show ip route summ" | grep "sharp" | cut -d " " -f 33' ,
79 "See all sharp routes in rib on ce2" ,
84 rtrs
= [ "ce1" , "ce2" , "ce3" ]
88 'vtysh -c "show bgp ipv4 uni 10.{}.{}.{}"' . format ( b
, c
, d
),
91 "RXed last route, 10.{}.{}.{}" . format ( b
, c
, d
),
97 'vtysh -c "show bgp ipv4 uni" | grep -c 10 \\ . \\ */32' ,
100 "See all sharp routes in BGP" ,
106 'vtysh -c "show bgp vrf r1-cust1 ipv4 uni 10.{}.{}.{}"' . format ( b
, c
, d
),
109 "RXed -> 10.{}.{}.{} from CE1" . format ( b
, c
, d
),
115 'vtysh -c "show bgp vrf r3-cust1 ipv4 uni 10.{}.{}.{}"' . format ( b
, c
, d
),
118 "RXed -> 10.{}.{}.{} from CE2" . format ( b
, c
, d
),
124 'vtysh -c "show bgp ipv4 vpn 10.{}.{}.{}"' . format ( b
, c
, d
),
127 "see VPN safi -> 10.{}.{}.{} from CE1" . format ( b
, c
, d
),
131 'vtysh -c "show bgp ipv4 vpn 10.{}.{}.{}"' . format ( b
, c
, d
),
134 "see VPN safi -> 10.{}.{}.{} from CE2" . format ( b
, c
, d
),
138 'vtysh -c "show bgp ipv4 vpn 10.{}.{}.{}"' . format ( b
, c
, d
),
141 "see VPN safi -> 10.{}.{}.{} from CE1" . format ( b
, c
, d
),
145 'vtysh -c "show bgp ipv4 vpn 10.{}.{}.{}"' . format ( b
, c
, d
),
148 "see VPN safi -> 10.{}.{}.{} from CE2" . format ( b
, c
, d
),
152 'vtysh -c "show bgp ipv4 vpn 10.{}.{}.{}"' . format ( b
, c
, d
),
155 "see VPN safi -> 10.{}.{}.{} from CE1" . format ( b
, c
, d
),
159 'vtysh -c "show bgp ipv4 vpn 10.{}.{}.{}"' . format ( b
, c
, d
),
162 "see VPN safi -> 10.{}.{}.{} from CE2" . format ( b
, c
, d
),
164 rtrs
= [ "ce1" , "ce2" , "ce3" ]
168 "ip route get 10.{}.{}.{}" . format ( b
, c
, d
),
171 "Route to 10.{}.{}.{} available" . format ( b
, c
, d
),
177 "ip route show | grep -c \\ ^10 \\ ." ,
180 "See {} linux routes" . format ( num
),
185 rtrs
= [ "r1" , "r3" , "r4" ]
189 "ip route get vrf {}-cust1 10.{}.{}.{}" . format ( rtr
, b
, c
, d
),
192 "VRF route available" ,
198 "ip route show vrf {}-cust1 | grep -c \\ ^10 \\ ." . format ( rtr
),
201 "See {} linux routes" . format ( num
),
205 rtrs
= [ "ce1" , "ce2" , "ce3" , "r1" , "r2" , "r3" , "r4" ]
209 'vtysh -c "show memory"' ,
210 r
"zebra: System allocator statistics: Total heap allocated: *(\d*) ([A-Za-z]*) .*bgpd: System allocator statistics: Total heap allocated: *(\d*) ([A-Za-z]*)" ,
212 "collect bgpd memory stats" ,
215 if ret
!= False and found
!= None :
216 val_z
= int ( found
. group ( 1 ))
217 if mem_z
[ rtr
][ "units" ] != found
. group ( 2 ):
219 delta_z
= val_z
- int ( mem_z
[ rtr
][ "value" ])
220 ave_z
= float ( delta_z
) / float ( num
)
222 val_b
= int ( found
. group ( 3 ))
223 if mem_b
[ rtr
][ "units" ] != found
. group ( 4 ):
225 delta_b
= val_b
- int ( mem_b
[ rtr
][ "value" ])
226 ave_b
= float ( delta_b
) / float ( num
)
229 'vtysh -c "show thread cpu"' ,
232 "BGPd heap: {0} {1} --> {2} {3} ( {4} {1} /vpn route)" . format (
242 'vtysh -c "show thread cpu"' ,
245 "Zebra heap: {0} {1} --> {2} {3} ( {4} {1} /vpn route)" . format (