sonic-buildimage/platform/vs
lguohan 8bcdefbc34 [docker-orchagent]: make build depends only on sairedis package (#6467)
backport c4b5b002c3

make swss build depends only on libsairedis instead of syncd. This allows to build swss without depending
on vendor sai library.

Currently, libsairedis build also buils syncd which requires vendor SAI lib. This makes difficult to build
swss docker in buster while still keeping syncd docker in stretch, as swss requires libsairedis which also
build syncd and requires vendor to provide SAI for buster. As swss docker does not really contain syncd
binary, so it is not necessary to build syncd for swss docker.

[submodule]: update sonic-sairedis
1e42517996bfe41ac58d4c25ee3f93502befcb9d (HEAD -> 201911) [build]: add option to build without syncd

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2021-01-27 13:51:24 -08:00
..
docker-sonic-vs [swss] Enhance ARP Update to Call Sonic Cfggen Once (#5398) 2020-12-22 09:51:54 -08:00
docker-syncd-vs [dockers][supervisor] Increase event buffer size for dependent-startup (#5247) 2020-09-28 16:12:53 +00:00
sonic-version [vs]: build sonic vs kvm image (#2269) 2018-11-20 22:32:40 -08:00
tests [FRR]: Port some patches from sonic-quagga repo (#3017) 2019-06-23 15:26:02 -07:00
create_vnet.sh [vs]: build sonic vs kvm image (#2269) 2018-11-20 22:32:40 -08:00
docker-sonic-vs.mk [swss] Enhance ARP Update to Call Sonic Cfggen Once (#5398) 2020-12-22 09:51:54 -08:00
docker-syncd-vs.mk [docker-{sonic,syncd}-vs]: upgrade {sonic,syncd}-vs docker to stretch (#2865) 2019-05-06 07:19:36 -07:00
kvm-image.mk [build]: Move Systemd service start to systemd generator (#3172) 2019-07-29 15:52:15 -07:00
one-image.mk [build]: Move Systemd service start to systemd generator (#3172) 2019-07-29 15:52:15 -07:00
onie.mk [vs]: build sonic vs kvm image (#2269) 2018-11-20 22:32:40 -08:00
platform.conf [vs]: build sonic vs kvm image (#2269) 2018-11-20 22:32:40 -08:00
README.gns3.md [vsimage]: Support for the creation of a GNS3 appliance file (#3553) 2019-10-07 07:16:11 -07:00
README.vsdocker.md [vs]: build sonic vs kvm image (#2269) 2018-11-20 22:32:40 -08:00
README.vsvm.md [baseimage]: support building multi-asic component (#3856) 2020-02-03 15:32:21 -08:00
rules.mk [build]: Makefile: Extend to build debug docker images for all stretch dockers (#2789) 2019-04-19 18:49:21 -07:00
sonic_multiasic.xml Multi-ASIC implementation (#3888) 2020-04-15 13:08:34 -07:00
sonic-gns3a.sh [vsimage]: Support for the creation of a GNS3 appliance file (#3553) 2019-10-07 07:16:11 -07:00
sonic-version.mk [vs]: build sonic vs kvm image (#2269) 2018-11-20 22:32:40 -08:00
sonic.xml [vs]: sync changes to disk and add e1000 driver to sonic vm (#2288) 2018-11-22 12:09:21 -08:00
syncd-vs.mk [docker-orchagent]: make build depends only on sairedis package (#6467) 2021-01-27 13:51:24 -08:00

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
        ```