[v4,0/7] B.A.T.M.A.N. V - fallback to tp meter estimation if throughput otherwise not available

Message ID 20180807130518.27018-1-mareklindner@neomailbox.ch (mailing list archive)
Headers
Series B.A.T.M.A.N. V - fallback to tp meter estimation if throughput otherwise not available |

Message

Marek Lindner Aug. 7, 2018, 1:05 p.m. UTC
  Under normal circumstances B.A.T.M.A.N. V retrieves the neighbor
throughput values to populate its metric tables from the various
drivers such as WiFi throughput tables and Ethernet throughput..
Whenever the interface drivers do not export link throughput 
information manual overrides become necessary. To further 
automate and thus better support these setups, ELP may call the
batman-adv throughput meter to schedule a throughput estimation
to be used to populate the metric table. 

v4:
 * read tp measurement result only once

v3:
 * fix ELP tp meter result computation
 * use batadv_has_timed_out() instead of custom implementation
 * set ELP tp meter test duration to 1000ms in patch #6
 * add comment explaining periodic scheduling

v2:
 * added sysfs attribute to configure tp meter test duration
 * fixed null pointer dereference in TP meter packet sending routine
 * fixed storing the measured throughput in the correct variable
 * checkpatch/kerneldoc/sparse/smatch cleanup

Antonio Quartulli (3):
  batman-adv: tp_meter - prevent concurrent tp_meter sessions by using
    workqueue
  batman-adv: tp_meter - don't check for existing session
  batman-adv: tp_meter - add option to perform one-hop test

Marek Lindner (4):
  batman-adv: tp_meter - allow up to 10 queued sessions
  batman-adv: tp_meter - add caller distinction
  batman-adv: ELP - use tp meter to estimate the throughput if otherwise
    not available
  batman-adv: ELP - add throughput meter test duration attribute

 .../ABI/testing/sysfs-class-net-batman-adv    |   7 +
 include/uapi/linux/batadv_packet.h            |   2 +
 net/batman-adv/bat_v.c                        |   1 +
 net/batman-adv/bat_v_elp.c                    |  69 ++-
 net/batman-adv/bat_v_elp.h                    |  21 +
 net/batman-adv/main.c                         |  10 +-
 net/batman-adv/main.h                         |   7 +-
 net/batman-adv/netlink.c                      |   3 +-
 net/batman-adv/routing.c                      |   6 +-
 net/batman-adv/sysfs.c                        |   3 +
 net/batman-adv/tp_meter.c                     | 465 +++++++++++-------
 net/batman-adv/tp_meter.h                     |  11 +-
 net/batman-adv/types.h                        |  36 ++
 13 files changed, 443 insertions(+), 198 deletions(-)