Hello everybody!
I am trying to run a customized network by following the script already existing in the tutorials folder of P4lang.
I modified run_exercise.py (that stays in utlis) and the basic.p4 script to fit my requirements. My topology contains six hosts, each one of them is connected to a leaf switch and each leaf is connected to a spine switch. The spines create a sort of start as the core of the network.
I create my own topology.json file and all the json files for switches configuration. The compiler compiles the p4 program and through a Makefile I create the folders build, pcaps and log, that are populated with the relative files during the launch of mininet.
Everything works fine, I can even (apparently) install the rules in the switches, as log files show. It works exactly as it works with the basic exercise of the tutorials.
However, when I try to ping two hosts, the destination is unreachable. Checking the logs, I can see that the parser does not use 0x0800 as a key for parsing the ethernet frame, but it only uses 0x86DD (IPv6) (that I can disable in hosts and switches) and 0x0806 (ARP).
Again, if I run the basic exercise, everything works fine.
P.S. Even the json file created by the compiler shows that the parser should use 0x800 as key
I hope you can help me with that, thank you in advance!