Generic ioctl and ether_ioctl don't agree

Brooks Davis brooks at freebsd.org
Wed Mar 14 15:02:12 UTC 2007


On Wed, Mar 14, 2007 at 01:20:23PM +0300, Yar Tikhiy wrote:
> Hi folks,
> 
> Quite a while ago I noticed that our ioctl handlers get the ioctl
> command via u_long, but ether_ioctl()'s command argument is int.
> This disarray dates back to 1998, when ioctl functions started to
> take u_long as the command, but ether_ioctl() was never fixed.
> Fortunately, our ioctl command coding still fits in 32 bits, or
> else we would've got problems on 64-bit arch'es already.  I'd like
> to fix this long-standing bug some day after RELENG_7 is branched.
> Of course, this will break ABI to network modules on all 64-bit
> arch'es.  BTW, the same applies to other L2 layers, such as firewire,
> which seems to have been cloned from if_ethersubr.c.
> 
> Any objections or comments?  Thanks!

Why wait?  We're allowed to break module ABIs in current at any time and
there's no chance modules built on RELENG_6 will work on RELENG_7
trees anyway.

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20070314/d0486b1d/attachment.pgp


More information about the freebsd-net mailing list