Hi all! As I mentioned some time ago on linux-wireless [1], I am trying to extend o11s so I can include Scalable Source Routing. Towards that goal, I first need a method to be able to exchange the used mesh path selection protocol. In this patch series, you can see my first approach to an API that enables users to exchange the path selection protocol at runtime. What I have done so far is mostly borrowing source code from block/elevator.c for most of the registration, finding and inserting glue code. Also, I have wrapped mesh_hwmp into an own module and written a test module (pptest) so the module switching can be tried out. To that end, I also have patched iw. For completeness, I will post the patch to iw in reply to this eMail on this list, as it is quite simple, short and affects only two files (compared to 14 or so for the API in the kernel). This is my first patch not only to the kernel, but to any open source project, so please be gentle ;) I am open to suggestions for improvement; please also remind me on any coding style or other errors you may find. I would be very glad if some of the experts here could review it and give me advice on: * If my selection of functions for the abstraction ops-struct is somewhat sane or if I am missing critical parts (this is most important to me) * Which is the best location for the path selection protocol ID (cfg80211 and iw suggest having the value in struct mesh_params. o11s currently stores it in ieee80211_if_mesh->mesh_pp_id, which is in use at least by mesh_matches_local. And finally it obviously needs to be stored in the path selection protocol modules.) Greetings from Munich! Florian [1] http://marc.info/?l=linux-wireless&m=122600107811517&w=2 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html