I agree that this looks like a good facility to have but this is not the right way to do it.
There are already several facilities to accomplish the same thing. 1. You can use the operstate functionality in kernel to manipulate carrier from another application (read Documentation/operstate.txt) 2. It is possible with sysfs to change carrier state. The KNI driver just has to provide an .ndo_change_carrier callback. Introducing more ioctl's is not a good thing. KNI needs to get rid of the quick and dirty ioctl approach and follow current best practices for Linux network drivers. It should really be using netlink instead of ioctl(). Ioctl's have several compatibility issues that make them unacceptable upstream. There is a standard API for create/destroy with netlink and the custom ioctl's could be banished into the attic of dead API's. PS: Has anybody even attempted to get KNI upstream? I can see lots of style (and security) issues that would need to be fixed.