-
Notifications
You must be signed in to change notification settings - Fork 6
/
clos3.clab.gotmpl
61 lines (61 loc) · 2.03 KB
/
clos3.clab.gotmpl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
name: clos3
mgmt:
network: fixedips
ipv4-subnet: 172.100.100.0/24
ipv6-subnet: 2001:172:100:100::/80
mtu: 1500
topology:
defaults:
kind: linux
env:
COLLECTOR: sflow-rt
SAMPLING: {{ $.sflow.sampling }}
POLLING: {{ $.sflow.polling }}
nodes:
{{- range $leafIndex := seq 1 $.leaves.num }}
leaf{{ $leafIndex }}:
image: sflow/clab-frr
group: leaf
env:
LOCAL_AS: {{ add 65000 $leafIndex }}
NEIGHBORS:{{- range $spineIndex := seq 1 $.spines.num }} eth{{ $spineIndex}}{{- end }}
HOSTPORT: eth{{ add $.spines.num 1 }}
HOSTNET: 172.16.{{ $leafIndex }}.1/24
HOSTNET6: 2001:172:16:{{ $leafIndex }}::1/64
exec:
- touch /tmp/initialized
{{- end }}
{{- range $spineIndex := seq 1 $.spines.num }}
spine{{ $spineIndex }}:
image: sflow/clab-frr
group: spine
env:
LOCAL_AS: {{ add 65000 $.leaves.num 1 }}
NEIGHBORS:{{- range $leafIndex := seq 1 $.leaves.num }} eth{{ $leafIndex }}{{- end }}
exec:
- touch /tmp/initialized
{{- end }}
{{- range $leafIndex := seq 1 $.leaves.num }}
h{{ $leafIndex }}:
image: sflow/clab-iperf3
group: server
exec:
- ip addr add 172.16.{{ $leafIndex }}.2/24 dev eth1
- ip route add 172.16.0.0/16 via 172.16.{{ $leafIndex }}.1
- ip addr add 2001:172:16:{{ $leafIndex }}::2/64 dev eth1
- ip route add 2001:172:16::/48 via 2001:172:16:{{ $leafIndex }}::1
{{- end }}
sflow-rt:
image: sflow/clab-sflow-rt
ports:
- 8008:8008
links:
{{- range $spineIndex := seq 1 $.spines.num }}
{{- range $leafIndex := seq 1 $.leaves.num }}
- endpoints: ["spine{{ $spineIndex }}:eth{{ $leafIndex }}", "leaf{{ $leafIndex }}:eth{{ $spineIndex }}"]
{{- end }}
{{- end }}
{{- range $leafIndex := seq 1 $.leaves.num }}
- endpoints: ["leaf{{ $leafIndex }}:eth{{ add $.spines.num 1 }}", "h{{ $leafIndex }}:eth1"]
mtu: 1500
{{- end }}