Skip to content

Commit e568d0c

Browse files
netobanir12f
authored andcommitted
[topo] Add t1-isolated-d32u1s2 topology (#24521)
### Description of PR Summary: Add a new topology `t1-isolated-d32u1s2`, a reduced version of `t1-isolated-d508u1s2` with 32 T0 downlinks (instead of 508) plus the same 1 T2 uplink and 2 PT1 peers. Useful for scaled-down testbeds that still exercise the d508u1s2 layout shape without requiring 508 downlink VMs. Reduction rule applied to the 508 downlink panel ports (0..507): keep only the 1st and 25th port of every 32-port block (panel ports where `p % 32 in {0, 24}`). Uplink (508) and peer ports (509, 510) are unchanged. --------- Signed-off-by: r12f <r12f.code@gmail.com> Co-authored-by: r12f <r12f.code@gmail.com> Signed-off-by: mssonicbld <sonicbld@microsoft.com>
1 parent c358f07 commit e568d0c

7 files changed

Lines changed: 910 additions & 0 deletions

File tree

ansible/generate_topo.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,13 @@ def __contains__(self, key):
193193
"peer_ports": [509, 510],
194194
"skip_ports": [],
195195
"panel_port_step": 1},
196+
'd32u1s2': {"ds_breakout": 1, "us_breakout": 1, "ds_link_step": 1, "us_link_step": 1,
197+
"uplink_ports": [508],
198+
"peer_ports": [509, 510],
199+
# Reduced from d508u1s2: keep only the 1st and 25th downlink port of every
200+
# 32-port block (i.e. p % 32 in {0, 24}), giving 32 T0 downlinks total.
201+
"skip_ports": [p for p in range(508) if p % 32 not in (0, 24)],
202+
"panel_port_step": 1},
196203
}
197204

198205
overwrite_file_name = {
@@ -722,6 +729,7 @@ def main(role: str, keyword: str, template: str, port_count: int, uplinks: str,
722729
- ./generate_topo.py -r t1 -k isolated-v6 -t t1-isolated-v6 -c 64 -l 'c448o16-lag'
723730
- ./generate_topo.py -r t1 -k isolated-v6 -t t1-isolated-v6 -c 64 -l 'c448o16-lag-sparse'
724731
- ./generate_topo.py -r t1 -k isolated -t t1-isolated -c 509 -l 'd508u1s2'
732+
- ./generate_topo.py -r t1 -k isolated -t t1-isolated -c 509 -l 'd32u1s2' # 509 matches d508u1s2 IPs
725733
- ./generate_topo.py -r lt2 -k o128 -t lt2_128 -c 64 -l 'o128lt2'
726734
- ./generate_topo.py -r lt2 -k p32o64 -t lt2_p32o64 -c 64 -l 'p32o64lt2'
727735
- ./generate_topo.py -r t0 -k f2 -t t0 -c 64 -l 'p32v128f2'
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
t0-leaf.j2
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
t1-spine.j2
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
t1-tor.j2
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
t0-leaf.j2

ansible/templates/topo_t1-isolated.j2

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ configuration_properties:
2424
swrole: spine
2525
tor:
2626
swrole: tor
27+
pleaf:
28+
swrole: pleaf
2729

2830
configuration:
2931
{%- for vm in vm_list %}
@@ -35,6 +37,8 @@ configuration:
3537
tornum: {{vm.tornum}}
3638
{%- elif vm.role == 't2' %}
3739
- spine
40+
{%- elif vm.role == 'pt1' %}
41+
- pleaf
3842
{%- endif %}
3943
bgp:
4044
asn: {{vm.asn}}

0 commit comments

Comments
 (0)