diff options
author | Sridhar Samudrala <sri@us.ibm.com> | 2006-08-22 03:15:33 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-22 17:55:16 -0400 |
commit | ac0b04627269ff16c3c7ab854a65fe6780c6e3e5 (patch) | |
tree | 421ea678ea12d1e193b3bbf27fb1410355ba9b47 /net/sctp/outqueue.c | |
parent | 72d3b2c970a2d5d2ccb1d1cab4fb76663c4f2e49 (diff) |
[SCTP]: Extend /proc/net/sctp/snmp to provide more statistics.
This patch adds more statistics info under /proc/net/sctp/snmp
that should be useful for debugging. The additional events that
are counted now include timer expirations, retransmits, packet
and data chunk discards.
The Data chunk discards include all the cases where a data chunk
is discarded including high tsn, bad stream, dup tsn and the most
useful one(out of receive buffer/rwnd).
Also moved the SCTP MIB data structures from the generic include
directories to include/sctp/sctp.h.
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp/outqueue.c')
-rw-r--r-- | net/sctp/outqueue.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c index 30b710c54e64..37074a39ecbb 100644 --- a/net/sctp/outqueue.c +++ b/net/sctp/outqueue.c | |||
@@ -467,6 +467,7 @@ void sctp_retransmit(struct sctp_outq *q, struct sctp_transport *transport, | |||
467 | 467 | ||
468 | switch(reason) { | 468 | switch(reason) { |
469 | case SCTP_RTXR_T3_RTX: | 469 | case SCTP_RTXR_T3_RTX: |
470 | SCTP_INC_STATS(SCTP_MIB_T3_RETRANSMITS); | ||
470 | sctp_transport_lower_cwnd(transport, SCTP_LOWER_CWND_T3_RTX); | 471 | sctp_transport_lower_cwnd(transport, SCTP_LOWER_CWND_T3_RTX); |
471 | /* Update the retran path if the T3-rtx timer has expired for | 472 | /* Update the retran path if the T3-rtx timer has expired for |
472 | * the current retran path. | 473 | * the current retran path. |
@@ -475,12 +476,15 @@ void sctp_retransmit(struct sctp_outq *q, struct sctp_transport *transport, | |||
475 | sctp_assoc_update_retran_path(transport->asoc); | 476 | sctp_assoc_update_retran_path(transport->asoc); |
476 | break; | 477 | break; |
477 | case SCTP_RTXR_FAST_RTX: | 478 | case SCTP_RTXR_FAST_RTX: |
479 | SCTP_INC_STATS(SCTP_MIB_FAST_RETRANSMITS); | ||
478 | sctp_transport_lower_cwnd(transport, SCTP_LOWER_CWND_FAST_RTX); | 480 | sctp_transport_lower_cwnd(transport, SCTP_LOWER_CWND_FAST_RTX); |
479 | fast_retransmit = 1; | 481 | fast_retransmit = 1; |
480 | break; | 482 | break; |
481 | case SCTP_RTXR_PMTUD: | 483 | case SCTP_RTXR_PMTUD: |
482 | default: | 484 | SCTP_INC_STATS(SCTP_MIB_PMTUD_RETRANSMITS); |
483 | break; | 485 | break; |
486 | default: | ||
487 | BUG(); | ||
484 | } | 488 | } |
485 | 489 | ||
486 | sctp_retransmit_mark(q, transport, fast_retransmit); | 490 | sctp_retransmit_mark(q, transport, fast_retransmit); |