<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.nesevo.com/index.php?action=history&amp;feed=atom&amp;title=Sonic-lab</id>
	<title>Sonic-lab - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.nesevo.com/index.php?action=history&amp;feed=atom&amp;title=Sonic-lab"/>
	<link rel="alternate" type="text/html" href="http://wiki.nesevo.com/index.php?title=Sonic-lab&amp;action=history"/>
	<updated>2026-05-30T12:00:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.nesevo.com/index.php?title=Sonic-lab&amp;diff=2985&amp;oldid=prev</id>
		<title>PierreLancastre at 08:47, 29 October 2021</title>
		<link rel="alternate" type="text/html" href="http://wiki.nesevo.com/index.php?title=Sonic-lab&amp;diff=2985&amp;oldid=prev"/>
		<updated>2021-10-29T08:47:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:47, 29 October 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l26&quot; &gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once you're ready, please run the lab by launching &amp;quot;./start.sh&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once you're ready, please run the lab by launching &amp;quot;./start.sh&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The script :&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The script :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; 	&lt;/del&gt;* launches the containers without Docket network features&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* launches the containers without Docket network features&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; 	&lt;/del&gt;* create network namespaces&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* create network namespaces&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; 	&lt;/del&gt;* build linux bridges to interconnect the containers&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* build linux bridges to interconnect the containers&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; 	&lt;/del&gt;* configure host IPs&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* configure host IPs&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; 	&lt;/del&gt;* launch startup sonic scripts into sonic devices&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* launch startup sonic scripts into sonic devices&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; 	&lt;/del&gt;* once devices started, checks + ping tests are run. If all BGP sessions are ok on spine + all ping are fine, the setup works well.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* once devices started, checks + ping tests are run. If all BGP sessions are ok on spine + all ping are fine, the setup works well.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;quot;start&amp;quot; script has several comments, perhaps without the right vocabulary, so please be tolerant :)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;quot;start&amp;quot; script has several comments, perhaps without the right vocabulary, so please be tolerant :)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PierreLancastre</name></author>
	</entry>
	<entry>
		<id>http://wiki.nesevo.com/index.php?title=Sonic-lab&amp;diff=2978&amp;oldid=prev</id>
		<title>PierreLancastre: Created page with &quot; &lt;span&gt;&lt;to be noted that those informations are included into the readme.md file into the archive&gt;&lt;/span&gt;  == Lab diagram == File:SONIC_LAB.jpg  Lab archive [https://wiki....&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.nesevo.com/index.php?title=Sonic-lab&amp;diff=2978&amp;oldid=prev"/>
		<updated>2021-10-29T08:34:39Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot; &amp;lt;span&amp;gt;&amp;lt;to be noted that those informations are included into the readme.md file into the archive&amp;gt;&amp;lt;/span&amp;gt;  == Lab diagram == &lt;a href=&quot;/index.php/File:SONIC_LAB.jpg&quot; title=&quot;File:SONIC LAB.jpg&quot;&gt;File:SONIC_LAB.jpg&lt;/a&gt;  Lab archive [https://wiki....&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;lt;span&amp;gt;&amp;lt;to be noted that those informations are included into the readme.md file into the archive&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lab diagram ==&lt;br /&gt;
[[File:SONIC_LAB.jpg]]&lt;br /&gt;
&lt;br /&gt;
Lab archive [https://wiki.nesevo.com/images/0/0a/Sonic-lab-20201030.zip Sonic-lab-20201030.zip]&lt;br /&gt;
&lt;br /&gt;
This lab is a forked lab from many found on @, starting from Microsoft one : https://github.com/Azure/SONiC/wiki/SONiC-P4-Software-Switch&lt;br /&gt;
&lt;br /&gt;
The target of this lab is to simulate a simple IP/Fabric in SPINE/LEAF topology. Each Leaf provide local L2 connectivity + L3 gateways to hosts. Flows between hosts from different leaf are L3 routed, in a &amp;quot;node path&amp;quot; LEAF-SPINE-LEAF.&lt;br /&gt;
&lt;br /&gt;
Nothing complicated, but it allows to put a first foot into SONiC world :)&lt;br /&gt;
&lt;br /&gt;
For the moment, as far as we know, MC-LAG + EVPN/VXLAN features are only available on entreprise SONiC versions. Tests to come once physic switches in enterprise version will be available in our lab.&lt;br /&gt;
&lt;br /&gt;
The diagram of the architecture is into the zip file (SONIC_LAB.jpg)&lt;br /&gt;
&lt;br /&gt;
To run the lab you need :&lt;br /&gt;
&lt;br /&gt;
* to have installed docker by using ./install_docker_ovs.sh &lt;br /&gt;
* to run the ./load_image.sh in order to get the Sonic image&lt;br /&gt;
&lt;br /&gt;
Note : don't change file / folders names of network devices (leafX, spineX)&lt;br /&gt;
&lt;br /&gt;
Once you're ready, please run the lab by launching &amp;quot;./start.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The script :&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 	* launches the containers without Docket network features&lt;br /&gt;
 	* create network namespaces&lt;br /&gt;
 	* build linux bridges to interconnect the containers&lt;br /&gt;
 	* configure host IPs&lt;br /&gt;
 	* launch startup sonic scripts into sonic devices&lt;br /&gt;
 	* once devices started, checks + ping tests are run. If all BGP sessions are ok on spine + all ping are fine, the setup works well.&lt;br /&gt;
The &amp;quot;start&amp;quot; script has several comments, perhaps without the right vocabulary, so please be tolerant :)&lt;br /&gt;
&lt;br /&gt;
If you want to stop the lab, please launch &amp;quot;./stop.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Below some useful commands to run for sonic containers :&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span&amp;gt;run ping&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker exec -it &amp;lt;container&amp;gt; ping &amp;lt;ip&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This command triggers ping into the targetted container :&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
plancastre@dockerhost:~/00.Projects/p4-version-pla$ sudo docker exec -it leaf1 ping 192.168.1.1&lt;br /&gt;
PING 192.168.1.1 (192.168.1.1): 56 data bytes&lt;br /&gt;
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.052 ms&lt;br /&gt;
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.034 ms&lt;br /&gt;
^C--- 192.168.1.1 ping statistics ---&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span&amp;gt;check bgp sessions&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker exec -it &amp;lt;container&amp;gt; vtysh -c &amp;quot;show ip bgp sum&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This command sollicitates the SONiC shell of the targeted container, in order to print the bgp status.&lt;br /&gt;
Below, we run it on one spine, you should have 4 sessiosn UP (for the 4 leaves)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
plancastre@dockerhost:~/00.Projects/p4-version-pla$ sudo docker exec -it spine1 vtysh -c &amp;quot;show ip bgp sum&amp;quot;&lt;br /&gt;
BGP router identifier 10.1.0.1, local AS number 65001&lt;br /&gt;
RIB entries 8, using 896 bytes of memory&lt;br /&gt;
Peers 4, using 18 KiB of memory&lt;br /&gt;
Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd&lt;br /&gt;
10.1.0.0        4 65101    6409    6411        0    0    0 01:46:46        3&lt;br /&gt;
10.1.0.2        4 65102    6406    6410        0    0    0 01:46:44        3&lt;br /&gt;
10.1.0.4        4 65103    6407    6410        0    0    0 01:46:44        4&lt;br /&gt;
10.1.0.6        4 65104    6406    6412        0    0    0 01:46:46        1&lt;br /&gt;
Total number of neighbors 4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;span&amp;gt;check ip route&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker exec -it &amp;lt;container&amp;gt; vtysh -c &amp;quot;show ip route&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This command sollicitates the SONiC shell of the targeted container, in order to print its routing table?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
plancastre@dockerhost:~/00.Projects/p4-version-pla$ sudo docker exec -it spine1 vtysh -c &amp;quot;show ip route&amp;quot;&lt;br /&gt;
Codes: K - kernel route, C - connected, S - static, R - RIP,&lt;br /&gt;
O - OSPF, I - IS-IS, B - BGP, P - PIM, A - Babel,&lt;br /&gt;
&amp;gt; - selected route, * - FIB route&lt;br /&gt;
C&amp;gt;* 10.1.0.0/31 is directly connected, Vlan11&lt;br /&gt;
C&amp;gt;* 10.1.0.2/31 is directly connected, Vlan21&lt;br /&gt;
C&amp;gt;* 10.1.0.4/31 is directly connected, Vlan31&lt;br /&gt;
C&amp;gt;* 10.1.0.6/31 is directly connected, Vlan41&lt;br /&gt;
C&amp;gt;* 127.0.0.0/8 is directly connected, lo&lt;br /&gt;
B&amp;gt;* 192.168.1.0/24 [20/0] via 10.1.0.0, Vlan11, 01:47:23&lt;br /&gt;
B&amp;gt;* 192.168.2.0/24 [20/0] via 10.1.0.2, Vlan21, 01:47:21&lt;br /&gt;
B&amp;gt;* 192.168.3.0/24 [20/0] via 10.1.0.4, Vlan31, 01:47:21&lt;br /&gt;
B&amp;gt;* 192.168.4.0/24 [20/0] via 10.1.0.6, Vlan41, 01:47:23&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For more commands check SONiC docs : https://github.com/Azure/sonic-utilities/blob/master/doc/Command-Reference.md&lt;br /&gt;
&lt;br /&gt;
To finish, below the output of the start.sh when all goes well&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 plancastre@dockerhost:~/00.Projects/p4-version-pla$ ./start.sh &lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Creating the containers: starting&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 0b4bbb3c6cfc9895466ea13a9e940d1a176d66f45deee9752e9b4732d735bb03&lt;br /&gt;
 5ca9486baab3e8a5259062167132a944eee717875d3cc1ef29fe490cba3184c1&lt;br /&gt;
 46c9c09dba27a32715b9fbe0bc434a9284b9d59317d278df693f425cb669f037&lt;br /&gt;
 898e6afbcb2977115acbba2a69d069796cfd70fb90228b6c18e09ba4584365f7&lt;br /&gt;
 eb9b3ef6d14784c9ffe4d9d5df3e921a24559889cb8770d226263aad6761182a&lt;br /&gt;
 ae5f3b2c628da687eaabb331dc2cd989e71bcb386854e7a0be6ec587df99d49a&lt;br /&gt;
 122197bffd7566a01ce3b6565fdfb6eb893aab7d5236f14e5a9bbbe95037ced2&lt;br /&gt;
 a604520a080e2a2184598ad1d915c0c182d16e5185033373e95a4772d8978a67&lt;br /&gt;
 0c49e18d78b2aa7c8ef8e937b60285aa56ec0bf4a8530226285270a085e11d5c&lt;br /&gt;
 eb66336b8c6bd8333f1f4f685369e6cac973b817c35bb7126ac4d7ba72ef71bf&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Retreiving PID from docker containers&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Creating network namespaces for containers&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 List of created namespaces&lt;br /&gt;
 ns_host4&lt;br /&gt;
 ns_host3&lt;br /&gt;
 ns_host2&lt;br /&gt;
 ns_host1&lt;br /&gt;
 ns_spine2&lt;br /&gt;
 ns_spine1&lt;br /&gt;
 ns_leaf4&lt;br /&gt;
 ns_leaf3&lt;br /&gt;
 ns_leaf2&lt;br /&gt;
 ns_leaf1&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Creating network connectivity between containers&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Now assigning IPs to hosts (host1 to host4)&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Configuration of containers is now finished&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Now booting switches, please wait 2 minutes for switches to load&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 2 minutes period is finished&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Now fixing the iptables&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Backend actions are now finished&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Now we'll check in 15 sec that BGP peers are all Up&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 SPINE1 check BGP Sessions&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 BGP router identifier 10.1.0.1, local AS number 65001&lt;br /&gt;
 RIB entries 8, using 896 bytes of memory&lt;br /&gt;
 Peers 4, using 18 KiB of memory&lt;br /&gt;
 Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd&lt;br /&gt;
 10.1.0.0        4 65101      94      97        0    0    0 00:01:28        4&lt;br /&gt;
 10.1.0.2        4 65102      95      97        0    0    0 00:01:28        5&lt;br /&gt;
 10.1.0.4        4 65103      95      97        0    0    0 00:01:28        5&lt;br /&gt;
 10.1.0.6        4 65104      95      97        0    0    0 00:01:28        5&lt;br /&gt;
 Total number of neighbors 4&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 SPINE2 check BGP Sessions&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 BGP router identifier 10.2.0.1, local AS number 65002&lt;br /&gt;
 RIB entries 8, using 896 bytes of memory&lt;br /&gt;
 Peers 4, using 18 KiB of memory&lt;br /&gt;
 Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd&lt;br /&gt;
 10.2.0.0        4 65101      93      96        0    0    0 00:01:29        2&lt;br /&gt;
 10.2.0.2        4 65102      94     100        0    0    0 00:01:32        1&lt;br /&gt;
 10.2.0.4        4 65103      94     100        0    0    0 00:01:32        1&lt;br /&gt;
 10.2.0.6        4 65104      94     100        0    0    0 00:01:32        1&lt;br /&gt;
 Total number of neighbors 4&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 Now if all is ok, we'll do some ping tests&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 host1 ping its gateway&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=17.6 ms&lt;br /&gt;
 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=9.14 ms&lt;br /&gt;
 --- 192.168.1.1 ping statistics ---&lt;br /&gt;
 2 packets transmitted, 2 received, 0% packet loss, time 1000ms&lt;br /&gt;
 rtt min/avg/max/mdev = 9.145/13.390/17.636/4.247 ms&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 host2 ping its gateway&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=23.6 ms&lt;br /&gt;
 64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=6.21 ms&lt;br /&gt;
 --- 192.168.2.1 ping statistics ---&lt;br /&gt;
 2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
 rtt min/avg/max/mdev = 6.218/14.950/23.683/8.733 ms&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 host3 ping its gateway&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.3.1: icmp_seq=1 ttl=64 time=18.8 ms&lt;br /&gt;
 64 bytes from 192.168.3.1: icmp_seq=2 ttl=64 time=12.7 ms&lt;br /&gt;
 --- 192.168.3.1 ping statistics ---&lt;br /&gt;
 2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
 rtt min/avg/max/mdev = 12.716/15.764/18.812/3.048 ms&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 host4 ping its gateway&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 PING 192.168.4.1 (192.168.4.1) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.4.1: icmp_seq=1 ttl=64 time=17.7 ms&lt;br /&gt;
 64 bytes from 192.168.4.1: icmp_seq=2 ttl=64 time=4.46 ms&lt;br /&gt;
 --- 192.168.4.1 ping statistics ---&lt;br /&gt;
 2 packets transmitted, 2 received, 0% packet loss, time 1001ms&lt;br /&gt;
 rtt min/avg/max/mdev = 4.464/11.107/17.750/6.643 ms&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 host1 sends 3 ping the 3 other hosts&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.2.2: icmp_seq=1 ttl=61 time=16.0 ms&lt;br /&gt;
 64 bytes from 192.168.2.2: icmp_seq=2 ttl=61 time=19.5 ms&lt;br /&gt;
 64 bytes from 192.168.2.2: icmp_seq=3 ttl=61 time=16.1 ms&lt;br /&gt;
 --- 192.168.2.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2002ms&lt;br /&gt;
 rtt min/avg/max/mdev = 16.049/17.253/19.532/1.615 ms&lt;br /&gt;
 PING 192.168.3.2 (192.168.3.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.3.2: icmp_seq=1 ttl=61 time=15.5 ms&lt;br /&gt;
 64 bytes from 192.168.3.2: icmp_seq=2 ttl=61 time=14.3 ms&lt;br /&gt;
 64 bytes from 192.168.3.2: icmp_seq=3 ttl=61 time=16.9 ms&lt;br /&gt;
 --- 192.168.3.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2002ms&lt;br /&gt;
 rtt min/avg/max/mdev = 14.312/15.592/16.939/1.083 ms&lt;br /&gt;
 PING 192.168.4.2 (192.168.4.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.4.2: icmp_seq=1 ttl=61 time=16.0 ms&lt;br /&gt;
 64 bytes from 192.168.4.2: icmp_seq=2 ttl=61 time=20.7 ms&lt;br /&gt;
 64 bytes from 192.168.4.2: icmp_seq=3 ttl=61 time=16.8 ms&lt;br /&gt;
 --- 192.168.4.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2002ms&lt;br /&gt;
 rtt min/avg/max/mdev = 16.048/17.871/20.739/2.058 ms&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 host2 sends 3 ping the 3 other hosts&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.1.2: icmp_seq=1 ttl=61 time=16.2 ms&lt;br /&gt;
 64 bytes from 192.168.1.2: icmp_seq=2 ttl=61 time=16.6 ms&lt;br /&gt;
 64 bytes from 192.168.1.2: icmp_seq=3 ttl=61 time=16.9 ms&lt;br /&gt;
 --- 192.168.1.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2002ms&lt;br /&gt;
 rtt min/avg/max/mdev = 16.222/16.583/16.924/0.286 ms&lt;br /&gt;
 PING 192.168.3.2 (192.168.3.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.3.2: icmp_seq=1 ttl=61 time=16.6 ms&lt;br /&gt;
 64 bytes from 192.168.3.2: icmp_seq=2 ttl=61 time=18.1 ms&lt;br /&gt;
 64 bytes from 192.168.3.2: icmp_seq=3 ttl=61 time=26.8 ms&lt;br /&gt;
 --- 192.168.3.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2002ms&lt;br /&gt;
 rtt min/avg/max/mdev = 16.620/20.549/26.887/4.524 ms&lt;br /&gt;
 PING 192.168.4.2 (192.168.4.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.4.2: icmp_seq=1 ttl=61 time=33.8 ms&lt;br /&gt;
 64 bytes from 192.168.4.2: icmp_seq=2 ttl=61 time=27.7 ms&lt;br /&gt;
 64 bytes from 192.168.4.2: icmp_seq=3 ttl=61 time=20.2 ms&lt;br /&gt;
 --- 192.168.4.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2002ms&lt;br /&gt;
 rtt min/avg/max/mdev = 20.216/27.259/33.818/5.566 ms&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 host3 sends 3 ping the 3 other hosts&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.1.2: icmp_seq=1 ttl=61 time=14.5 ms&lt;br /&gt;
 64 bytes from 192.168.1.2: icmp_seq=2 ttl=61 time=19.5 ms&lt;br /&gt;
 64 bytes from 192.168.1.2: icmp_seq=3 ttl=61 time=15.5 ms&lt;br /&gt;
 --- 192.168.1.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2002ms&lt;br /&gt;
 rtt min/avg/max/mdev = 14.535/16.549/19.541/2.162 ms&lt;br /&gt;
 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.2.2: icmp_seq=1 ttl=61 time=16.4 ms&lt;br /&gt;
 64 bytes from 192.168.2.2: icmp_seq=2 ttl=61 time=14.6 ms&lt;br /&gt;
 64 bytes from 192.168.2.2: icmp_seq=3 ttl=61 time=18.2 ms&lt;br /&gt;
 --- 192.168.2.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2002ms&lt;br /&gt;
 rtt min/avg/max/mdev = 14.643/16.458/18.278/1.491 ms&lt;br /&gt;
 PING 192.168.4.2 (192.168.4.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.4.2: icmp_seq=1 ttl=61 time=15.3 ms&lt;br /&gt;
 64 bytes from 192.168.4.2: icmp_seq=2 ttl=61 time=14.1 ms&lt;br /&gt;
 64 bytes from 192.168.4.2: icmp_seq=3 ttl=61 time=13.1 ms&lt;br /&gt;
 --- 192.168.4.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2001ms&lt;br /&gt;
 rtt min/avg/max/mdev = 13.171/14.234/15.334/0.883 ms&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 host4 sends 3 ping the 3 other hosts&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.1.2: icmp_seq=1 ttl=61 time=21.9 ms&lt;br /&gt;
 64 bytes from 192.168.1.2: icmp_seq=2 ttl=61 time=21.3 ms&lt;br /&gt;
 64 bytes from 192.168.1.2: icmp_seq=3 ttl=61 time=14.6 ms&lt;br /&gt;
 --- 192.168.1.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2001ms&lt;br /&gt;
 rtt min/avg/max/mdev = 14.619/19.284/21.932/3.310 ms&lt;br /&gt;
 PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.2.2: icmp_seq=1 ttl=61 time=14.8 ms&lt;br /&gt;
 64 bytes from 192.168.2.2: icmp_seq=2 ttl=61 time=18.4 ms&lt;br /&gt;
 64 bytes from 192.168.2.2: icmp_seq=3 ttl=61 time=14.1 ms&lt;br /&gt;
 --- 192.168.2.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2002ms&lt;br /&gt;
 rtt min/avg/max/mdev = 14.148/15.786/18.409/1.879 ms&lt;br /&gt;
 PING 192.168.3.2 (192.168.3.2) 56(84) bytes of data.&lt;br /&gt;
 64 bytes from 192.168.3.2: icmp_seq=1 ttl=61 time=16.2 ms&lt;br /&gt;
 64 bytes from 192.168.3.2: icmp_seq=2 ttl=61 time=15.1 ms&lt;br /&gt;
 64 bytes from 192.168.3.2: icmp_seq=3 ttl=61 time=18.9 ms&lt;br /&gt;
 --- 192.168.3.2 ping statistics ---&lt;br /&gt;
 3 packets transmitted, 3 received, 0% packet loss, time 2001ms&lt;br /&gt;
 rtt min/avg/max/mdev = 15.117/16.788/18.962/1.612 ms&lt;br /&gt;
 ---------------------------------------------------&lt;br /&gt;
 If bot spine have all BGP sessions and all ping succeeded, all works well&lt;br /&gt;
 Congrats ! please check readme file to find some details&lt;br /&gt;
 ---------------------------------------------------&lt;/div&gt;</summary>
		<author><name>PierreLancastre</name></author>
	</entry>
</feed>