]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
ip: mptcp: 'id 0' is only for 'del'
authorMatthieu Baerts (NGI0) <matttbe@kernel.org>
Sat, 27 Jul 2024 10:10:36 +0000 (12:10 +0200)
committerStephen Hemminger <stephen@networkplumber.org>
Fri, 2 Aug 2024 17:47:39 +0000 (10:47 -0700)
Adding an endpoint with 'id 0' is not allowed. In this case, the kernel
will ignore this 'id 0' and set another one.

Similarly, because there are no endpoints with this 'id 0', changing an
attribute for such endpoint will not be possible.

To avoid some confusions, it sounds better to clearly report an error
that the ID cannot be 0 in these cases.

Acked-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
ip/ipmptcp.c

index 9847f95b4a02f71abba56e7d311b9663b732208b..118bac4a42a1ea3ce9710510df1353683eb29c89 100644 (file)
@@ -174,6 +174,8 @@ static int mptcp_parse_opt(int argc, char **argv, struct nlmsghdr *n, int cmd)
                        invarg("invalid for non-zero id address\n", "ADDRESS");
                else if (!id && !addr_set)
                        invarg("address is needed for deleting id 0 address\n", "ID");
+       } else if (id_set && !deling && !id) {
+               invarg("cannot be 0\n", "ID");
        }
 
        if (adding && port && !(flags & MPTCP_PM_ADDR_FLAG_SIGNAL))