Skip to content

Commit 371b903

Browse files
Geliang Tangdavem330
authored andcommitted
selftests: mptcp: set and print the fullmesh flag
This patch dealt with the MPTCP_PM_ADDR_FLAG_FULLMESH flag in add_addr() and print_addr(), to set and print out the fullmesh flag. Signed-off-by: Geliang Tang <geliangtang@xiaomi.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 1a0d613 commit 371b903

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

tools/testing/selftests/net/mptcp/pm_nl_ctl.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
static void syntax(char *argv[])
2626
{
2727
fprintf(stderr, "%s add|get|set|del|flush|dump|accept [<args>]\n", argv[0]);
28-
fprintf(stderr, "\tadd [flags signal|subflow|backup] [id <nr>] [dev <name>] <ip>\n");
28+
fprintf(stderr, "\tadd [flags signal|subflow|backup|fullmesh] [id <nr>] [dev <name>] <ip>\n");
2929
fprintf(stderr, "\tdel <id> [<ip>]\n");
3030
fprintf(stderr, "\tget <id>\n");
3131
fprintf(stderr, "\tset <ip> [flags backup|nobackup]\n");
@@ -236,11 +236,18 @@ int add_addr(int fd, int pm_family, int argc, char *argv[])
236236
flags |= MPTCP_PM_ADDR_FLAG_SIGNAL;
237237
else if (!strcmp(tok, "backup"))
238238
flags |= MPTCP_PM_ADDR_FLAG_BACKUP;
239+
else if (!strcmp(tok, "fullmesh"))
240+
flags |= MPTCP_PM_ADDR_FLAG_FULLMESH;
239241
else
240242
error(1, errno,
241243
"unknown flag %s", argv[arg]);
242244
}
243245

246+
if (flags & MPTCP_PM_ADDR_FLAG_SIGNAL &&
247+
flags & MPTCP_PM_ADDR_FLAG_FULLMESH) {
248+
error(1, errno, "error flag fullmesh");
249+
}
250+
244251
rta = (void *)(data + off);
245252
rta->rta_type = MPTCP_PM_ADDR_ATTR_FLAGS;
246253
rta->rta_len = RTA_LENGTH(4);
@@ -422,6 +429,13 @@ static void print_addr(struct rtattr *attrs, int len)
422429
printf(",");
423430
}
424431

432+
if (flags & MPTCP_PM_ADDR_FLAG_FULLMESH) {
433+
printf("fullmesh");
434+
flags &= ~MPTCP_PM_ADDR_FLAG_FULLMESH;
435+
if (flags)
436+
printf(",");
437+
}
438+
425439
/* bump unknown flags, if any */
426440
if (flags)
427441
printf("0x%x", flags);

0 commit comments

Comments
 (0)