From: Geliang Tang Date: Wed, 23 Feb 2022 06:50:37 +0000 (+0800) Subject: mptcp: add fullmesh check for adding address X-Git-Tag: v5.18.0~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fb6bda0680a9dcac206c40ee3211abf8507baa4;p=thirdparty%2Fiproute2.git mptcp: add fullmesh check for adding address The fullmesh flag mustn't be used with the signal flag when adding an address. Commands like this should be treated as invalid commands: ip mptcp endpoint add 10.0.2.1 signal fullmesh This patch added the necessary flags check for this case. Acked-by: Mat Martineau Signed-off-by: Geliang Tang Signed-off-by: David Ahern --- diff --git a/ip/ipmptcp.c b/ip/ipmptcp.c index eef7c6f40..5682c7df3 100644 --- a/ip/ipmptcp.c +++ b/ip/ipmptcp.c @@ -116,6 +116,11 @@ static int mptcp_parse_opt(int argc, char **argv, struct nlmsghdr *n, int cmd) ll_init_map(&rth); while (argc > 0) { if (get_flags(*argv, &flags) == 0) { + if (adding && + (flags & MPTCP_PM_ADDR_FLAG_SIGNAL) && + (flags & MPTCP_PM_ADDR_FLAG_FULLMESH)) + invarg("flags mustn't have both signal and fullmesh", *argv); + /* allow changing the 'backup' flag only */ if (cmd == MPTCP_PM_CMD_SET_FLAGS && (flags & ~MPTCP_PM_ADDR_FLAG_BACKUP))