sonic-buildimage/platform/vs
2020-06-27 01:17:20 -07:00
..
docker-sonic-vs [redis] Install vanilla redis packages for Buster and Stretch; upgrade Buster to 6.0.5 (#4732) 2020-06-27 01:17:20 -07:00
docker-syncd-vs [dockers] Update critical_processes file syntax (#4831) 2020-06-25 21:18:21 -07:00
sonic-version
tests Update packages and pointers to use SAI1.6 headers. (#4597) 2020-05-30 14:23:34 -07:00
create_vnet.sh [vs]: dynamically create front panel ports in vs docker (#4499) 2020-04-30 12:50:59 -07:00
docker-sonic-vs.dep
docker-sonic-vs.mk [redis] Install vanilla redis packages for Buster and Stretch; upgrade Buster to 6.0.5 (#4732) 2020-06-27 01:17:20 -07:00
docker-syncd-vs.dep
docker-syncd-vs.mk
kvm-image.dep
kvm-image.mk
one-image.dep
one-image.mk
onie.dep
onie.mk
platform.conf
raw-image.dep [vsraw]: build sonic-vs.raw image 2020-04-17 04:51:51 +00:00
raw-image.mk [vsraw]: build sonic-vs.raw image 2020-04-17 04:51:51 +00:00
README.gns3.md
README.vsdocker.md [vs]: dynamically create front panel ports in vs docker (#4499) 2020-04-30 12:50:59 -07:00
README.vsvm.md
rules.dep
rules.mk [vsraw]: build sonic-vs.raw image 2020-04-17 04:51:51 +00:00
sonic_multiasic.xml
sonic-gns3a.sh [kvmimae]: Update sonic-gns3a.sh (#4694) 2020-06-04 13:29:36 -07:00
sonic-version.dep
sonic-version.mk
sonic.xml
syncd-vs.dep
syncd-vs.mk

HOWTO Use Virtual Switch (VM)

  1. Install libvirt, kvm, qemu
sudo apt-get install libvirt-clients qemu-kvm libvirt-bin
  1. Create SONiC VM for single ASIC HWSKU
$ sudo virsh
Welcome to virsh, the virtualization interactive terminal.

Type:  'help' for help with commands
       'quit' to quit

virsh # 
virsh # create sonic.xml
Domain sonic created from sonic.xml

virsh # 
  1. Create SONiC VM for multi-ASIC HWSKU Update sonic_multiasic.xml with the external interfaces required for HWSKU.
$ sudo virsh
Welcome to virsh, the virtualization interactive terminal.

Type:  'help' for help with commands
       'quit' to quit

virsh #
virsh # create sonic_multiasic.xml 
Domain sonic created from sonic.xml

virsh #

Once booted up, create a file "asic.conf" with the content:
NUM_ASIC=<Number of asics>
under /usr/share/sonic/device/x86_64-kvm_x86_64-r0/
Also, create a "topology.sh" file which will simulate the internal
asic connectivity of the hardware under
/usr/share/sonic/device/x86_64-kvm_x86_64-r0/<HWSKU>
The HWSKU directory will have the required files like port_config.ini
for each ASIC.

Having done this, a new service "topology.service" will be started
during bootup which will invoke topology.sh script.

3. Access virtual switch:

    1. Connect SONiC VM via console
    ```
    $ telnet 127.0.0.1 7000
    ```
    
    OR

    2. Connect SONiC VM via SSH
        
        1. Connect via console (see 3.1 above)

        2. Request a new DHCP address
        ```
        sudo dhclient -v
        ```
        
        3. Connect via SSH
        ```
        $ ssh -p 3040 admin@127.0.0.1
        ```