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 <mathew.j.martineau@linux.intel.com>
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
ip/ipmptcp.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/ip/ipmptcp.c b/ip/ipmptcp.c
index eef7c6f4..0b744720 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("invalid flags\n", *argv);
+
/* allow changing the 'backup' flag only */
if (cmd == MPTCP_PM_CMD_SET_FLAGS &&
(flags & ~MPTCP_PM_ADDR_FLAG_BACKUP))
--
2.34.1