diff options
author | Vlad Yasevich <vladislav.yasevich@hp.com> | 2008-10-09 17:33:01 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-10-09 17:33:01 -0400 |
commit | 56eb82bb8d2cdd8d9f4838eaa109df41d7164ca5 (patch) | |
tree | 198a26f63294b8ba943ed1227e4a8ca01157d824 | |
parent | 3d5a019d5761a40465337711ae7d2beb1e9b43ec (diff) |
sctp: Fix SNMP number of SCTP_MIB_ABORTED during violation handling.
If ABORT chunks require authentication and a protocol violation
is triggered, we do not tear down the association. Subsequently,
we should not increment SCTP_MIB_ABORTED.
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/sctp/sm_statefuns.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c index 1588d063c68c..f5094f1b5afa 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c | |||
@@ -4188,11 +4188,10 @@ static sctp_disposition_t sctp_sf_abort_violation( | |||
4188 | SCTP_INC_STATS(SCTP_MIB_OUTCTRLCHUNKS); | 4188 | SCTP_INC_STATS(SCTP_MIB_OUTCTRLCHUNKS); |
4189 | } | 4189 | } |
4190 | 4190 | ||
4191 | discard: | ||
4192 | sctp_sf_pdiscard(ep, asoc, SCTP_ST_CHUNK(0), arg, commands); | ||
4193 | |||
4194 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | 4191 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); |
4195 | 4192 | ||
4193 | discard: | ||
4194 | sctp_sf_pdiscard(ep, asoc, SCTP_ST_CHUNK(0), arg, commands); | ||
4196 | return SCTP_DISPOSITION_ABORT; | 4195 | return SCTP_DISPOSITION_ABORT; |
4197 | 4196 | ||
4198 | nomem_pkt: | 4197 | nomem_pkt: |
@@ -4265,12 +4264,10 @@ static sctp_disposition_t sctp_sf_violation_paramlen( | |||
4265 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 4264 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
4266 | SCTP_PERR(SCTP_ERROR_PROTO_VIOLATION)); | 4265 | SCTP_PERR(SCTP_ERROR_PROTO_VIOLATION)); |
4267 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); | 4266 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); |
4267 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | ||
4268 | 4268 | ||
4269 | discard: | 4269 | discard: |
4270 | sctp_sf_pdiscard(ep, asoc, SCTP_ST_CHUNK(0), arg, commands); | 4270 | sctp_sf_pdiscard(ep, asoc, SCTP_ST_CHUNK(0), arg, commands); |
4271 | |||
4272 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | ||
4273 | |||
4274 | return SCTP_DISPOSITION_ABORT; | 4271 | return SCTP_DISPOSITION_ABORT; |
4275 | nomem: | 4272 | nomem: |
4276 | return SCTP_DISPOSITION_NOMEM; | 4273 | return SCTP_DISPOSITION_NOMEM; |