mptcp: pm: inc RmAddr MIB counter once per RM_ADDR ID
authorYonglongLi <liyonglong@chinatelecom.cn>
Fri, 7 Jun 2024 15:01:49 +0000 (17:01 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 11 Jun 2024 02:49:10 +0000 (19:49 -0700)
commit6a09788c1a66e3d8b04b3b3e7618cc817bb60ae9
treebbb8d866207d76defe68fc972592c8e538669208
parent8031b58c3a9b1db3ef68b3bd749fbee2e1e1aaa3
mptcp: pm: inc RmAddr MIB counter once per RM_ADDR ID

The RmAddr MIB counter is supposed to be incremented once when a valid
RM_ADDR has been received. Before this patch, it could have been
incremented as many times as the number of subflows connected to the
linked address ID, so it could have been 0, 1 or more than 1.

The "RmSubflow" is incremented after a local operation. In this case,
it is normal to tied it with the number of subflows that have been
actually removed.

The "remove invalid addresses" MP Join subtest has been modified to
validate this case. A broadcast IP address is now used instead: the
client will not be able to create a subflow to this address. The
consequence is that when receiving the RM_ADDR with the ID attached to
this broadcast IP address, no subflow linked to this ID will be found.

Fixes: 7a7e52e38a40 ("mptcp: add RM_ADDR related mibs")
Cc: stable@vger.kernel.org
Co-developed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: YonglongLi <liyonglong@chinatelecom.cn>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://lore.kernel.org/r/20240607-upstream-net-20240607-misc-fixes-v1-2-1ab9ddfa3d00@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/pm_netlink.c
tools/testing/selftests/net/mptcp/mptcp_join.sh