Wireless-Extensions (WE) are the extensions added to the kernel circa 1997 by Jean Tourrilhes. We don't document WE as Jean already has documentation for this on his page so what we do do here is document things you should know about WE if you didn't before.
Is WE being further developed ?
No it is not. Only bug fixes are being accepted for WE.
Why we are abandoning WE
WEs are based on ioctl() and although ioctl() has been used and still is being used as a standard transport for communication between user <–> kernelspace new transports are being preferred for several reasons.
From Linux Device Drivers - 3rd Edition:
In user space, the ioctl system call has the following prototype:
int ioctl(int fd, unsigned long cmd, ...);
The prototype stands out in the list of Unix system calls because of the dots, which usually mark the function as having a variable number of arguments. In a real system, however, a system call can’t actually have a variable number of arguments. System calls must have a well-defined prototype, because user programs can access them only through hardware “gates.” Therefore, the dots in the prototype represent not a variable number of arguments but a single optional argument, traditionally identified as char *argp. The dots are simply there to prevent type checking during compilation.
It also states:
The unstructured nature of the ioctl call has caused it to fall out of favor among kernel developers. Each ioctl command is, essentially, a separate, usually undocumented system call, and there is no way to audit these calls in any sort of comprehensive manner. It is also difficult to make the unstructured ioctl arguments work identically on all systems; for example, consider 64-bit systems with a userspace process running in 32-bit mode.
What is Wireless-Extensions' replacement
Isn't this just changing the transport ?
Yes, however netlink provides a more fine grained control over data being transmitted and received. Additionally we are not restricted to only a few number of private calls (31).
Do we still use WE ?
Yes cfg80211 and nl80211 are still being worked on so WEs are still being used. All mac80211 drivers support WEs as mac80211 uses it. The idea is to slowly start moving things onto cfg80211 and nl80211 which are not there yet and add any new features to them as well.