-
Notifications
You must be signed in to change notification settings - Fork 257
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
Not configured for off-subnet multicast - Endianness mismatch? #484
Comments
Hi, no, the stack wasn't developed with focus on big endian. As multicasts works for me and the CT does not complain in my tests, I would assume there is another error here. |
Hi all,
The stack rejects to open a T->O multicast cycle connection with the status: Not configured for off-subnet multicast.
During a debugging session, I noticed that it fails at the off-subnet multicast routing check during the ForwardOpenRoutine. Specifically, the originator_ip value is 0xC0A8023A (translate to 192.168.2.58), the interface_ip is 0x4202A8C0 (translate to 66.2.168.192), and the interface_mask is 0x00FFFFFF (translate to 0.255.255.255).
My machine is little-endian, and I believe the stack was developed with big-endian systems in mind.
Should I call htonl() on the originator_ip or the interface_ip and the interface_mask? And where is the appropriate place to do it?
In the NetworkHandlerInitialize() function I find the following:
g_network_status.ip_address = g_tcpip.interface_configuration.ip_address;
g_network_status.network_mask = g_tcpip.interface_configuration.network_mask;
Should I do it here by changing it to:
g_network_status.ip_address = htonl(g_tcpip.interface_configuration.ip_address);
g_network_status.network_mask = htonl(g_tcpip.interface_configuration.network_mask);
The text was updated successfully, but these errors were encountered: