If you have virtual network interfaces for example: eth0, eth0:0, eth0:1, eth0:2, etc rwhod will broadcast on each one. When it should only broadcast on the real one. Fix: In the configure option do a check for ":" in the adapter name. If there free the list item and continue to the next. See code below. Other fixes would be to keep a list of network address and not dup them. This would still broadcast to different networks on the same wire. I don't have this problem so I took the easy way out. configure(int s) .... .... strcpy(np->n_name, ifr->ifr_name); co = strchr(np->n_name,':'); if (co) { free((char *)np); continue; }
fixed in 0.17-8, available soon in rawhide. Thanks for the patch.