Revert "mptcp: handle consistently DSS corruption"
This reverts commit 3f4af240b0
.
This commit is contained in:
parent
6236b4ccaf
commit
f17b8dfeea
4 changed files with 4 additions and 22 deletions
|
@ -23,8 +23,6 @@ static const struct snmp_mib mptcp_snmp_list[] = {
|
|||
SNMP_MIB_ITEM("MPJoinAckRx", MPTCP_MIB_JOINACKRX),
|
||||
SNMP_MIB_ITEM("MPJoinAckHMacFailure", MPTCP_MIB_JOINACKMAC),
|
||||
SNMP_MIB_ITEM("DSSNotMatching", MPTCP_MIB_DSSNOMATCH),
|
||||
SNMP_MIB_ITEM("DSSCorruptionFallback", MPTCP_MIB_DSSCORRUPTIONFALLBACK),
|
||||
SNMP_MIB_ITEM("DSSCorruptionReset", MPTCP_MIB_DSSCORRUPTIONRESET),
|
||||
SNMP_MIB_ITEM("InfiniteMapRx", MPTCP_MIB_INFINITEMAPRX),
|
||||
SNMP_MIB_ITEM("OFOQueueTail", MPTCP_MIB_OFOQUEUETAIL),
|
||||
SNMP_MIB_ITEM("OFOQueue", MPTCP_MIB_OFOQUEUE),
|
||||
|
|
|
@ -16,8 +16,6 @@ enum linux_mptcp_mib_field {
|
|||
MPTCP_MIB_JOINACKRX, /* Received an ACK + MP_JOIN */
|
||||
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_DSSCORRUPTIONFALLBACK,/* DSS corruption detected, fallback */
|
||||
MPTCP_MIB_DSSCORRUPTIONRESET, /* DSS corruption detected, MPJ subflow reset */
|
||||
MPTCP_MIB_INFINITEMAPRX, /* Received an infinite mapping */
|
||||
MPTCP_MIB_OFOQUEUETAIL, /* Segments inserted into OoO queue tail */
|
||||
MPTCP_MIB_OFOQUEUE, /* Segments inserted into OoO queue */
|
||||
|
|
|
@ -457,18 +457,6 @@ static void mptcp_check_data_fin(struct sock *sk)
|
|||
}
|
||||
}
|
||||
|
||||
static void mptcp_dss_corruption(struct mptcp_sock *msk, struct sock *ssk)
|
||||
{
|
||||
if (READ_ONCE(msk->allow_infinite_fallback)) {
|
||||
MPTCP_INC_STATS(sock_net(ssk),
|
||||
MPTCP_MIB_DSSCORRUPTIONFALLBACK);
|
||||
mptcp_do_fallback(ssk);
|
||||
} else {
|
||||
MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_DSSCORRUPTIONRESET);
|
||||
mptcp_subflow_reset(ssk);
|
||||
}
|
||||
}
|
||||
|
||||
static bool __mptcp_move_skbs_from_subflow(struct mptcp_sock *msk,
|
||||
struct sock *ssk,
|
||||
unsigned int *bytes)
|
||||
|
@ -531,12 +519,10 @@ static bool __mptcp_move_skbs_from_subflow(struct mptcp_sock *msk,
|
|||
moved += len;
|
||||
seq += len;
|
||||
|
||||
if (unlikely(map_remaining < len))
|
||||
mptcp_dss_corruption(msk, ssk);
|
||||
if (WARN_ON_ONCE(map_remaining < len))
|
||||
break;
|
||||
} else {
|
||||
if (unlikely(!fin))
|
||||
mptcp_dss_corruption(msk, ssk);
|
||||
|
||||
WARN_ON_ONCE(!fin);
|
||||
sk_eat_skb(ssk, skb);
|
||||
done = true;
|
||||
}
|
||||
|
|
|
@ -702,7 +702,7 @@ static bool skb_is_fully_mapped(struct sock *ssk, struct sk_buff *skb)
|
|||
unsigned int skb_consumed;
|
||||
|
||||
skb_consumed = tcp_sk(ssk)->copied_seq - TCP_SKB_CB(skb)->seq;
|
||||
if (unlikely(skb_consumed >= skb->len))
|
||||
if (WARN_ON_ONCE(skb_consumed >= skb->len))
|
||||
return true;
|
||||
|
||||
return skb->len - skb_consumed <= subflow->map_data_len -
|
||||
|
|
Loading…
Add table
Reference in a new issue