wpa_supplicant: new driver interface API

Jouni Malinen jkmaline
Sun Nov 28 19:51:15 PST 2004

The current development branch in CVS has a new version of the
wpa_supplicant driver API. This is the major cleanup I had planned for
the new development branch to fix some design flaws in the original API.
As a consequence of the changes, the new API is not anymore backwards
compatible and all driver interface implementations (driver_*.c) will
need to be modified for the wpa_supplicant v0.3.x branch. The current
stable branch, v0.2.x, has not (and most likely, will not) change this
API, so the old driver interface code can be used with that branch.

I would appreciate any comments on the driver interface design. Now
would be the best time to do any further changes before v0.3.x branch
starts to get closer to being the next stable branch. Source code
compatibile (i.e., driver_*.c from an older version compiles with the
changed API) changes are ok in the future, but at some point relatively
soon I will stop accepting changes that break the compatibility within
0.3.x branch.

I converted all driver_*.c files that are in the wpa_supplicant CVS
repository to use the new interface. I know that there are number of
external implementations which has not been included in the
wpa_supplicant releases for a reason or another. I can convert them too,
if they are first released under suitable open source license to be
included in the wpa_supplicant releases.. ;-) There may be some more
changes lined up for 0.3.x development branch, so getting the external
code to my CVS will save some maintenance time in the future.

So far, I have only verified that all driver_*.c files compile and
tested that driver_hostapd.c works. I will verify that driver_madwifi.c
and driver_ndiswrapper.c works, too, but for all the other driver_*.c
implementations, I would appreciate it if someone with the hardware
would test the current development snapshot and would report whether
there are any issues that should be fixed.

Jouni Malinen                                            PGP id EFC895FA

More information about the Hostap mailing list