mptcp: add and use MIB counter infrastructure
authorFlorian Westphal <fw@strlen.de>
Fri, 27 Mar 2020 21:48:50 +0000 (14:48 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 30 Mar 2020 05:14:49 +0000 (22:14 -0700)
commitfc518953bc9c8d7d33c6ab261995f5038f3c87f9
tree9c4eebd575e693916feb8d234411d08a17ec430a
parent5147dfb5083204d6f5468d6d6d2d04b2cdc0cf2b
mptcp: add and use MIB counter infrastructure

Exported via same /proc file as the Linux TCP MIB counters, so "netstat -s"
or "nstat" will show them automatically.

The MPTCP MIB counters are allocated in a distinct pcpu area in order to
avoid bloating/wasting TCP pcpu memory.

Counters are allocated once the first MPTCP socket is created in a
network namespace and free'd on exit.

If no sockets have been allocated, all-zero mptcp counters are shown.

The MIB counter list is taken from the multipath-tcp.org kernel, but
only a few counters have been picked up so far.  The counter list can
be increased at any time later on.

v2 -> v3:
 - remove 'inline' in foo.c files (David S. Miller)

Co-developed-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/mptcp.h
include/net/netns/mib.h
net/ipv4/af_inet.c
net/ipv4/proc.c
net/mptcp/Makefile
net/mptcp/mib.c [new file with mode: 0644]
net/mptcp/mib.h [new file with mode: 0644]
net/mptcp/protocol.c
net/mptcp/subflow.c