-
Notifications
You must be signed in to change notification settings - Fork 260
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
EthernetUDP in Multicast - packet are sent to EthernetUDP source port instead of the destination port #271
Comments
it is designed to use the same port for receiving and sending |
can you provide a source please ? |
that is not a right use of SEND_MAC. from W5500 datasheet
|
Multicast don't rely on ARP-process. no need to match an IP to a MAC as the group defines the destination MAC. |
How to reproduce the issue :
with this code the packet is sent from recv_port to recv_port, and not to dest_port.
This can be fixed in
socket.cpp > bool EthernetClass::socketSendUDP(uint8_t s)
by replacing
W5100.execCmdSn(s, Sock_SEND);
with
W5100.execCmdSn(s, ((W5100.readSnMR(s) & SnMR::MULTI) == SnMR::MULTI) ? Sock_SEND_MAC : Sock_SEND);
The text was updated successfully, but these errors were encountered: