[PATCH 5/5] rtnl_tc_action: decode tcamsg netlink attributes

JingPiao Chen chenjingpiao at gmail.com
Tue Sep 5 13:16:32 UTC 2017


* rtnl_tc_action.c (tcamsg_nla_decoders): New array.
(decode_tcamsg): Use it.
---
 rtnl_tc_action.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/rtnl_tc_action.c b/rtnl_tc_action.c
index ca0b72b..499c69a 100644
--- a/rtnl_tc_action.c
+++ b/rtnl_tc_action.c
@@ -37,6 +37,15 @@
 
 #include "xlat/rtnl_tc_action_attrs.h"
 
+static const nla_decoder_t tcamsg_nla_decoders[] = {
+	[TCA_ACT_KIND]		= decode_nla_str,
+	[TCA_ACT_OPTIONS]	= NULL, /* unimplemented */
+	[TCA_ACT_INDEX]		= decode_nla_u32,
+	[TCA_ACT_STATS]		= decode_nla_tc_stats,
+	[TCA_ACT_PAD]		= NULL,
+	[TCA_ACT_COOKIE]	= NULL /* default parser */
+};
+
 DECL_NETLINK_ROUTE_DECODER(decode_tcamsg)
 {
 	struct tcamsg tca = { .tca_family = family };
@@ -49,6 +58,7 @@ DECL_NETLINK_ROUTE_DECODER(decode_tcamsg)
 		tprints(", ");
 		decode_nlattr(tcp, addr + offset, len - offset,
 			      rtnl_tc_action_attrs, "TCA_ACT_???",
-			      NULL, 0, NULL);
+			      tcamsg_nla_decoders,
+			      ARRAY_SIZE(tcamsg_nla_decoders), NULL);
 	}
 }
-- 
2.7.4





More information about the Strace-devel mailing list