On Wednesday, May 18, 2016 11:38:49 Sven Eckelmann wrote:
From: Antonio Quartulli antonio.quartulli@open-mesh.com
The throughput meter module is a simple, kernel-space replacement for throughtput measurements tool like iperf and netperf. It is intended to approximate TCP behaviour.
It is invoked through batctl: the protocol is connection oriented, with cumulative acknowledgment and a dynamic-size sliding window.
The test *can* be interrupted by batctl. A receiver side timeout avoids unlimited waitings for sender packets: after one second of inactivity, the receiver abort the ongoing test.
Based on a prototype from Edo Monticelli montik@autistici.org
Signed-off-by: Antonio Quartulli antonio.quartulli@open-mesh.com Signed-off-by: Sven Eckelmann sven.eckelmann@open-mesh.com
v11:
- moved batadv_tp_meter_init to batadv_init (main.c)
- fixed missing space in kerneldoc between "<" and "0"
- port to nla_put_u64_64bit
- add compat code for nla_put_u64_64bit
- introduce attribute BATADV_ATTR_PAD which is used for alignment
- rename batadv_real_genl_register_family back to genl_register_family in compat-include
v10:
- no changes
v9:
- rebase on top of current master+"batman-adv: Include main.h in all
files"+ "batman-adv: Keep includes ordered by filename"
- adjust BATADV_DBG_TP_METER to bit 7 to avoid conflicts with mcast
- Renamed BATADV_TP_SIGINT to BATADV_TP_REASON_CANCEL
- Renamed batadv_tp_meter_reason enumerals to BATADV_TP_REASON*
- Remove unrelated patch chunk in batadv_iv_ogm_orig_add_if
- Re-add accidentally removed empty line from batadv_recv_my_icmp_packet
- define BATADV_TP_PLEN via BATADV_TP_PACKET_LEN (increases it to 1476)
- fixed whitespace problems in compat code
- remove double "a" in kerneldoc for batadv_tp_meter_reason
v8:
- rebase on top of current master
v7:
- add compatibility code for v3.13
- make batadv_netlink_mcgrps non-const because v3.12 needs it writable
v6:
- increase total_bytes to 64 bit to allow higher speeds/longer test times
compat-include/linux/netlink.h | 113 +++ compat-include/net/genetlink.h | 127 +++- include/uapi/linux/batman_adv.h | 43 ++ net/batman-adv/Makefile | 1 + net/batman-adv/main.c | 4 + net/batman-adv/main.h | 26 +- net/batman-adv/netlink.c | 234 +++++- net/batman-adv/netlink.h | 6 + net/batman-adv/packet.h | 54 ++ net/batman-adv/routing.c | 8 + net/batman-adv/soft-interface.c | 2 + net/batman-adv/tp_meter.c | 1503 +++++++++++++++++++++++++++++++++++++++ net/batman-adv/tp_meter.h | 34 + net/batman-adv/types.h | 112 +++ 14 files changed, 2255 insertions(+), 12 deletions(-) create mode 100644 compat-include/linux/netlink.h create mode 100644 net/batman-adv/tp_meter.c create mode 100644 net/batman-adv/tp_meter.h
Applied in revision 98d7a76.
Thanks, Marek