Hi, I figured I'd look how hard it actually was to convert d80211 to a proper protocol. And contrary to my own expectations I succeeded in doing that in just over a day. Just like 8021q, it has virtual devices.
The patchset is huge and can be found at http://johannes.sipsolutions.net/files/d80211-proto/ John, please apply patches 001 and 002 out of the patchset as soon as you can -- they fix issues with cfg80211 that came up on IRC and in private mail to me. Very important, and not related to converting it to a protocol. Each patch comes with a subject and description but since they're large let me discuss some bits here. 001-cfg80211-fix-Makefile.patch cfg80211: fix Makefile brokenness 002-cfg80211-wext-compat.patch cfg80211: fix WE compat code Absolutely required to fix two issues with cfg80211 that make the current tree usable only in the strange configuration WE_NETLINK on and CFG80211 off. 003-d80211-cookie.patch d80211: change the cookie to be opaque This changes the 'cookie' that d80211 returns from alloc_hw to be an opaque value to the driver. Turned out that it wasn't such a great idea but since it was generally a clean up I kept this patch to base my other patches on. 004-bcm43xx-adjust.patch: bcm43xx: adjust for the d80211 changes This adjusts bcm43xx for above changes with the cookie pointer. 005-d80211-reduce-mdev-1.patch 006-d80211-reduce-mdev-2.patch d80211: reduce mdev usage These two patches reduce mdev madness and change a lot of functions to take a struct ieee80211_local * instead of the master netdev 007-d80211-cleanup-rxmgmt.patch d80211: reduce mdev usage, fix ieee80211_rx_mgmt Cleans up the ieee80211_rx_mgmt and related code 008-d80211-scan-sanity.patch d80211: reduce master ieee80211_ptr deref in scan routines Similar to the reduce mdev patches, just for the scan routines 009-d80211-convert-spaces.patch d80211: convert leading spaces to tabs I hated working on the code, so I did this. The next patch breaks everything anyway. 010-d80211-proto.patch d80211: convert to an 802.11 protocol Converts d80211 to be a protocol together with tons of cleanups and more. Hard to describe in two lines. 011-bcm43xx-adjust-proto.patch bcm43xx: adjust to register a real struct net_device makes bcm43xx function after the previous patch Have fun! johannes
signature.asc
Description: This is a digitally signed message part