sonic-buildimage/platform/vs/README.vsdocker.md

48 lines
1.2 KiB
Markdown
Raw Normal View History

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)
```
2. Start sonic virtual switch docker
```
$ docker run --privileged --network container:sw --name vs -d docker-sonic-vs
```
3. 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
```
4. 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
```
5. 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
```