Subject: Re: PR-7148 (causes kernel panic)
To: Christos Zoulas <>
From: Manuel Bouyer <>
List: tech-net
Date: 10/29/1999 22:32:06
On Thu, Oct 28, 1999 at 09:38:37PM +0000, Christos Zoulas wrote:
> sysctl and the routing socket are exported interfaces. You need to version
> them.

For sysctl this has not always been respected then ...
At last when I removed kern.shortcorename I didn't keep it under COMPAT_14.
Shoud I have ?
Or does your comment only apply to "complex" sysctl data ?

> The sysctl one is easy: NET_RT_IFLIST becomes NET_RT_OIFLIST, and
> we define a new number of NET_RT_IFLIST. Then using struct if_msghdr15
> (the old if_msghdr) implement NET_RT_OIFLIST, if COMPAT_15 is defined.

Sure, it's easy (I guess you mean COMPAT_14 here :).

> The routing socket one is RTM_IFINFO -> RTM_OLDIFINFO etc...

The problem with the routing socket is: RTM_IFINFO messages are only send
on the kernel initiative (when and iface goes up or down). What can we do
here ? Send both messages, the processes will pick the rigth one ?

I've already started the change, I should have diffs for the sysctl stuff
ready soon. The routing socket is less clear.

For the record I'm running a kernel with a changed if_data and old userland
without troubles (just netstat -i reports wrong stats), tested with ethernet
and ppp. Maybe stuffs like routed or gated would have problem but I don't
use theses :)

Manuel Bouyer <>