diff --git a/Makefile b/Makefile index 6b50d50c..c300f5bc 100644 --- a/Makefile +++ b/Makefile @@ -29,6 +29,9 @@ MAX_RETRIES := 30 # Machine flavors ifeq ($(MINI_LAB_FLAVOR),sonic) LAB_TOPOLOGY=mini-lab.sonic.yaml +else ifeq ($(MINI_LAB_FLAVOR),broadcom) +LAB_TOPOLOGY=mini-lab.broadcom.yaml +MINI_LAB_SONIC_IMAGE=vrnetlab/dell_sonic:4.4.3-Enterprise_Base else ifeq ($(MINI_LAB_FLAVOR),capms) LAB_TOPOLOGY=mini-lab.capms.yaml else ifeq ($(MINI_LAB_FLAVOR),gardener) @@ -113,7 +116,8 @@ partition: partition-bake .PHONY: partition-bake partition-bake: external_network docker pull $(MINI_LAB_VM_IMAGE) - docker pull $(MINI_LAB_SONIC_IMAGE) + # FIXME: check if image needs to be pulled + # docker pull $(MINI_LAB_SONIC_IMAGE) @if ! sudo $(CONTAINERLAB) --topo $(LAB_TOPOLOGY) inspect | grep -i leaf01 > /dev/null; then \ sudo --preserve-env $(CONTAINERLAB) deploy --topo $(LAB_TOPOLOGY) --reconfigure && \ ./scripts/deactivate_offloading.sh; fi diff --git a/mini-lab.broadcom.yaml b/mini-lab.broadcom.yaml new file mode 100644 index 00000000..bcf5a14b --- /dev/null +++ b/mini-lab.broadcom.yaml @@ -0,0 +1,62 @@ +name: mini-lab +prefix: "" + +mgmt: + network: bridge + +topology: + defaults: + kind: linux + nodes: + exit: + image: quay.io/frrouting/frr:10.3.0 + network-mode: none + binds: + - files/exit/daemons:/etc/frr/daemons + - files/exit/frr.conf:/etc/frr/frr.conf + - files/exit/vtysh.conf:/etc/frr/vtysh.conf + - files/exit/network.sh:/root/network.sh + exec: + - sh /root/network.sh + external_service: + image: docker.io/library/nginx:alpine-slim + network-mode: none + binds: + - files/external_service/network.sh:/root/network.sh + exec: + - sh /root/network.sh + mini_lab_ext: + kind: bridge + leaf01: + group: leaves + kind: dell_sonic + image: ${MINI_LAB_SONIC_IMAGE} + binds: + - files/ssh/id_rsa.pub:/authorized_keys + leaf02: + group: leaves + kind: dell_sonic + image: ${MINI_LAB_SONIC_IMAGE} + binds: + - files/ssh/id_rsa.pub:/authorized_keys + machine01: + group: machines + image: ${MINI_LAB_VM_IMAGE} + env: + UUID: 00000000-0000-0000-0000-000000000001 + machine02: + group: machines + image: ${MINI_LAB_VM_IMAGE} + env: + UUID: 00000000-0000-0000-0000-000000000002 + links: + - endpoints: ["exit:mini_lab_ext", "mini_lab_ext:exit"] + mtu: 9000 + - endpoints: ["external_service:mini_lab_ext", "mini_lab_ext:external_service"] + mtu: 9000 + - endpoints: ["leaf01:eth1", "machine01:lan0"] + - endpoints: ["leaf02:eth1", "machine01:lan1"] + - endpoints: ["leaf01:eth2", "machine02:lan0"] + - endpoints: ["leaf02:eth2", "machine02:lan1"] + - endpoints: ["leaf01:eth120", "exit:eth1"] + - endpoints: ["leaf02:eth120", "exit:eth2"]