mptcp: userspace pm allow creating id 0 subflow
authorGeliang Tang <geliang.tang@suse.com>
Wed, 4 Oct 2023 20:38:12 +0000 (13:38 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 5 Oct 2023 16:34:32 +0000 (09:34 -0700)
This patch drops id 0 limitation in mptcp_nl_cmd_sf_create() to allow
creating additional subflows with the local addr ID 0.

There is no reason not to allow additional subflows from this local
address: we should be able to create new subflows from the initial
endpoint. This limitation was breaking fullmesh support from userspace.

Fixes: 702c2f646d42 ("mptcp: netlink: allow userspace-driven subflow establishment")
Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/391
Cc: stable@vger.kernel.org
Suggested-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <martineau@kernel.org>
Link: https://lore.kernel.org/r/20231004-send-net-20231004-v1-2-28de4ac663ae@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/pm_userspace.c

index b5a8aa4c1ebd6d6f30b312cb0e13d31ce3aea9cc..d042d32beb4df0955aec27e14bef72e63dc6361a 100644 (file)
@@ -307,12 +307,6 @@ int mptcp_nl_cmd_sf_create(struct sk_buff *skb, struct genl_info *info)
                goto create_err;
        }
 
-       if (addr_l.id == 0) {
-               NL_SET_ERR_MSG_ATTR(info->extack, laddr, "missing local addr id");
-               err = -EINVAL;
-               goto create_err;
-       }
-
        err = mptcp_pm_parse_addr(raddr, info, &addr_r);
        if (err < 0) {
                NL_SET_ERR_MSG_ATTR(info->extack, raddr, "error parsing remote addr");