Claudio Jeker <[email protected]> wrote: > Honestly I think this is overkill. There is no stat struct where we do > this dance. It is accepted that netstat needs to keep in sync for these > structs to work. Why is it necessary to disconnect the kernel and userland > for this?
Actually there is a major one: it is how ps works. I think the problem is when this struct is changed, ifconfig becomes unusable? Making a different userland & kernel struct might not solve it, unless some games are played. For instance, append extra pads for future extension, so that the ioctl can still get at the data when fields are used. Discourage changing the types/sizes of fields. When a field is removed, change it into a pad rather than shuffling the struct. Eventually we'll hit a flag day. But with this current design, I think we'll trip into kernel:userland ABI breakage too easily, and it just needs some clever policy around the struct to ensure it doesn't cause that breakage.
