In this lab, we will set up a simple topology with [containerlab](https://containerlab.dev/) and configure two cEOS switches that we manage with the goSDN controller.
**Please note: You need to have the lab-vm or all the software in [Prerequisites](Labs/Prerequisites) installed to run this lab.**
The figure below shows what we want to set up using the goSDN-Controller, goSDN-CLI and gnmi:
### To get the (password) go to the previous terminal and use the following commands
```
docker logs clab-gosdn_csbi_arista_base-gosdn
```
In the end of the script a 16 character alphanumeric password is generated like this: “Generated admin password: uyslboh15gjp9dne” (not the actual password, just an example)
## Configuration of the switches(the UUID have to be changed according to the output from the devices)
### Switch 1
```
mne set 401982c5-fb98-4402-b98f-1b6d30915fc4 network-instances/network-instance[name=default]/config --file ./lab01/enable-routing.json --force-push
mne set 401982c5-fb98-4402-b98f-1b6d30915fc4 interfaces/interface[name=Ethernet1] --file ./lab01/s01-ethernet01.json --force-push
mne set 401982c5-fb98-4402-b98f-1b6d30915fc4 interfaces/interface[name=Ethernet2] --file ./lab01/s01-ethernet02.json --force-push
mne set 401982c5-fb98-4402-b98f-1b6d30915fc4 network-instances/network-instance[name=default]/protocols --file ./lab01/s01-route.json --force-push
mne set 401982c5-fb98-4402-b98f-1b6d30915fc4 network-instances/network-instance[name=default]/tables --file ./lab01/tables.json --force-push
```
### Switch 2
```
mne set c724b95b-c751-4728-9f19-376e0d570104 network-instances/network-instance[name=default]/config --file ./lab01/enable-routing.json --force-push
mne set c724b95b-c751-4728-9f19-376e0d570104 interfaces/interface[name=Ethernet1] --file ./lab01/s02-ethernet01.json --force-push
mne set c724b95b-c751-4728-9f19-376e0d570104 interfaces/interface[name=Ethernet2] --file ./lab01/s02-ethernet02.json --force-push
mne set c724b95b-c751-4728-9f19-376e0d570104 network-instances/network-instance[name=default]/protocols --file ./lab01/s02-route.json --force-push
mne set c724b95b-c751-4728-9f19-376e0d570104 network-instances/network-instance[name=default]/tables --file ./lab01/tables.json --force-push
```
If you've cloned the goSDN repo from [here](https://code.fbi.h-da.de/danet/gosdn) and have all the requirements, then you can start the containerlab topology (which is defined below) using the command `make containerlab-start` from within the root of the repository
## CLI and the controller
### Setup centos devices
Since we do not have access via gNMI on those devices, we have to perform some steps manually, within the container itself.