This patchset adds the network wide multi interface optimization as
proposed in our wiki [1] for BATMAN IV. The main purpose is to do
interface alternating and bonding by considering multi interface
capabilities globally and not just for the (next) link, otherwise
non-optimal links may be chosen.
This patchset needs to change a lot of core data structures and
routing, please review it carefully. A local development branch
exists on the public git repo [2].
Changes from RFCv2 in September are:
* add debugfs file to view metric values for various interfaces (new patch)
* many style and kerneldoc fixes (thanks Antonio)
* use two interface parameters for bat_neigh_cmp (Antonio)
* simplify and fix last candidate usage in bonding (Antonio)
* rebase on latest master
I've tested the patchset in my VMs to confirm that bonding and alternating
works as expected.
As always, any comments are appreciated!
Thanks,
Simon
[1]
http://www.open-mesh.org/projects/batman-adv/wiki/network-wide-multi-link-optimization
[2]
http://git.open-mesh.org/batman-adv.git/shortlog/refs/heads/simon/network-wide-multiif
Simon Wunderlich (7):
batman-adv: remove bonding and interface alternating
batman-adv: split tq information in neigh_node struct
batman-adv: split out router from orig_node
batman-adv: add WiFi penalty
batman-adv: consider outgoing interface in OGM sending
batman-adv: add bonding again
batman-adv: add debugfs support to view multiif tables
bat_iv_ogm.c | 764 ++++++++++++++++++++++++++++++++---------------
debugfs.c | 16 +
distributed-arp-table.c | 3 +-
gateway_client.c | 79 ++++-
hard-interface.c | 2 +-
hard-interface.h | 19 ++
icmp_socket.c | 2 +-
network-coding.c | 9 +-
originator.c | 362 +++++++++++++++++++---
originator.h | 11 +-
routing.c | 414 ++++++++-----------------
routing.h | 12 +-
send.c | 19 +-
soft-interface.c | 2 +-
translation-table.c | 5 +-
types.h | 126 +++++---
16 files changed, 1184 insertions(+), 661 deletions(-)
--
1.7.10.4