-
-
Notifications
You must be signed in to change notification settings - Fork 90
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
No PIM Join messages; big vs little endian RP #81
Comments
In the last paragraph I'm assuming you mean "if R1 and R2" are both little endian? Yes, I wouldn't be at all surprised if this turns out to be an endian issue. |
I don't think so, because my fixes are only related to SSM and the pseudo RP it uses. In the failing setup, R1 is DR and sends encapsulated data frames to R2 "register" port, I would suspect an endianness problem in the encapsulation/decapsulation. @pramoddevendra: How does R1 know the RP? from static configuration or from negotiation? Could you run tcpdump on R2 to see if the link to R1 is actually receiving register frames? I think R2 will not send join messages if it cannot identify R1 as the DR for the source. |
Since I only use big-endian devices I cannot know for sure, but reading the code, there cannot be an issue in registers encapsultation. But there could be one in BSR/RP negotiations. |
@jp-t Thank you for taking the time to respond! Maybe I get some time to look into this, or someone else beats me to it. Either way your info is most helpful! |
Possibly related fix 892acbe, found by Ventus Networks, on master now. |
I have tried to recreate the issue above with various configurations. |
@josvarix That is awesome feedback, thank you so much! 🎆 🚀 😃 I suspected as much, a year ago, but wasn't really sure. Guess this means we can close this issue now. |
No objections, closing :) |
Hi,
I'm using pimd-2.3.2. my setup is pretty simple
R1 is RP
MCAST RECVR <--> R1(little endian) <------> R2 (big endian) <------> MCAST SENDR = works
MCAST SENDR <--> R1(little endian) <------> R2 (big endian) <------> MCAST RECVR = works
R2 is RP
MCAST RECVR <--> R1(little endian) <------> R2 (big endian) <------> MCAST SENDR = works
MCAST SENDR <--> R1(little endian) <------> R2 (big endian) <------> MCAST RECVR = fails
Only the last case fails, it happens that R2 is RP and when R1 starts sending the mcast packets , I expect R2 to send "PIM JOIN/PRUNE" message to R1 and packet would flow but its not happening.
Curiously, if R1 and R1 are both little endian , there is no problem and all cases work.
Is this endianess problem or something else?
The text was updated successfully, but these errors were encountered: