Hi,
i've just committed this patch in revision 1551, as no further comments and critiques came in. I would consider this patch rather simple, and as experimental feature it is switched off by default anyways ... :)
I've changed only a small thing in the committed patch: When neighbors are purged, the bonding candidate list gets updated instead of bonding switched off.
did not have the time to go through your patch in much detail. I just scrolled over it and stumbled over routing.c line 1018. I guess you wanted to write: spin_*un*lock_irqsave(&orig_hash_lock, flags);
Regards, Marek