Bill, Thanks for your help the other week. It seems, though, that in order to fix my code, I had to replicate exactly what route(8) did.
Specifically, it fills out the netmask sockaddr_in in this way: it counts the number of bytes of netmask set within the sockaddr and sets sin_len accordingly. It is also necessary to pad each sockaddr after the rtmsg header to the nearest longword, otherwise nothing works. I have actually managed to panic the 5.1 kernel by passing a wrongly formatted routing message in. The on-demand routing example now works on its own without the need for the user to configure an interface or a route; they do have to specify a network address in CIDR notation which will be used with the XRESOLVE flag and the disc1 interface. They also need to kldload if_disc, I haven't brought maybeload in from ifconfig(8) [yet]. BMS _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"
