diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2020-03-17 05:49:43 +0100 |
---|---|---|
committer | Eugene Syromyatnikov <evgsyr@gmail.com> | 2020-03-20 14:28:19 +0100 |
commit | dae00320ae4fdb5f97683d7777cbc33c46cd5a21 (patch) | |
tree | 9e37b2cd6b09bc83815a794120b875b6fd9a7c0c /tests/nlattr_ifla_linkinfo.c | |
parent | 3509c0c06e941595e66ef9df9df644d75e7834f0 (diff) | |
download | strace-dae00320ae4fdb5f97683d7777cbc33c46cd5a21.tar.gz |
nlattr: implement generic hardware address nlattr decoder
* nlattr.c (decode_nla_hwaddr): New function.
* nlattr.h (DECL_NLA(hwaddr)): New declaration.
(NLA_HWADDR_FAMILY_OFFSET): New macro.
(decode_nla_hwaddr_family, decode_nla_hwaddr_nofamily): New functions.
* rtnl_link.c (ifla_info_data_bridge_nla_decoders) <IFLA_BR_GROUP_ADDR>:
Use nlattr_hwaddr_nofamily.
* rtnl_neigh.c (decode_neigh_lladdr): Remove.
(ndmsg_nla_decoders) <NDA_LLADDR>: Change decoder
from decode_neigh_lladdr to decode_nla_hwaddr_nofamily.
* tests/nlattr_ifla_linkinfo.c: Update expected output.
* tests/nlattr_ndmsg.c: Likewise.
Diffstat (limited to 'tests/nlattr_ifla_linkinfo.c')
-rw-r--r-- | tests/nlattr_ifla_linkinfo.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/nlattr_ifla_linkinfo.c b/tests/nlattr_ifla_linkinfo.c index 080e73718..8d1b93c35 100644 --- a/tests/nlattr_ifla_linkinfo.c +++ b/tests/nlattr_ifla_linkinfo.c @@ -347,7 +347,6 @@ main(void) /* bridge attrs */ static const struct val_name und_br_attrs[] = { { 0, "IFLA_BR_UNSPEC" }, - { 20, "IFLA_BR_GROUP_ADDR" }, { 21, "IFLA_BR_FDB_FLUSH" }, { 40, "IFLA_BR_PAD" }, { 47, "0x2f /* IFLA_BR_??? */" }, @@ -367,6 +366,21 @@ main(void) "\\x63\\x64\\x65\\x66\"" }); } + static const struct val_name hwa_br_attrs[] = { + { 20, "IFLA_BR_GROUP_ADDR" }, + }; + + for (size_t k = 0; k < ARRAY_SIZE(hwa_br_attrs); k++) { + TEST_NESTED_LINKINFO(fd, nlh0, 2, "IFLA_INFO_DATA", "bridge", + hwa_br_attrs[k].val, hwa_br_attrs[k].name, + unknown_msg, pattern, + { 2, "ab:ac" }, + { 4, "ab:ac:db:cd" }, + { 6, "ab:ac:db:cd:61:62" }, + { 8, "ab:ac:db:cd:61:62:63:64" }, + { 10, "ab:ac:db:cd:61:62:63:64:65:66" }); + } + static const struct val_name u64_br_attrs[] = { { 16, "IFLA_BR_HELLO_TIMER" }, { 17, "IFLA_BR_TCN_TIMER" }, |