batman-adv: throughput meter implementation
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> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
This commit is contained in:

committed by
Simon Wunderlich

parent
f50ca95a69
commit
33a3bb4a33
@@ -46,6 +46,7 @@
|
||||
#include "packet.h"
|
||||
#include "send.h"
|
||||
#include "soft-interface.h"
|
||||
#include "tp_meter.h"
|
||||
#include "translation-table.h"
|
||||
#include "tvlv.h"
|
||||
|
||||
@@ -276,6 +277,13 @@ static int batadv_recv_my_icmp_packet(struct batadv_priv *bat_priv,
|
||||
ret = NET_RX_SUCCESS;
|
||||
|
||||
break;
|
||||
case BATADV_TP:
|
||||
if (!pskb_may_pull(skb, sizeof(struct batadv_icmp_tp_packet)))
|
||||
goto out;
|
||||
|
||||
batadv_tp_meter_recv(bat_priv, skb);
|
||||
ret = NET_RX_SUCCESS;
|
||||
goto out;
|
||||
default:
|
||||
/* drop unknown type */
|
||||
goto out;
|
||||
|
Reference in New Issue
Block a user