Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions ansible/group_vars/leaf_topo_1/topo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
podset_number : 200
tor_number : 16
tor_subnet_number : 2
leaf_asn_start : 62001
tor_asn_start : 65501
failure_rate : 0
local_tor_subnet_number : 5
3 changes: 3 additions & 0 deletions ansible/inventory
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,8 @@ switch2 ansible_host=10.0.0.101 sonic_version=v2 sonic_hwsku=ACS-MSN2700
[sonic:children]
sonic_latest

[leaf_topo_1]
switch1

[ptf]
ptf-1 ansible_host=10.0.0.200 ansible_ssh_user=root ansible_ssh_pass=password
4 changes: 2 additions & 2 deletions ansible/roles/eos/templates/tor.j2
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ ipv6 unicast-routing
!
ip route 0.0.0.0/0 {{ minigraph_mgmt_interface["gwaddr"] }}
!
{% for subnet in range(0, tor_subnet_number) %}
{% for subnet in range(0, local_tor_subnet_number) %}
ip route 172.16.{{ tornum }}.{{ subnet }}/32 {{ nhipv4 }}
ipv6 route 20AC:10{{ '%02X' % tornum }}:0:{{ '%02X' % subnet }}::/64 {{ nhipv6 }}
{% endfor %}
Expand Down Expand Up @@ -72,7 +72,7 @@ router bgp {{ minigraph_bgp_asn }}
network {{ lo['addr'] }}/{{ lo['prefixlen'] }}
{% endfor %}

{% for subnet in range(0, tor_subnet_number) %}
{% for subnet in range(0, local_tor_subnet_number) %}
network 172.16.{{ tornum }}.{{ subnet }}/32
network 20AC:10{{ '%02X' % tornum }}:0:{{ '%02X' % subnet }}::/64
{% endfor %}
Expand Down
34 changes: 34 additions & 0 deletions ansible/roles/sonicv2/files/ssw/ACS-MSN2700/alias_reverse_map.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"Ethernet8": "Ethernet8",
"Ethernet0": "Ethernet0",
"Ethernet4": "Ethernet4",
"Ethernet108": "Ethernet108",
"Ethernet100": "Ethernet100",
"Ethernet104": "Ethernet104",
"Ethernet96": "Ethernet96",
"Ethernet124": "Ethernet124",
"Ethernet120": "Ethernet120",
"Ethernet92": "Ethernet92",
"Ethernet28": "Ethernet28",
"Ethernet52": "Ethernet52",
"Ethernet56": "Ethernet56",
"Ethernet76": "Ethernet76",
"Ethernet72": "Ethernet72",
"Ethernet32": "Ethernet32",
"Ethernet16": "Ethernet16",
"Ethernet36": "Ethernet36",
"Ethernet12": "Ethernet12",
"Ethernet88": "Ethernet88",
"Ethernet24": "Ethernet24",
"Ethernet116": "Ethernet116",
"Ethernet80": "Ethernet80",
"Ethernet112": "Ethernet112",
"Ethernet84": "Ethernet84",
"Ethernet48": "Ethernet48",
"Ethernet44": "Ethernet44",
"Ethernet40": "Ethernet40",
"Ethernet64": "Ethernet64",
"Ethernet60": "Ethernet60",
"Ethernet20": "Ethernet20",
"Ethernet68": "Ethernet68"
}
34 changes: 34 additions & 0 deletions ansible/roles/sonicv2/files/ssw/ACS-S6000/alias_reverse_map.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"fortyGigE0/8" : "Ethernet8",
"fortyGigE0/0" : "Ethernet0",
"fortyGigE0/4" : "Ethernet4",
"fortyGigE0/108" : "Ethernet108",
"fortyGigE0/100" : "Ethernet100",
"fortyGigE0/104" : "Ethernet104",
"fortyGigE0/96" : "Ethernet96",
"fortyGigE0/124" : "Ethernet124",
"fortyGigE0/120" : "Ethernet120",
"fortyGigE0/92" : "Ethernet92",
"fortyGigE0/28" : "Ethernet28",
"fortyGigE0/52" : "Ethernet52",
"fortyGigE0/56" : "Ethernet56",
"fortyGigE0/76" : "Ethernet76",
"fortyGigE0/72" : "Ethernet72",
"fortyGigE0/32" : "Ethernet32",
"fortyGigE0/16" : "Ethernet16",
"fortyGigE0/36" : "Ethernet36",
"fortyGigE0/12" : "Ethernet12",
"fortyGigE0/88" : "Ethernet88",
"fortyGigE0/24" : "Ethernet24",
"fortyGigE0/116" : "Ethernet116",
"fortyGigE0/80" : "Ethernet80",
"fortyGigE0/112" : "Ethernet112",
"fortyGigE0/84" : "Ethernet84",
"fortyGigE0/48" : "Ethernet48",
"fortyGigE0/44" : "Ethernet44",
"fortyGigE0/40" : "Ethernet40",
"fortyGigE0/64" : "Ethernet64",
"fortyGigE0/60" : "Ethernet60",
"fortyGigE0/20" : "Ethernet20",
"fortyGigE0/68" : "Ethernet68"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"Ethernet3/1" : "Ethernet8",
"Ethernet1/1" : "Ethernet0",
"Ethernet2/1" : "Ethernet4",
"Ethernet28" : "Ethernet108",
"Ethernet26" : "Ethernet100",
"Ethernet27" : "Ethernet104",
"Ethernet25" : "Ethernet96",
"Ethernet32" : "Ethernet124",
"Ethernet31" : "Ethernet120",
"Ethernet24/1" : "Ethernet92",
"Ethernet8/1" : "Ethernet28",
"Ethernet14/1" : "Ethernet52",
"Ethernet15/1" : "Ethernet56",
"Ethernet20/1" : "Ethernet76",
"Ethernet19/1" : "Ethernet72",
"Ethernet9/1" : "Ethernet32",
"Ethernet5/1" : "Ethernet16",
"Ethernet10/1" : "Ethernet36",
"Ethernet4/1" : "Ethernet12",
"Ethernet23/1" : "Ethernet88",
"Ethernet7/1" : "Ethernet24",
"Ethernet30" : "Ethernet116",
"Ethernet21/1" : "Ethernet80",
"Ethernet29" : "Ethernet112",
"Ethernet22/1" : "Ethernet84",
"Ethernet13/1" : "Ethernet48",
"Ethernet12/1" : "Ethernet44",
"Ethernet11/1" : "Ethernet40",
"Ethernet17/1" : "Ethernet64",
"Ethernet16/1" : "Ethernet60",
"Ethernet6/1" : "Ethernet20",
"Ethernet18/1" : "Ethernet68"
}
17 changes: 17 additions & 0 deletions ansible/roles/test/tasks/fib.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Gather minigraph facts
- name: Gathering minigraph facts about the device
minigraph_facts: host={{ inventory_hostname }}
become: no
connection: local

- name: Print neighbors in minigraph
debug: msg="{{ minigraph_neighbors }}"

- name: Read port reverse alias mapping
set_fact:
alias_reverse_map: "{{ lookup('file', 'roles/sonicv2/files/ssw/{{ sonic_hwsku }}/alias_reverse_map.json') | from_json }}"

- debug: msg="{{ alias_reverse_map }}"

- template: src=fib.j2 dest=/tmp/fib.txt
connection: local
4 changes: 3 additions & 1 deletion ansible/roles/test/tasks/sonic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,4 +54,6 @@
include: arpall.yml
tags: arp


- name: Fib test
include: fib.yml
tags: fib
21 changes: 21 additions & 0 deletions ansible/roles/test/templates/fib.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{# routes to spines #}
{% for podset in range(0, podset_number) %}
{% for tor in range(0, tor_number) %}
{% for subnet in range(0, tor_subnet_number) %}
192.168.{{ podset }}.{{ tor * 16 + subnet }}/32 {% for ifname, v in minigraph_neighbors.iteritems() %}{% if "T2" in v.name %}{{ alias_reverse_map[ifname] }},{% endif %}{% endfor %}

20C0:A8{{ '%02X' % podset }}:0:{{ '%02X' % (tor * 16 + subnet)}}::/64 {% for ifname, v in minigraph_neighbors.iteritems() %}{% if "T2" in v.name %}{{ alias_reverse_map[ifname] }},{% endif %}{% endfor %}

{% endfor %}
{% endfor %}
{% endfor %}

{# routes to tor #}
{% for ifname, v in minigraph_neighbors.iteritems() %}
{% if "T0" in v.name %}
{% for subnet in range(0, local_tor_subnet_number) %}
172.16.{{ v.name|replace("ARISTA", "")|replace("T0", "") }}.{{ subnet }}/32 {{ alias_reverse_map[ifname] }}
20AC:10{{ '%02X' % v.name|replace("ARISTA", "")|replace("T0", "")|int }}:0:{{ '%02X' % subnet }}::/64 {{ alias_reverse_map[ifname] }}
{% endfor %}
{% endif %}
{% endfor %}
10 changes: 3 additions & 7 deletions ansible/veos
Original file line number Diff line number Diff line change
Expand Up @@ -88,12 +88,6 @@ spine_4

[spine:vars]
swrole=spine
podset_number=200
tor_number=16
tor_subnet_number=2
leaf_asn_start=62001
tor_asn_start=65501
failure_rate=0

[tor_1]
10.255.0.222 hostname=ARISTA01T0 filename=01-ARISTA01T0.xml tornum=1
Expand Down Expand Up @@ -175,12 +169,14 @@ tor_4

[tor:vars]
swrole=tor
tor_subnet_number=5

[eos:children]
spine
tor

[leaf_topo_1:children]
eos

[eos:vars]
nhipv4=10.10.246.100
nhipv6=FC0A::C9
Expand Down