Home › Forums › FABRIC General Questions and Discussion › Updated P4langTutorials
Tagged: P4
- This topic has 8 replies, 5 voices, and was last updated 1 year, 9 months ago by Nagmat Nazarov.
-
AuthorPosts
-
August 26, 2022 at 9:31 am #2696
Before update we were able to successfully run p4lang tutorial. However now it is not working, send/receive.py were missing and I copied them from previous version.
August 29, 2022 at 9:28 am #2727Did you figure this out?
Thanks for letting us know about this. We will try to get it working correctly.
In general, I would suggest not relying on the examples directly, instead use them as examples for building your own experiments. I suspect that any interesting experiment will need some customization and directly relying on our examples will cause problems if/when we update the examples.
August 29, 2022 at 10:46 am #2732Hi Paul,
I will jump into this. I have seen and I worked in this experiment before. The example was working as expected, with no issues. What I believe might be happening is that we are pulling a docker image that might be down. The screenshot is from the file “router_setup_p4_bmv2_container.sh” where we install the p4 behavioral model to the switches.
Also, I paid attention to the sites, and in particular with the example I run before, I was using IPV6 sites. The logic seems fine, but as I said, probably there might be an issue with the docker images. Is there a way we can check that Paul? Also, if we know exactly what is inside/ have access to these docker containers, we can create our own.
Having that simple example working again can help us to instantiate and run our own customized experiment.
Thank you!
-Alicia
August 29, 2022 at 11:00 am #2733The original is a docker image built with the docker file found here: https://github.com/fabric-testbed/fabric-docker-images/tree/master/slice-vm-p4-bmv2/0.0.1
I think the deployed version is one I updated for a demo but probably only has small changes. You can probably copy the Dockerfile from that git repo and customize it to your needs. If you put together something useful and want to share it, we can add it as an example.
Let me know if this works.
Paul
- This reply was modified 2 years, 2 months ago by Paul Ruth.
August 29, 2022 at 11:02 am #2734Perfection. We will work on this as soon as Fabric is up again.
Thanks Paul!
-Alicia
August 30, 2022 at 4:15 pm #2776One of the reasons that was contributing to the error is that old variables were used in docker command:
#port1_iface=$1
#port2_iface=$2
#port3_iface=$3
#ip_type=$4……
docker exec -d -it fabric_p4 sh -c ‘simple_switch –interface 1@’${port1_iface}’ –interface 2@’${port2_iface}’ –interface 3@’${port3_iface}’ /root/tutorials/exercises/basic_tunnel/basic_tunnel.json’I have created a pull request pr that should fix this issue.
November 9, 2022 at 8:39 pm #3495Hi,
I am not able to find send.py and receive.py in the scripts folder. Can you please tell me where I can find it?
Regards
Abhishek Jindal
November 9, 2022 at 8:50 pm #3496I was able to fetch send.py and receive.py from the P4lang github repo. But I am facing the same issue as @Durbek.
@Durbek were you able to figure out the issue? I tried using your PR code as well but still not able to send the packets.
February 16, 2023 at 2:44 pm #3866Dear Community,
I am facing the same issue. I have followed the steps shown in https://github.com/fabric-testbed/jupyter-examples/blob/master/fabric_examples/complex_recipes/P4_bmv2/p4lang_tutorials.ipynb. I didn’t get any errors. Everything was fine, but I can’t ping from host1 to host2. Inside docker, I can see that switch is receiving the packet but not sending to the other switch as shown in the picture. What may be the issue? What are recommendations to debug it?
Kind regards,
Nagmat
-
AuthorPosts
- You must be logged in to reply to this topic.