sonic-buildimage/platform/vs/README.vsdocker.md
lguohan 86bc8aec5f
[vs]: dynamically create front panel ports in vs docker (#4499)
currently, vs docker always create 32 front panel ports.

when vs docker starts, it first detects the peer links
in the namespace and then setup equal number of front panel
interfaces as the peer links.

Signed-off-by: Guohan Lu <lguohan@gmail.com>
2020-04-30 12:50:59 -07:00

1.2 KiB

HOWTO Use Virtual Switch (Docker)

  1. Create a docker with two front panel ports
$ docker run -id --name sw debian bash
$ sudo ./create_vnet.sh -n 2 sw
$ ip netns list
sw-srv1 (id: 6)
sw-srv0 (id: 5)
  1. Start sonic virtual switch docker
$ docker run --privileged --network container:sw --name vs -d docker-sonic-vs
  1. Setup IP in the virtual switch docker
$ docker exec -it vs bash
root@2e9b5c2dc2a2:/# config interface ip add Ethernet0 10.0.0.0/31
root@2e9b5c2dc2a2:/# config interface ip add Ethernet4 10.0.0.2/31
root@2e9b5c2dc2a2:/# config interface startup Ethernet0
root@2e9b5c2dc2a2:/# config interface startup Ethernet4
  1. Setup IP in the server network namespace
$ sudo ip netns exec sw-srv0 ifconfig eth0 10.0.0.1/31
$ sudo ip netns exec sw-srv0 ip route add default via 10.0.0.0
$ sudo ip netns exec sw-srv1 ifconfig eth0 10.0.0.3/31
$ sudo ip netns exec sw-srv1 ip route add default via 10.0.0.2
  1. Ping from sw-srv0 to sw-srv1
$ sudo ip netns exec sw-srv0 ping  10.0.0.3
PING 10.0.0.3 (10.0.0.3) 56(84) bytes of data.
64 bytes from 10.0.0.3: icmp_seq=1 ttl=63 time=0.137 ms
64 bytes from 10.0.0.3: icmp_seq=2 ttl=63 time=0.148 ms
64 bytes from 10.0.0.3: icmp_seq=3 ttl=63 time=0.149 ms