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>
This commit is contained in:
parent
1a0d6136c5
commit
371b90377e
@ -25,7 +25,7 @@
|
|||||||
static void syntax(char *argv[])
|
static void syntax(char *argv[])
|
||||||
{
|
{
|
||||||
fprintf(stderr, "%s add|get|set|del|flush|dump|accept [<args>]\n", argv[0]);
|
fprintf(stderr, "%s add|get|set|del|flush|dump|accept [<args>]\n", argv[0]);
|
||||||
fprintf(stderr, "\tadd [flags signal|subflow|backup] [id <nr>] [dev <name>] <ip>\n");
|
fprintf(stderr, "\tadd [flags signal|subflow|backup|fullmesh] [id <nr>] [dev <name>] <ip>\n");
|
||||||
fprintf(stderr, "\tdel <id> [<ip>]\n");
|
fprintf(stderr, "\tdel <id> [<ip>]\n");
|
||||||
fprintf(stderr, "\tget <id>\n");
|
fprintf(stderr, "\tget <id>\n");
|
||||||
fprintf(stderr, "\tset <ip> [flags backup|nobackup]\n");
|
fprintf(stderr, "\tset <ip> [flags backup|nobackup]\n");
|
||||||
@ -236,11 +236,18 @@ int add_addr(int fd, int pm_family, int argc, char *argv[])
|
|||||||
flags |= MPTCP_PM_ADDR_FLAG_SIGNAL;
|
flags |= MPTCP_PM_ADDR_FLAG_SIGNAL;
|
||||||
else if (!strcmp(tok, "backup"))
|
else if (!strcmp(tok, "backup"))
|
||||||
flags |= MPTCP_PM_ADDR_FLAG_BACKUP;
|
flags |= MPTCP_PM_ADDR_FLAG_BACKUP;
|
||||||
|
else if (!strcmp(tok, "fullmesh"))
|
||||||
|
flags |= MPTCP_PM_ADDR_FLAG_FULLMESH;
|
||||||
else
|
else
|
||||||
error(1, errno,
|
error(1, errno,
|
||||||
"unknown flag %s", argv[arg]);
|
"unknown flag %s", argv[arg]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flags & MPTCP_PM_ADDR_FLAG_SIGNAL &&
|
||||||
|
flags & MPTCP_PM_ADDR_FLAG_FULLMESH) {
|
||||||
|
error(1, errno, "error flag fullmesh");
|
||||||
|
}
|
||||||
|
|
||||||
rta = (void *)(data + off);
|
rta = (void *)(data + off);
|
||||||
rta->rta_type = MPTCP_PM_ADDR_ATTR_FLAGS;
|
rta->rta_type = MPTCP_PM_ADDR_ATTR_FLAGS;
|
||||||
rta->rta_len = RTA_LENGTH(4);
|
rta->rta_len = RTA_LENGTH(4);
|
||||||
@ -422,6 +429,13 @@ static void print_addr(struct rtattr *attrs, int len)
|
|||||||
printf(",");
|
printf(",");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flags & MPTCP_PM_ADDR_FLAG_FULLMESH) {
|
||||||
|
printf("fullmesh");
|
||||||
|
flags &= ~MPTCP_PM_ADDR_FLAG_FULLMESH;
|
||||||
|
if (flags)
|
||||||
|
printf(",");
|
||||||
|
}
|
||||||
|
|
||||||
/* bump unknown flags, if any */
|
/* bump unknown flags, if any */
|
||||||
if (flags)
|
if (flags)
|
||||||
printf("0x%x", flags);
|
printf("0x%x", flags);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user