sctp: add transport state in /proc/net/sctp/remaddr
authorMichele Baldessari <michele@acksyn.org>
Thu, 30 Oct 2014 09:29:15 +0000 (10:29 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Oct 2014 23:40:16 +0000 (19:40 -0400)
It is often quite helpful to be able to know the state of a transport
outside of the application itself (for troubleshooting purposes or for
monitoring purposes). Add it under /proc/net/sctp/remaddr.

Signed-off-by: Michele Baldessari <michele@acksyn.org>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sctp/proc.c

index 34229ee7f379902b16a7659f82545f10e5908b17..bfb242af06abe4a98e7457ab3b83982509ac7ba6 100644 (file)
@@ -417,7 +417,7 @@ static void *sctp_remaddr_seq_start(struct seq_file *seq, loff_t *pos)
 
        if (*pos == 0)
                seq_printf(seq, "ADDR ASSOC_ID HB_ACT RTO MAX_PATH_RTX "
-                               "REM_ADDR_RTX  START\n");
+                               "REM_ADDR_RTX START STATE\n");
 
        return (void *)pos;
 }
@@ -497,7 +497,13 @@ static int sctp_remaddr_seq_show(struct seq_file *seq, void *v)
                         * currently implemented, but we can record it with a
                         * jiffies marker in a subsequent patch
                         */
-                       seq_printf(seq, "0");
+                       seq_printf(seq, "0 ");
+
+                       /*
+                        * The current state of this destination. I.e.
+                        * SCTP_ACTIVE, SCTP_INACTIVE, ...
+                        */
+                       seq_printf(seq, "%d", tsp->state);
 
                        seq_printf(seq, "\n");
                }