I'm trying to broadcast some data via a RAW socket to some workstations
on my LAN. I've constructed my UDP and IP headers and have tested them
on SGI's running Irix 5.3. My data and header's are fine, but when I try
to port it to Linux, I get errors depending on the role of the machine.
On client side:
I log in as root and try to send my constructed packet to an IP address of
a real machine. It seems to send but nothing in fact gets sent out of my
machine. I used tcpdump to verify this. Now if I change the dest. IP to
the broadcast address, I get errno 13 corresponding to "Permission denied"
in Linux 1.3.59. I've made sure that the Big and Little Endian Bitfields are
taken care of in my Makefile.
On server side:
If I'm sending from my SGI to a broadcast address, I receive the packet on my
Linux machine, but the data is partially corrupted. Basically I'm sending a
struct containing a string and an integer over. The string comes out ok but
the integer is way off.
On the other SGI, the data comes across fine though.
Is there something special that I have to specify in my make .config file for
the kernel? As of right now, I have multicasting off.