sctp: add the sctp_diag.c file
authorXin Long <lucien.xin@gmail.com>
Thu, 14 Apr 2016 07:35:33 +0000 (15:35 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Apr 2016 21:29:36 +0000 (17:29 -0400)
commit8f840e47f190cbe61a96945c13e9551048d42cef
tree9a79086f9f86fccde48826571de158d6eb7d3695
parentcb2050a7b8131a9a9f3f97276df1feaae8987dc8
sctp: add the sctp_diag.c file

This one will implement all the interface of inet_diag, inet_diag_handler.
which includes sctp_diag_dump, sctp_diag_dump_one and sctp_diag_get_info.

It will work as a module, and register inet_diag_handler when loading.

v2->v3:
- fix the mistake in inet_assoc_attr_size().

- change inet_diag_msg_laddrs_fill() name to inet_diag_msg_sctpladdrs_fill.

- change inet_diag_msg_paddrs_fill() name to inet_diag_msg_sctpaddrs_fill.

- add inet_diag_msg_sctpinfo_fill() to make asoc/ep fill code clearer.

- add inet_diag_msg_sctpasoc_fill() to make asoc fill code clearer.

- merge inet_asoc_diag_fill() and inet_ep_diag_fill() to
  inet_sctp_diag_fill().

- call sctp_diag_get_info() directly, instead by handler, cause the caller
  is in the same file with it.

- call lock_sock in sctp_tsp_dump_one() to make sure we call get sctp info
  safely.

- after lock_sock(sk), we should check sk != assoc->base.sk.

- change mem[SK_MEMINFO_WMEM_ALLOC] to asoc->sndbuf_used for asoc dump when
  asoc->ep->sndbuf_policy is set. don't use INET_DIAG_MEMINFO attr any more.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/inet_diag.h
net/sctp/Kconfig
net/sctp/Makefile
net/sctp/sctp_diag.c [new file with mode: 0644]