-
Notifications
You must be signed in to change notification settings - Fork 332
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clone one packet to CPU but get 18 replicated packets #891
Comments
I reran the simple_switch_grpc and configured it using my p4runtime controller, I got the right result. but everytime after I reran my p4runtime controller, the replicated packets increase one. Obviously,it is due to multiple inserts of clone session entry . However, the In issue #667 antoninbas said
so I think if there are multi-replicas in multicast group entry because I inserted clone session entry repeatedly, but result shows there is only one replicas like CloneSessionEntry: multicast_group_entry {
multicast_group_id: 32769
replicas {
egress_port: 255
instance: 1
}
} the [07:10:56.975] [bmv2] [D] [thread 19220] mgrp node created for mgid 32769
[07:10:56.975] [bmv2] [D] [thread 19220] node created for rid 1
[07:10:56.975] [bmv2] [D] [thread 19220] node associated with mgid 32769 I am so confused. Is it a bug of bmv2's implementation about Clone/Multicast? Maybe we should avoid repetitive inserts in bmv2 or raise an exception when inserting existent entry . |
Do you have a script I can run to insert the same clone session id multiple times? Because when I try to do it with the latest version of bmv2 and p4runtime-sh, I get the following error:
And the bmv2 logs show:
|
Actually I was able to reproduce this by restarting p4runtime-shell, so I spoke too quickly. I need to think about it some more, but I assume that your controller does a |
yes, I can Why it raises an error when inserting existent clone session entry at the same p4runtime-shell, but not at another p4runtime-shell? even no replicas found in multicast/clone session entry. |
There are 2 levels of state:
When you do a Depending on the command-line flags used, p4runtime-shell will perform a
then you will see an error If you run the same sequence but with |
Thank you a lot, I think I have got the point and know the reasons. In my controller script, I use the Maybe we'd better clears multicast state for both 1 and 2 when do a |
This issue is stale because it has been open 180 days with no activity. Remove stale label or comment, or this will be closed in 180 days |
I want to clone a packet to cpu, but get a lot. There is my p4 code:
and configure the clone session with P4Runtime :
the logs of bmv2 shows:
It seems all right, but when I send a packet, I got 18 replicated packets:
I receive packet from switch like this:
the ouput shows :
I really got 18 same packets, but the number is uncertain, some time 8 or 9.
Why the replicated packets is more than one I need? it's a bug or I used the
clone
function in a wrong way? I hope you can help me, thanks a lot!The text was updated successfully, but these errors were encountered: