Message ID | 89666f3fb8f14bbe545f2079794ab78ba24fbbc4.1622720045.git.pabeni@redhat.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | [mptcp-next] mptcp: add MIB counter for invalid mapping | expand |
03.06.2021 16:25, Paolo Abeni пишет: > Account this exceptional events for better introspection. > > Signed-off-by: Paolo Abeni <pabeni@redhat.com> > --- > net/mptcp/mib.h | 1 + > net/mptcp/subflow.c | 4 +++- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/net/mptcp/mib.h b/net/mptcp/mib.h > index 92e56c0cfbdd..193466c9b549 100644 > --- a/net/mptcp/mib.h > +++ b/net/mptcp/mib.h > @@ -18,6 +18,7 @@ enum linux_mptcp_mib_field { > MPTCP_MIB_JOINACKMAC, /* HMAC was wrong on ACK + MP_JOIN */ > MPTCP_MIB_DSSNOMATCH, /* Received a new mapping that did not match the previous one */ > MPTCP_MIB_INFINITEMAPRX, /* Received an infinite mapping */ > + MPTCP_MIB_DSSTCPMISMATCH, /* DSS-mapping did not map with TCP's sequence numbers */ Shouldn't there also be a related change to mptcp_snmp_list in mib.c ? > MPTCP_MIB_DATACSUMERR, /* The data checksum fail */ > MPTCP_MIB_OFOQUEUETAIL, /* Segments inserted into OoO queue tail */ > MPTCP_MIB_OFOQUEUE, /* Segments inserted into OoO queue */ > diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c > index 259f99b61c35..ccc07cbab867 100644 > --- a/net/mptcp/subflow.c > +++ b/net/mptcp/subflow.c > @@ -1046,8 +1046,10 @@ static enum mapping_status get_mapping_status(struct sock *ssk, > /* we revalidate valid mapping on new skb, because we must ensure > * the current skb is completely covered by the available mapping > */ > - if (!validate_mapping(ssk, skb)) > + if (!validate_mapping(ssk, skb)) { > + MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_DSSTCPMISMATCH); > return MAPPING_INVALID; > + } > > skb_ext_del(skb, SKB_EXT_MPTCP); > >
On Thu, 2021-06-03 at 17:30 +0300, Maxim Galaganov wrote: > 03.06.2021 16:25, Paolo Abeni пишет: > > Account this exceptional events for better introspection. > > > > Signed-off-by: Paolo Abeni <pabeni@redhat.com> > > --- > > net/mptcp/mib.h | 1 + > > net/mptcp/subflow.c | 4 +++- > > 2 files changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/net/mptcp/mib.h b/net/mptcp/mib.h > > index 92e56c0cfbdd..193466c9b549 100644 > > --- a/net/mptcp/mib.h > > +++ b/net/mptcp/mib.h > > @@ -18,6 +18,7 @@ enum linux_mptcp_mib_field { > > MPTCP_MIB_JOINACKMAC, /* HMAC was wrong on ACK + MP_JOIN */ > > MPTCP_MIB_DSSNOMATCH, /* Received a new mapping that did not match the previous one */ > > MPTCP_MIB_INFINITEMAPRX, /* Received an infinite mapping */ > > + MPTCP_MIB_DSSTCPMISMATCH, /* DSS-mapping did not map with TCP's sequence numbers */ > > Shouldn't there also be a related change to mptcp_snmp_list in mib.c ? Indeed! thanks for double checking! I'll send a v2 /P
diff --git a/net/mptcp/mib.h b/net/mptcp/mib.h index 92e56c0cfbdd..193466c9b549 100644 --- a/net/mptcp/mib.h +++ b/net/mptcp/mib.h @@ -18,6 +18,7 @@ enum linux_mptcp_mib_field { MPTCP_MIB_JOINACKMAC, /* HMAC was wrong on ACK + MP_JOIN */ MPTCP_MIB_DSSNOMATCH, /* Received a new mapping that did not match the previous one */ MPTCP_MIB_INFINITEMAPRX, /* Received an infinite mapping */ + MPTCP_MIB_DSSTCPMISMATCH, /* DSS-mapping did not map with TCP's sequence numbers */ MPTCP_MIB_DATACSUMERR, /* The data checksum fail */ MPTCP_MIB_OFOQUEUETAIL, /* Segments inserted into OoO queue tail */ MPTCP_MIB_OFOQUEUE, /* Segments inserted into OoO queue */ diff --git a/net/mptcp/subflow.c b/net/mptcp/subflow.c index 259f99b61c35..ccc07cbab867 100644 --- a/net/mptcp/subflow.c +++ b/net/mptcp/subflow.c @@ -1046,8 +1046,10 @@ static enum mapping_status get_mapping_status(struct sock *ssk, /* we revalidate valid mapping on new skb, because we must ensure * the current skb is completely covered by the available mapping */ - if (!validate_mapping(ssk, skb)) + if (!validate_mapping(ssk, skb)) { + MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_DSSTCPMISMATCH); return MAPPING_INVALID; + } skb_ext_del(skb, SKB_EXT_MPTCP);
Account this exceptional events for better introspection. Signed-off-by: Paolo Abeni <pabeni@redhat.com> --- net/mptcp/mib.h | 1 + net/mptcp/subflow.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-)