Wednesday, January 20, 2021

Huawei NE40 & CE12800 on EVE-NG

If  you ever wanted to simulate a Huawei NE40 router or Huawei 12800 series switches, you might heard of eNSP (enterprise Network Simulator).  Unfortunately Huawei stopped developing eNSP and is not sharing the program anymore. You might still found it on the internet of course but it makes your job harder if you ever wanted to simulate a multi-vendor environment with Huawei software.

On Eve-NG website, Huawei NE40 and Huawei 12800 is not listed under how-to's part. But if you dig in Huawei forums, you could find that it is possible.  

Huawei CE12800

On this forum page you could find each and every detail to make Huawei CE12800  image work on EVE-NG: 

You need to register to find to see the links. 

I'm just sharing again the info on the forum page. I tested it and yes it works: 

  • Download the CE12800 images and configuration file, also the CE12800 icon. And extract the download image.
  • Upload the configuration(huaweice12800.yml) into the EVE-NG path: /opt/unetlab/html/templates/intel/ If you are using the AMD CPU, the accordingly path is /opt/unetlab/html/templates/amd/ 

  • Upload the ce icon file(ce.png) into the EVE-NG path: /opt/unetlab/html/images/icons/
  • Upload the CE12800 image into the EVE-NG path: /opt/unetlab/addons/qemu/ 

When adding new images to eve-ng, the trick is that the naming convention of the .yml file need to match with the folder name. Folder name might have version but after the right name.

  • Fix the permission using command: /opt/unetlab/wrappers/unl_wrapper -a fixpermissions

Huawei NE40

NE40 img is shared also on the forum page: .Unfortunately these images are most probabily converted from eNSP images, so there is no newer version. VRP8R11 is the latest version. If you can manage to convert an standart image (.img to qcow2 in the right  way ?!) newer versions might work also. 

Here are the files (link is shared on Huawei forum page):

The instructions are same with Huawei12800, just be careful with naming the .yml file and img folder to be consistent with each other.


I realized that there are some limitations with eNSP images, here are the ones i found: 
  • Subinterface only works if you configure static arp entries. 
  • Gig 0/0/0 always use same mac address. So if you use more than one router to a mngt network etc, use Ethernet instead of gig0/0/0 cause you cant  assign static mac to Gig0/0/0

Sunday, January 17, 2021

Microsoft Sonic Virtual Switch on Eve-NG

 Microsoft, SONiC is probabily the most populan 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 

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 Even-NG. Here are the instructions: 

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"

root@EVENG-SRLAB:~# 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

As a last step you need to execute the command below, which should be done for any new image 
/opt/unetlab/wrappers/unl_wrapper -a fixpermission
The order of the EVE-NG ethernet and sonic ethernet is misaligned somehow. 10 interfaces are configured under yml file but only 9 are up in sonic. So :

eve-ng ethernet 1 == sonic ethernet0 (in below picture you need to configure ethernet0 in Sonic)  


Internetworking Hints Copyright © 2011 -- Template created by O Pregador -- Powered by Blogger