summaryrefslogtreecommitdiff
path: root/tests/nlattr_ifla_linkinfo.c
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2020-03-17 05:49:43 +0100
committerEugene Syromyatnikov <evgsyr@gmail.com>2020-03-20 14:28:19 +0100
commitdae00320ae4fdb5f97683d7777cbc33c46cd5a21 (patch)
tree9e37b2cd6b09bc83815a794120b875b6fd9a7c0c /tests/nlattr_ifla_linkinfo.c
parent3509c0c06e941595e66ef9df9df644d75e7834f0 (diff)
downloadstrace-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.c16
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" },