How to change the topology?

Here I created a mesh topology with 2 hosts and I have changed the topology and there is an error here

The more details you can provide, the more likely it is someone can reproduce the problem and understand what is going wrong. For example, if you can publish the complete code with all of your source files, both P4 source files and the other input files like the one that defines the topology, e.g. via a link to a published repository on Github, that plus the command and error message you gave sounds sufficient.


You would have to share the content of the files you have changed if you want us to to help you better :slight_smile: As far as I can remember, we used to have a particular file to create a topology in the tutorial so you should probably share that file.

The error, though, seems like mininet needs to cleaning. Have you tried make stop && make clean?


for file P4, I git clone from here p4-guide/ at master · jafingerhut/p4-guide · GitHub and for the topology I made like this:
“hosts”: {
“h1”: {“ip”: “”, “mac”: “08:00:00:00:01:11”,
“commands”:[“route add default gw dev eth0”,
“arp -i eth0 -s 08:00:00:00:01:00”]},
“h2”: {“ip”: “”, “mac”: “08:00:00:00:02:22”,
“commands”:[“route add default gw dev eth0”,
“arp -i eth0 -s 08:00:00:00:02:00”]}
“switches”: {
“s1”: { “runtime_json” : “pod-topo/s1-runtime.json” },
“s2”: { “runtime_json” : “pod-topo/s2-runtime.json” },
“s3”: { “runtime_json” : “pod-topo/s3-runtime.json” },
“s4”: { “runtime_json” : “pod-topo/s4-runtime.json” },
“s5”: { “runtime_json” : “pod-topo/s5-runtime.json” }
“links”: [
[“h1”, “s1-p1”], [“h2”, “s3-p1”],
[“s1-p2”, “s2-p1”], [“s3-p2”, “s2-p4”], [“s2-p2”, “s5-p2”],
[“s1-p3”, “s3-p3”], [“s2-p3”, “s4-p3”],
[“s1-p4”, “s4-p4”], [“s3-p4”, “s5-p4”], [“s4-p1”, “s5-p4”],
[“s1-p5”, “s5-p1”], [“s3-p5”, “s4-p1”]

I just changed the file topology.json, s1-s4runtime.json and added the file s5-runtime.json in pod-topo folder

I’ve tried it but it still doesn’t work

I think this could be the error:

[“s3-p4”, “s5-p4”], [“s4-p1”, “s5-p4”] are using the same port. You are trying to create different 2 links but you are using the same port.
[“s4-p1”, “s5-p4”], [“s3-p5”, “s4-p1”], the same for these two.


okay sir, I will try it