Opened on 02/16/09 at 20:18:15
Closed on 07/14/11 at 18:27:32
#1381 closed defect (fixed)
Multicast sendto() fails unless a reachable gateway is specified
Reported by: | Gene Smith | Owned by: | Eric Norum |
---|---|---|---|
Priority: | normal | Milestone: | 4.10 |
Component: | network/legacy | Version: | 4.9 |
Severity: | normal | Keywords: | |
Cc: | joel.sherrill@… | Blocked By: | |
Blocking: |
Description
If a null or unreachable gateway is specified either statically in networkconfig.h or from dhcp/bootp, sendto() fails on multicast send with errno 118 "Host is unreachable". The failure occurs in networking file ip_output.c since it currently requires all multicasts to have a valid route to the outside world.
This is fixed in BSD ip_output.c at version 1.128 and 1.99.2.17 as found on this page:
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/ip_output.c?r1=1.128#rev1.128
Note: Even with this fix, it is necessary to set the socket option IP_MULTICAST_IF for the sending socket. Also, the inferace must have the flag IFF_MULTICAST set in the driver to permit m/c sends. However, these are not sufficient in themselves and the attached patch is still needed.
Attachments (1)
Change History (3)
Changed on 02/16/09 at 20:18:15 by Gene Smith
Attachment: | ip_output.c.diff added |
---|
comment:1 Changed on 07/14/11 at 18:24:14 by Joel Sherrill
Cc: | Joel Sherrill added |
---|
comment:2 Changed on 07/14/11 at 18:27:32 by Joel Sherrill
Resolution: | → fixed |
---|---|
Status: | new → closed |
PRs noted in release notes. Closing.
Fix based on BSD code