Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 127 additions & 3 deletions ansible/README.testbed.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,128 @@
## Requirenments for the server
# Testbed topology

```
Linux Host Fanout Switch DUT
+---------------------------------------------------------------+ +--------------+ +---------------+
| PTF Docker Openvswitch | | | | |
| +----------------------+ +-------------+ | | | | |
| | eth0 +------+ +--vlan101--+ | | Et1 +-----+ Ethernet0 |
| | eth1 +------+ +--vlan102--| | | Et2 +-----+ Ethernet4 |
| | eth2 +------+ +--vlan103--| | | Et3 +-----+ Ethernet8 |
| | eth3 +------+ +--vlan104--| | | Et4 +-----+ Ethernet12 |
| | eth4 +------+ +--vlan105--| | | Et5 +-----+ Ethernet16 |
| | eth5 +------+ +--vlan106--| | | Et6 +-----+ Ethernet20 |
| | eth6 +------+ +--vlan107--| | | Et7 +-----+ Ethernet24 |
| | eth7 +------+ +--vlan108--| | | Et8 +-----+ Ethernet28 |
| | eth8 +------+ +--vlan109--| | | Et9 +-----+ Etherent32 |
| | eth9 +------+ +--vlan110--| | | Et10 +-----+ Ethernet36 |
| | eth10 +------+ +--vlan111--| | | Et11 +-----+ Ethernet40 |
| | eth11 +------+ +--vlan112--| | | Et12 +-----+ Ethernet44 |
| | eth12 +------+ +--vlan113--| | | Et13 +-----+ Ethernet48 |
| | eth13 +------+ +--vlan114--| | | Et14 +-----+ Ethernet52 |
| | eth14 +------+ +--vlan115--| | | Et15 +-----+ Ethernet56 |
| | eth15 +------+ +--vlan116--+---+-- eth0 --+ Et33 Et16 +-----+ Ethernet60 |
| | eth16 +------+ +--vlan117--| | | Et17 +-----+ Ethernet64 |
| | eth17 +------+ +--vlan118--| | | Et18 +-----+ Ethernet68 |
| | eth18 +------+ +--vlan119--| | | Et19 +-----+ Ethernet72 |
| | eth19 +------+ +--vlan120--| | | Et20 +-----+ Ethernet76 |
| | eth20 +------+ +--vlan121--| | | Et21 +-----+ Ethernet80 |
| | eth21 +------+ +--vlan122--| | | Et22 +-----+ Ethernet84 |
| | eth22 +------+ +--vlan123--| | | Et23 +-----+ Ethernet88 |
| | eth23 +------+ +--vlan124--| | | Et24 +-----+ Ethernet92 |
| | eth24 +------+ +--vlan125--| | | Et25 +-----+ Ethernet96 |
| | eth25 +------+ +--vlan126--| | | Et26 +-----+ Ethernet100 |
| | eth26 +------+ +--vlan127--| | | Et27 +-----+ Ethernet104 |
| | eth27 +------+ +--vlan128--| | | Et28 +-----+ Ethernet108 |
| | eth28 +------+ +--vlan129--| | | Et29 +-----+ Ethernet112 |
| | eth29 +------+ +--vlan130--| | | Et30 +-----+ Ethernet116 |
| | eth30 +------+ +--vlan131--| | | Et31 +-----+ Ethernet120 |
| | eth31 +------+ +--vlan132--+ | | Et32 +-----+ Ethernet124 |
| +----------------------+ +-------------+ | | | | |
| | | | | |
+---------------------------------------------------------------+ +--------------+ +---------------+
```
Figure 1: PTF container testbed

- *PTF docker*: A docker container that has 32 ports with pre-installed PTF tools. See https://github.com/Azure/sonic-buildimage/tree/master/dockers/docker-ptf
- *Vlan ports*: 32 vlan ports are created on top of physical port, e.g., eth0, inside the Linux host
- *Openvswitch*: Connect 32 vlan ports to the 32 docker ports inside the Linux host. Openvswitch forwards the packet to the corresponding output port based on the incoming port. No L2/L3 forwarding is enabled in the Openvswitch.
- *Fanout switch*: A physical switch which enables VLAN trunking. Et33 is a vlan trunking port and is connected to the eth0 port of the linux host. Et1-Et32 are vlan access ports and are connect to DUT.

```
Linux Host Fanout Switch DUT
+---------------------------------------------------------------+ +--------------+ +---------------+
| Openvswitch | | | | |
| +----------------------+ +-------------+ | | | | |
| | VM_1 eth0 +------+ +--vlan101--+ | | Et1 +-----+ Ethernet0 |
| +----------------------+ +-------------| | | | | | |
| | VM_2 eth0 +------+ +--vlan102--+ | | Et2 +-----+ Ethernet4 |
| +----------------------+ |-------------| | | | | | |
| | VM_3 eth0 +------+ +--vlan103--| | | Et3 +-----+ Ethernet8 |
| +----------------------+ |-------------| | | | | | |
| | VM_4 eth0 +------+ +--vlan104--| | | Et4 +-----+ Ethernet12 |
| +----------------------+ |-------------| | | | | | |
| | VM_5 eth0 +------+ +--vlan105--| | | Et5 +-----+ Ethernet16 |
| +----------------------+ |-------------| | | | | | |
| | VM_6 eth0 +------+ +--vlan106--| | | Et6 +-----+ Ethernet20 |
| +----------------------+ |-------------| | | | | | |
| | VM_7 eth0 +------+ +--vlan107--| | | Et7 +-----+ Ethernet24 |
| +----------------------+ |-------------| | | | | | |
| | VM_8 eth0 +------+ +--vlan108--| | | Et8 +-----+ Ethernet28 |
| +----------------------+ |-------------| | | | | | |
| | VM_9 eth0 +------+ +--vlan109--| | | Et9 +-----+ Etherent32 |
| +----------------------+ |-------------| | | | | | |
| | VM_10 eth0 +------+ +--vlan110--| | | Et10 +-----+ Ethernet36 |
| +----------------------+ |-------------| | | | | | |
| | VM_11 eth0 +------+ +--vlan111--| | | Et11 +-----+ Ethernet40 |
| +----------------------+ |-------------| | | | | | |
| | VM_12 eth0 +------+ +--vlan112--| | | Et12 +-----+ Ethernet44 |
| +----------------------+ |-------------| | | | | | |
| | VM_13 eth0 +------+ +--vlan113--| | | Et13 +-----+ Ethernet48 |
| +----------------------+ |-------------| | | | | | |
| | VM_14 eth0 +------+ +--vlan114--| | | Et14 +-----+ Ethernet52 |
| +----------------------+ |-------------| | | | | | |
| | VM_15 eth0 +------+ +--vlan115--| | | Et15 +-----+ Ethernet56 |
| +----------------------+ |-------------| | | | | | |
| | VM_16 eth0 +------+ +--vlan116--+---+-- eth0 --+ Et33 Et16 +-----+ Ethernet60 |
| +----------------------+ |-------------| | | | | | |
| | VM_17 eth0 +------+ +--vlan117--| | | Et17 +-----+ Ethernet64 |
| +----------------------+ |-------------| | | | | | |
| | VM_18 eth0 +------+ +--vlan118--| | | Et18 +-----+ Ethernet68 |
| +----------------------+ |-------------| | | | | | |
| | VM_19 eth0 +------+ +--vlan119--| | | Et19 +-----+ Ethernet72 |
| +----------------------+ |-------------| | | | | | |
| | VM_20 eth0 +------+ +--vlan120--| | | Et20 +-----+ Ethernet76 |
| +----------------------+ |-------------| | | | | | |
| | VM_21 eth0 +------+ +--vlan121--| | | Et21 +-----+ Ethernet80 |
| +----------------------+ |-------------| | | | | | |
| | VM_22 eth0 +------+ +--vlan122--| | | Et22 +-----+ Ethernet84 |
| +----------------------+ |-------------| | | | | | |
| | VM_23 eth0 +------+ +--vlan123--| | | Et23 +-----+ Ethernet88 |
| +----------------------+ |-------------| | | | | | |
| | VM_24 eth0 +------+ +--vlan124--| | | Et24 +-----+ Ethernet92 |
| +----------------------+ |-------------| | | | | | |
| | VM_25 eth0 +------+ +--vlan125--| | | Et25 +-----+ Ethernet96 |
| +----------------------+ |-------------| | | | | | |
| | VM_26 eth0 +------+ +--vlan126--| | | Et26 +-----+ Ethernet100 |
| +----------------------+ |-------------| | | | | | |
| | VM_27 eth0 +------+ +--vlan127--| | | Et27 +-----+ Ethernet104 |
| +----------------------+ |-------------| | | | | | |
| | VM_28 eth0 +------+ +--vlan128--| | | Et28 +-----+ Ethernet108 |
| +----------------------+ |-------------| | | | | | |
| | VM_29 eth0 +------+ +--vlan129--| | | Et29 +-----+ Ethernet112 |
| +----------------------+ |-------------| | | | | | |
| | VM_30 eth0 +------+ +--vlan130--| | | Et30 +-----+ Ethernet116 |
| +----------------------+ |-------------| | | | | | |
| | VM_31 eth0 +------+ +--vlan131--| | | Et31 +-----+ Ethernet120 |
| +----------------------+ |-------------| | | | | | |
| | VM_32 eth0 +------+ +--vlan132--+ | | Et32 +-----+ Ethernet124 |
| +----------------------+ +-------------+ | | | | |
| | | | | |
+---------------------------------------------------------------+ +--------------+ +---------------+
```
Figure 2: VM set testbed

## Requirenments for the Linux Host
1. Ubuntu 16.04 x64
2. Installed docker-engine
3. Three network cards:
Expand All @@ -17,7 +141,7 @@ iface em1 inet static
network 10.250.0.0
broadcast 10.250.0.255
gateway 10.250.0.1
dns-nameservers 10.250.0.1 10.250.0.2
dns-nameservers 10.250.0.1 10.250.0.2
# dns-* options are implemented by the resolvconf package, if installed
dns-search SOMECOMPANY

Expand All @@ -33,7 +157,7 @@ iface p4p1 inet manual
up ip link set p4p1 up
```

## To deploy testbed with one VM set
### Deploy testbed with one VM set
1. clone sonic-mgmt repo to local directory
2. Edit 'ansible/veos' file. Put ip address of your server after 'ansible_host='
3. Edit 'ansible/group_vars/vm_host'. Put your credentials to reach the server
Expand Down
46 changes: 0 additions & 46 deletions ansible/roles/testbed.md

This file was deleted.