Skip to content
This repository has been archived by the owner on Feb 1, 2022. It is now read-only.

app int mininet cannot ping between hosts due to wrong config for leaf/spine #194

Open
jeromesun14 opened this issue May 9, 2017 · 0 comments

Comments

@jeromesun14
Copy link

jeromesun14 commented May 9, 2017

Reason, leaf1 / leaf2 and spine1 / spine2 configures in mininet/configs/ are wrong.
The link between host / leaf / spine is shown below. Leaf1 for example, uses leaf1-eth1 ~ leaf1-eth4 as its ports.

mininet> net
h2 eth0:leaf1-eth2
h3 eth0:leaf2-eth1
h1 eth0:leaf1-eth1
h4 eth0:leaf2-eth2
spine1 spine1-eth1:leaf1-eth3 spine1-eth2:leaf2-eth3
spine2 spine2-eth1:leaf1-eth4 spine2-eth2:leaf2-eth4
leaf1 leaf1-eth1:eth0 leaf1-eth2:eth0 leaf1-eth3:spine1-eth1 leaf1-eth4:spine2-eth1
leaf2 leaf2-eth1:eth0 leaf2-eth2:eth0 leaf2-eth3:spine1-eth2 leaf2-eth4:spine2-eth2
mininet> links
leaf1-eth1<->eth0 (OK OK)
leaf1-eth2<->eth0 (OK OK)
leaf1-eth3<->spine1-eth1 (OK OK)
leaf1-eth4<->spine2-eth1 (OK OK)
leaf2-eth1<->eth0 (OK OK)
leaf2-eth2<->eth0 (OK OK)
leaf2-eth3<->spine1-eth2 (OK OK)
leaf2-eth4<->spine2-eth2 (OK OK)
mininet> 

And bmv2 startup with leaf1-eth1 ~ leaf1-eth4

 sunyongfeng  ~  docker ps
CONTAINER ID        IMAGE                 COMMAND             CREATED              STATUS              PORTS                                               NAMES
b7bef12290c0        p4dockerswitch_bmv2   "/bin/bash"         About a minute ago   Up About a minute   0.0.0.0:26001->9091/tcp, 0.0.0.0:27001->10001/tcp   leaf2
70cfbda346cf        p4dockerswitch_bmv2   "/bin/bash"         About a minute ago   Up About a minute   0.0.0.0:26000->9091/tcp, 0.0.0.0:27000->10001/tcp   leaf1
f9588bfedc13        p4dockerswitch_bmv2   "/bin/bash"         About a minute ago   Up About a minute   0.0.0.0:26003->9091/tcp, 0.0.0.0:27003->10001/tcp   spine2
3352798a08f6        p4dockerswitch_bmv2   "/bin/bash"         About a minute ago   Up About a minute   0.0.0.0:26002->9091/tcp, 0.0.0.0:27002->10001/tcp   spine1
 sunyongfeng  ~  docker exec -it 70cfbda346cf /bin/bash
root@leaf1:/# cat /tmp/start.sh 
 #!/bin/bash
 LD_LIBRARY_PATH==:/home/sunyongfeng/workshop/p4/install/bin/../lib /home/sunyongfeng/workshop/p4/install/bin/simple_switch --thrift-port 10001 --pcap -i 0@leaf1-eth1 -i 1@leaf1-eth2 -i 2@leaf1-eth3 -i 3@leaf1-eth4 -i 64@veth250 /home/sunyongfeng/workshop/p4/install/bin/../share/bmpd/switch/switch.json >& /tmp/bmv2_model.log & 
sleep 3
 LD_LIBRARY_PATH=:/home/sunyongfeng/workshop/p4/install/bin/../lib:/home/sunyongfeng/workshop/p4/install/bin/../lib/bmpd/switch /home/sunyongfeng/workshop/p4/install/bin/bmswitchp4_drivers >& /tmp/bmv2_driver.log & 
root@leaf1:/# 

But the configures are configured to swp1 ~ swp4, which we don't use in app/int at all.

 sunyongfeng  ~  workshop  p4factory  cat mininet/configs/leaf1/l3_int_ref_topo/startup_config.sh
#!/bin/bash

stty -echo; set +m

ip link set dev swp1 address 00:01:00:00:00:01
ip link set dev swp2 address 00:01:00:00:00:02
ip link set dev swp3 address 00:01:00:00:00:03
ip link set dev swp4 address 00:01:00:00:00:04

ip address add 10.0.1.100/24 broadcast + dev swp1
ip address add 10.0.2.100/24 broadcast + dev swp2
ip address add 10.1.11.1/24 broadcast + dev swp3
ip address add 10.1.12.1/24 broadcast + dev swp4

cp /configs/quagga/* /etc/quagga/
chown quagga.quagga /etc/quagga/*

So just change swp1~swp4 to leaf1-eth1 ~ leaf1-eth4.

And patch for leaf1 / leaf2 / spine1 / spine2:

diff --git a/mininet/configs/leaf1/l3_int_ref_topo/startup_config.sh b/mininet/configs/leaf1/l3_int_ref_topo/startup_config.sh
index 6432a4c..5d34e05 100755
--- a/mininet/configs/leaf1/l3_int_ref_topo/startup_config.sh
+++ b/mininet/configs/leaf1/l3_int_ref_topo/startup_config.sh
@@ -2,15 +2,15 @@
 
 stty -echo; set +m
 
-ip link set dev swp1 address 00:01:00:00:00:01
-ip link set dev swp2 address 00:01:00:00:00:02
-ip link set dev swp3 address 00:01:00:00:00:03
-ip link set dev swp4 address 00:01:00:00:00:04
+ip link set dev leaf1-eth1 address 00:01:00:00:00:01
+ip link set dev leaf1-eth2 address 00:01:00:00:00:02
+ip link set dev leaf1-eth3 address 00:01:00:00:00:03
+ip link set dev leaf1-eth4 address 00:01:00:00:00:04
 
-ip address add 10.0.1.100/24 broadcast + dev swp1
-ip address add 10.0.2.100/24 broadcast + dev swp2
-ip address add 10.1.11.1/24 broadcast + dev swp3
-ip address add 10.1.12.1/24 broadcast + dev swp4
+ip address add 10.0.1.100/24 broadcast + dev leaf1-eth1
+ip address add 10.0.2.100/24 broadcast + dev leaf1-eth2
+ip address add 10.1.11.1/24 broadcast + dev leaf1-eth3
+ip address add 10.1.12.1/24 broadcast + dev leaf1-eth4
 
 cp /configs/quagga/* /etc/quagga/
 chown quagga.quagga /etc/quagga/*
diff --git a/mininet/configs/leaf2/l3_int_ref_topo/startup_config.sh b/mininet/configs/leaf2/l3_int_ref_topo/startup_config.sh
index 0a5637f..7562c72 100755
--- a/mininet/configs/leaf2/l3_int_ref_topo/startup_config.sh
+++ b/mininet/configs/leaf2/l3_int_ref_topo/startup_config.sh
@@ -2,15 +2,15 @@
 
 stty -echo; set +m
 
-ip link set dev swp1 address 00:02:00:00:00:01
-ip link set dev swp2 address 00:02:00:00:00:02
-ip link set dev swp3 address 00:02:00:00:00:03
-ip link set dev swp4 address 00:02:00:00:00:04
+ip link set dev leaf2-eth1 address 00:02:00:00:00:01
+ip link set dev leaf2-eth2 address 00:02:00:00:00:02
+ip link set dev leaf2-eth3 address 00:02:00:00:00:03
+ip link set dev leaf2-eth4 address 00:02:00:00:00:04
 
-ip address add 10.0.3.100/24 broadcast + dev swp1
-ip address add 10.0.4.100/24 broadcast + dev swp2
-ip address add 10.1.21.1/24 broadcast + dev swp3
-ip address add 10.1.22.1/24 broadcast + dev swp4
+ip address add 10.0.3.100/24 broadcast + dev leaf2-eth1
+ip address add 10.0.4.100/24 broadcast + dev leaf2-eth2
+ip address add 10.1.21.1/24 broadcast + dev leaf2-eth3
+ip address add 10.1.22.1/24 broadcast + dev leaf2-eth4
 
 cp /configs/quagga/* /etc/quagga/
 chown quagga.quagga /etc/quagga/*
diff --git a/mininet/configs/spine1/l3_int_ref_topo/startup_config.sh b/mininet/configs/spine1/l3_int_ref_topo/startup_config.sh
index f2ecfc0..33f4878 100755
--- a/mininet/configs/spine1/l3_int_ref_topo/startup_config.sh
+++ b/mininet/configs/spine1/l3_int_ref_topo/startup_config.sh
@@ -2,11 +2,11 @@
 
 stty -echo; set +m
 
-ip link set dev swp1 address 00:03:00:00:00:01
-ip link set dev swp2 address 00:03:00:00:00:02
+ip link set dev spine1-eth1 address 00:03:00:00:00:01
+ip link set dev spine1-eth2 address 00:03:00:00:00:02
 
-ip address add 10.1.11.2/24 broadcast + dev swp1
-ip address add 10.1.21.2/24 broadcast + dev swp2
+ip address add 10.1.11.2/24 broadcast + dev spine1-eth1
+ip address add 10.1.21.2/24 broadcast + dev spine2-eth2
 
 cp /configs/quagga/* /etc/quagga/
 chown quagga.quagga /etc/quagga/*
diff --git a/mininet/configs/spine2/l3_int_ref_topo/startup_config.sh b/mininet/configs/spine2/l3_int_ref_topo/startup_config.sh
index 7a28663..be95656 100755
--- a/mininet/configs/spine2/l3_int_ref_topo/startup_config.sh
+++ b/mininet/configs/spine2/l3_int_ref_topo/startup_config.sh
@@ -2,11 +2,11 @@
 
 stty -echo; set +m
 
-ip link set dev swp1 address 00:04:00:00:00:01
-ip link set dev swp2 address 00:04:00:00:00:02
+ip link set dev spine2-eth1 address 00:04:00:00:00:01
+ip link set dev spine2-eth2 address 00:04:00:00:00:02
 
-ip address add 10.1.12.2/24 broadcast + dev swp1
-ip address add 10.1.22.2/24 broadcast + dev swp2
+ip address add 10.1.12.2/24 broadcast + dev spine2-eth1
+ip address add 10.1.22.2/24 broadcast + dev spine2-eth2
 
 cp /configs/quagga/* /etc/quagga/
 chown quagga.quagga /etc/quagga/*
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant