Hi All, I've managed to get UDP broadcasts working w/o making any changes to the FreeBSD stack of ecos.
Just wanted to detail out here the steps I've taken and get a feedback from you guys on whether it's proper or not... I'm writing a DHCP server with limited-capability (which serves only 1 client). For this I need to send out all my responses on the broadcast address. * I've setup my servers eth0 statically as follows: IP: 10.1.1.1 netmask: 255.255.255.0 Broadcast addr: 10.1.1.255 Gateway: 0 Server: 0 * After a call to init_all_network_interfaces() I setup a static "default" route as follows: route info: Dest IP: 0.0.0.0/0.0.0.0 (any IP) Gw : 10.1.1.1 (me) Dev : eth0 Flags: RTF_UP <--- VERY IMPORTANT! I found that, previously I was setting the flags as "RTF_UP | RTF_GATEWAY". Now this causes the problem that in ip_output() function, the stack uses the "destination" address of the gateway (i.e 10.1.1.1) instead of the actual one (i.e the bcast IP 255.255.255.255) if RTF_GATEWAY flag is set. This causes the packet transmission to fail when trying to resolve the ARP. I don't know why the ARP should fail, since its only trying to resolve for itself! Anyways, I found this to be the cure for my problem, i.e setting the default route and NOT putting this flag. * For sending bcast packets, I use raw sockets (with the relevant ioctl to set the IP_HDRINCL flag). This seems to be working. I've tested it on my Ubuntu machine with dhclient. Do you think this is an acceptable workaround? Thanks, -mandeep On Wed, Aug 12, 2009 at 10:32 AM, Mandeep Sandhu<mandeepsandhu....@gmail.com> wrote: >> >> I am able to send the broadcasts as I intended. > > Are you using UDP or RAW sockets? > > I've also setup my default route to point to eth0. > > But when the UDP packet goes out, I see that it's corrupted. > > Still debugging as to where the screwup is happening? > > Thanks, > -mandeep > >> >> I'd vote for the inclusion of the option in the main tree. >> >> Thanks >> -- >> Stano >> >> -- >> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos >> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss >> >> > -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss