tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: stop ifnet ioctl (ab)use in the kernel, step 1
On Fri, Mar 11, 2011 at 12:13:48PM -0500, der Mouse wrote:
> > The network protocols and some drivers use ioctls to manipulate ifnet
> > flags, to add/delete multicast addresses, and to initialize ifaddrs.
> > I'd like to stop that before I tackle some [other stuff].
>
> Why?
>
> What is the perceived need being addressed here? Do you just find
> if()_ioctl ugly compared to adding more function pointers to struct
> ifnet? Is the if_ioctl() way actually causing some trouble somewhere?
> Something else?
Good questions.
The if_ioctl() way leads to recursion that makes synchronizing ioctls a
worse PITA than it needs to be.
The if_ioctl() way requires lines of code that marshal arguments into an
ifreq (say) and then cast them to (void *). It's more error-prone and a
lot less type-safe than it could be.
Dave
--
David Young OJC Technologies
dyoung%ojctech.com@localhost Urbana, IL * (217) 344-0444 x24
Home |
Main Index |
Thread Index |
Old Index