iptuntap: fix multi-queue flag display

When creating a tap with multi_queue flag, this flag is not displayed
when dumping:

$ ip tuntap add tap23 mode tap multi_queue
$ ip tuntap
tap23: tap persist0x100

While at it, add a space between known flags and hexdump of unknown
ones.

Fixes: c41e038f48 ("iptuntap: allow creation of multi-queue tun/tap device")
Signed-off-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
David Marchand 2021-09-01 17:48:26 +02:00 committed by Stephen Hemminger
parent deef844b1e
commit e7e0e2ce65
1 changed files with 6 additions and 2 deletions

View File

@ -243,6 +243,9 @@ static void print_flags(long flags)
if (flags & IFF_ONE_QUEUE)
print_string(PRINT_ANY, NULL, " %s", "one_queue");
if (flags & IFF_MULTI_QUEUE)
print_string(PRINT_ANY, NULL, " %s", "multi_queue");
if (flags & IFF_VNET_HDR)
print_string(PRINT_ANY, NULL, " %s", "vnet_hdr");
@ -253,9 +256,10 @@ static void print_flags(long flags)
print_string(PRINT_ANY, NULL, " %s", "filter");
flags &= ~(IFF_TUN | IFF_TAP | IFF_NO_PI | IFF_ONE_QUEUE |
IFF_VNET_HDR | IFF_PERSIST | IFF_NOFILTER);
IFF_MULTI_QUEUE | IFF_VNET_HDR | IFF_PERSIST |
IFF_NOFILTER);
if (flags)
print_0xhex(PRINT_ANY, NULL, "%#llx", flags);
print_0xhex(PRINT_ANY, NULL, " %#llx", flags);
close_json_array(PRINT_JSON, NULL);
}