tcp/session: add tx pacer 81/12681/17
authorFlorin Coras <fcoras@cisco.com>
Tue, 22 May 2018 00:47:40 +0000 (17:47 -0700)
committerDamjan Marion <dmarion@me.com>
Thu, 25 Oct 2018 10:13:18 +0000 (10:13 +0000)
commitd67f112063e6c57160a3d0260537b9dcfe23d217
treec2d5251e7896290cc0a968fb2b4d6d9ba87aef17
parent2fab01ee0f9b406584272968863eee16a3bb1fb9
tcp/session: add tx pacer

Adds tx pacing infrastructure for transport protocols that want to use
it. Particularly useful for connections with non-negligible rtt and
constrained network throughput as it avoids large tx bursts that lead to
local interface tx or network drops.

By default the pacer is disabled. To enabled it for tcp, add tx-pacing
to tcp's startup conf. We are still slightly inefficient in the handling
of incoming packets in established state so the pacer slightly affect
maximum throughput in low lacency scenarios.

Change-Id: Id445b2ffcd64cce015f75b773f7d722faa0f7ca9
Signed-off-by: Florin Coras <fcoras@cisco.com>
src/vnet/session/session.c
src/vnet/session/session.h
src/vnet/session/session_node.c
src/vnet/session/transport.c
src/vnet/session/transport.h
src/vnet/session/transport_interface.h
src/vnet/tcp/tcp.c
src/vnet/tcp/tcp.h
src/vnet/tcp/tcp_input.c
src/vnet/tcp/tcp_output.c