Home › Forums › FABRIC General Questions and Discussion › P4_bmv2 example is not working when executed on fabrictestbed.
- This topic has 7 replies, 2 voices, and was last updated 1 year, 8 months ago by Nagmat Nazarov.
-
AuthorPosts
-
February 16, 2023 at 6:40 pm #3868
Dear Community,
I have executed the commands according to 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 while installing. Everything was fine, but I can’t ping from host1 to host2. Inside docker, I can see that switch1 is receiving the packet but not sending it to the other switch as shown in the picture. The architecture is attached on the attachment. What may be the issue? What are recommendations to debug it?
Kind regards,
Nagmat
February 22, 2023 at 1:38 pm #3880There are some update coming to fablib to better support docker containers. When these arrive we will revisit all the “complex” examples and get them working in a much simpler way.
For now, I can assure you there is nothing in FABRIC that prevents these examples from working. They just need to be updated. It is possible for someone with P4 BMV2 experience to get them working on their own.
I’ll keep this forum update on any progress.
March 22, 2023 at 5:02 pm #3976Dear Community,
I am working on https://github.com/fabric-testbed/jupyter-examples/blob/master/fabric_examples/complex_recipes/P4_bmv2/p4lang_tutorials.ipynb P4 lang tutorials on Fabric Testbed. The architecture is shown in the attachment. As shown on the terminal attachment I am sending the message from host1 and it is getting to ens7 ethernet inside docker on s1 but not reaching the s2 switch at all. Can anybody in the community help resolve this issue, please?
Kind regards,
Nagmat
March 24, 2023 at 12:44 pm #3988I think this might be an issue we have with Basic_NICs. The physical NICs sometimes filter legal L2 frames that should be allowed through. We are working on a solution but it might be a firmware issue with the NICs.
Can you try this with dedicated NICs?
March 30, 2023 at 2:26 pm #4010I found in components:
” component_model_map = { ‘NIC_Basic’: ComponentModelType.SharedNIC_ConnectX_6,
‘NIC_ConnectX_6’: ComponentModelType.SmartNIC_ConnectX_6,
‘NIC_ConnectX_5’: ComponentModelType.SmartNIC_ConnectX_5,
‘NVME_P4510’: ComponentModelType.NVME_P4510,
‘GPU_TeslaT4’: ComponentModelType.GPU_Tesla_T4,
‘GPU_RTX6000’: ComponentModelType.GPU_RTX6000
}”Which one do you mean by “Dedicated_NICS”?
April 1, 2023 at 4:59 pm #4022Dedicated nics are either ConnectX-5 or ConnectX-6 (i.e. anything other that Basic NICs).
April 10, 2023 at 6:09 pm #4074I tried to use dedicated NICs instead of Basic NICs but it didn’t change the results.
When I am using Basic NICs at least I can see that the packets are flowing from h1 to ens7 ethernet inside docker on switch1(and packets stuck there), while using dedicated nics I am getting :
“Node Error Details
s1 Insufficient resources: No candidates nodes found to serve res: #cf8487b6-94ef-47d3-84d3-8b37398826b2 slice: [DEDICATED_P4(740490f8-633a-47b4-a3d2-40151b3b94ed) Owner:nagmat@nevada.unr.edu] state:[Nascent,Ticketing] #
s2 Insufficient resources: No candidates nodes found to serve res: #97c0f7ad-ec63-4fb3-9ba4-53f0480d2c02 slice: [DEDICATED_P4(740490f8-633a-47b4-a3d2-40151b3b94ed) Owner:nagmat@nevada.unr.edu] state:[Nascent,Ticketing] #
s3 Insufficient resources: No candidates nodes found to serve res: #51cbf620-11f0-4d24-879a-3866f1ab5228 slice: [DEDICATED_P4(740490f8-633a-47b4-a3d2-40151b3b94ed) Owner:nagmat@nevada.unr.edu] state:[Nascent,Ticketing] #
h1 TicketReviewPolicy: Closing reservation due to failure in slice#
h2 TicketReviewPolicy: Closing reservation due to failure in slice#
h3 TicketReviewPolicy: Closing reservation due to failure in slice#
net_s1_s2 redeem predecessor reservation# cf8487b6-94ef-47d3-84d3-8b37398826b2 is in a terminal state, failing the reservation# 0844edf2-413a-455c-a646-c2869d669641#
net_s2_s3 redeem predecessor reservation# 97c0f7ad-ec63-4fb3-9ba4-53f0480d2c02 is in a terminal state, failing the reservation# 8281eac2-33c8-484d-9cf1-f63240640f6d#
net_s1_s3 redeem predecessor reservation# 51cbf620-11f0-4d24-879a-3866f1ab5228 is in a terminal state, failing the reservation# cc161864-45a5-4b54-958a-27cbc071a52b#
net_h1 redeem predecessor reservation# cf8487b6-94ef-47d3-84d3-8b37398826b2 is in a terminal state, failing the reservation# c26b4d90-f1e8-4d3b-85ca-3f4546a045d6#
net_h2 redeem predecessor reservation# 97c0f7ad-ec63-4fb3-9ba4-53f0480d2c02 is in a terminal state, failing the reservation# b0ea0acf-8adc-4368-90a1-a1ae10a9c03b#
net_h3 redeem predecessor reservation# 51cbf620-11f0-4d24-879a-3866f1ab5228 is in a terminal state, failing the reservation# 796fab98-2812-4076-8b56-9640badcd9dd# “April 24, 2023 at 12:32 pm #4139Dear Community,
I am sharing a GitHub repository where complex recipes (P4 Bmv2 example) are explained precisely: https://github.com/nagmat1/P4_experiment_Fabric
Feel free to ask questions if you are stuck.
Kind regards,
Nagmat
1 user thanked author for this post.
-
AuthorPosts
- The topic ‘P4_bmv2 example is not working when executed on fabrictestbed.’ is closed to new replies.