aboutsummaryrefslogtreecommitdiffstats
path: root/net/sctp/proc.c
diff options
context:
space:
mode:
authorNeil Horman <nhorman@tuxdriver.com>2008-02-29 14:40:56 -0500
committerDavid S. Miller <davem@davemloft.net>2008-02-29 14:40:56 -0500
commit58fbbed4fbc0094fc808a568fe99a915f85402ee (patch)
tree8b6dc5a6c12e1749577c6fcb4600706090564cc2 /net/sctp/proc.c
parent665bba10872fe995773b10c491519f148110576d (diff)
[SCTP]: extend exported data in /proc/net/sctp/assoc
RFC 3873 specifies several MIB objects that can't be obtained by the current data set exported by /proc/sys/net/sctp/assoc. This patch adds the missing pieces of data that allow us to compute all the objects in the sctpAssocTable object. Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp/proc.c')
-rw-r--r--net/sctp/proc.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/net/sctp/proc.c b/net/sctp/proc.c
index 9e214da82d9e..82bea300308d 100644
--- a/net/sctp/proc.c
+++ b/net/sctp/proc.c
@@ -281,8 +281,10 @@ static void * sctp_assocs_seq_start(struct seq_file *seq, loff_t *pos)
281 *pos = 0; 281 *pos = 0;
282 282
283 if (*pos == 0) 283 if (*pos == 0)
284 seq_printf(seq, " ASSOC SOCK STY SST ST HBKT ASSOC-ID TX_QUEUE RX_QUEUE UID INODE LPORT " 284 seq_printf(seq, " ASSOC SOCK STY SST ST HBKT "
285 "RPORT LADDRS <-> RADDRS\n"); 285 "ASSOC-ID TX_QUEUE RX_QUEUE UID INODE LPORT "
286 "RPORT LADDRS <-> RADDRS "
287 "HBINT INS OUTS MAXRT T1X T2X RTXC\n");
286 288
287 return (void *)pos; 289 return (void *)pos;
288} 290}
@@ -321,15 +323,21 @@ static int sctp_assocs_seq_show(struct seq_file *seq, void *v)
321 assoc = sctp_assoc(epb); 323 assoc = sctp_assoc(epb);
322 sk = epb->sk; 324 sk = epb->sk;
323 seq_printf(seq, 325 seq_printf(seq,
324 "%8p %8p %-3d %-3d %-2d %-4d %4d %8d %8d %7d %5lu %-5d %5d ", 326 "%8p %8p %-3d %-3d %-2d %-4d "
327 "%4d %8d %8d %7d %5lu %-5d %5d "
328 "%8d %5d %5d %4d %4d %4d %8d ",
325 assoc, sk, sctp_sk(sk)->type, sk->sk_state, 329 assoc, sk, sctp_sk(sk)->type, sk->sk_state,
326 assoc->state, hash, assoc->assoc_id, 330 assoc->state, hash,
331 assoc->assoc_id,
327 assoc->sndbuf_used, 332 assoc->sndbuf_used,
328 atomic_read(&assoc->rmem_alloc), 333 atomic_read(&assoc->rmem_alloc),
329 sock_i_uid(sk), sock_i_ino(sk), 334 sock_i_uid(sk), sock_i_ino(sk),
330 epb->bind_addr.port, 335 epb->bind_addr.port,
331 assoc->peer.port); 336 assoc->peer.port,
332 337 assoc->hbinterval, assoc->c.sinit_max_instreams,
338 assoc->c.sinit_num_ostreams, assoc->max_retrans,
339 assoc->init_retries, assoc->shutdown_retries,
340 assoc->rtx_data_chunks);
333 seq_printf(seq, " "); 341 seq_printf(seq, " ");
334 sctp_seq_dump_local_addrs(seq, epb); 342 sctp_seq_dump_local_addrs(seq, epb);
335 seq_printf(seq, "<-> "); 343 seq_printf(seq, "<-> ");