Microsoft, SONiC is probabily the most popular open-source network operating system which is currently being developed by a community of network market leaders: Broadcom, Marvell, Dell, Mellanox/NVIDIA, Intel, Microsoft and others. IT supports 101 whitebox platforms (by January 2021) which you could find the latest list in https://github.com/Azure/SONiC/wiki/Supported-Devices-and-Platforms.
To test and see how Sonic works it’s better to create a virtual topology (e.g. a data center Clos topology.) with a network emulation tool like GNS3, Eve-NG etc. On Sonic Github page there is a script to make Sonic-Virtual-Switch image with GNS3 but not for EVE-NG. I make Sonic work on Eve-NG. Here are the instructions:
EVE-NG Sonic Configuration
I assume that you already installed Eve-NG and started using it.
- Copy the mssonic.yml file into “/opt/unetlab/html/templates/intel” or “/opt/unetlab/html/templates/amd” based on your cpu.
- Create a folder under “opt/unetlab/addons/qemu/” with name “mssonic-version/” . Folder name is really important since eve-ng understands that it is a a sonic image folder with naming convention. The first part of the folder name must be "mssonic" if you are using my yml file and later you could add version to the folder name, e.g: "mssonic-202012"
# mkdir pt/unetlab/addons/qemu/mssonic-202012
- Extract sonic-vs.img.gz
- Rename sonic-vs.img to virtioa.qcow2 (just rename, no convert)
root@EVENG-SRLAB:/opt/unetlab/addons/qemu/mssonic-202012# mv sonic-vs.img virtioa.qcow2
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Downloading Sonic-VS
Go to https://github.com/Azure/sonic-buildimage and scroll down the page, click the build you would like to download (For EVE-NG it is VS) and go for the last stable build and download sonic-vs.img.gz.Management Ethernet
Data Plane Ethernets
- EVE-NG ethernet 0 == Sonic Ethernet0
- EVE-NG ethernet 1 == Sonic Ethernet4 (40G interfaces uses 4 lanes,)
Chassis Mac Address
"DEVICE_METADATA": {"localhost": {"bgp_asn": "65100","buffer_model": "traditional","default_bgp_status": "up","default_pfcwd_status": "disable","hostname": "sonic","hwsku": "Force10-S6000","mac": "52:54:00:12:34:56","platform": "x86_64-kvm_x86_64-r0","type": "LeafRouter"}},
Other Static Configs
What's Not Working on Sonic-VS
- Static-VXLAN is not working, only dynamic ones are working.
- Interface counters are not working these since there is no underlying chip / chip simulator. You have to rely on ‘ifconfig’ to track stats.
- Static-routes are not saved upon reboot. It is integrated on 2020-12 master branch but you need to:
- Refer to PR https://github.com/Azure/SONiC/pull/585 for configuring the STATIC_ROUTE in config-DB and make sure to set “frr_mgmt_framework_config” to “true” in DEVICE_METADATA table.
- Templates: https://github.com/Azure/sonic-buildimage/tree/202012/src/sonic-frr-mgmt-framework/templates/staticd
0 comments:
Post a Comment