From: Roman Mashak <mrv@mojatatu.com>
To: dsahern@gmail.com
Cc: stephen@networkplumber.org, netdev@vger.kernel.org,
kernel@mojatatu.com, jhs@mojatatu.com, xiyou.wangcong@gmail.com,
jiri@resnulli.us, Roman Mashak <mrv@mojatatu.com>
Subject: [PATCH iproute2-next 1/1] tc: jsonify skbedit action
Date: Tue, 3 Apr 2018 15:24:21 -0400 [thread overview]
Message-ID: <1522783461-14269-1-git-send-email-mrv@mojatatu.com> (raw)
Signed-off-by: Roman Mashak <mrv@mojatatu.com>
---
tc/m_skbedit.c | 53 +++++++++++++++++++++++++++++------------------------
1 file changed, 29 insertions(+), 24 deletions(-)
diff --git a/tc/m_skbedit.c b/tc/m_skbedit.c
index db5c64caf2ba..070280cea29e 100644
--- a/tc/m_skbedit.c
+++ b/tc/m_skbedit.c
@@ -168,9 +168,8 @@ static int print_skbedit(struct action_util *au, FILE *f, struct rtattr *arg)
struct rtattr *tb[TCA_SKBEDIT_MAX + 1];
SPRINT_BUF(b1);
- __u32 *priority;
- __u32 *mark;
- __u16 *queue_mapping, *ptype;
+ __u32 priority;
+ __u16 ptype;
struct tc_skbedit *p = NULL;
if (arg == NULL)
@@ -179,43 +178,49 @@ static int print_skbedit(struct action_util *au, FILE *f, struct rtattr *arg)
parse_rtattr_nested(tb, TCA_SKBEDIT_MAX, arg);
if (tb[TCA_SKBEDIT_PARMS] == NULL) {
- fprintf(f, "[NULL skbedit parameters]");
+ print_string(PRINT_FP, NULL, "%s", "[NULL skbedit parameters]");
return -1;
}
p = RTA_DATA(tb[TCA_SKBEDIT_PARMS]);
- fprintf(f, " skbedit");
+ print_string(PRINT_ANY, "kind", "%s ", "skbedit");
if (tb[TCA_SKBEDIT_QUEUE_MAPPING] != NULL) {
- queue_mapping = RTA_DATA(tb[TCA_SKBEDIT_QUEUE_MAPPING]);
- fprintf(f, " queue_mapping %u", *queue_mapping);
+ print_uint(PRINT_ANY, "queue_mapping", "queue_mapping %u",
+ rta_getattr_u16(tb[TCA_SKBEDIT_QUEUE_MAPPING]));
}
if (tb[TCA_SKBEDIT_PRIORITY] != NULL) {
- priority = RTA_DATA(tb[TCA_SKBEDIT_PRIORITY]);
- fprintf(f, " priority %s", sprint_tc_classid(*priority, b1));
+ priority = rta_getattr_u32(tb[TCA_SKBEDIT_PRIORITY]);
+ print_string(PRINT_ANY, "priority", " priority %s",
+ sprint_tc_classid(priority, b1));
}
if (tb[TCA_SKBEDIT_MARK] != NULL) {
- mark = RTA_DATA(tb[TCA_SKBEDIT_MARK]);
- fprintf(f, " mark %d", *mark);
+ print_uint(PRINT_ANY, "mark", " mark %u",
+ rta_getattr_u32(tb[TCA_SKBEDIT_MARK]));
}
if (tb[TCA_SKBEDIT_PTYPE] != NULL) {
- ptype = RTA_DATA(tb[TCA_SKBEDIT_PTYPE]);
- if (*ptype == PACKET_HOST)
- fprintf(f, " ptype host");
- else if (*ptype == PACKET_BROADCAST)
- fprintf(f, " ptype broadcast");
- else if (*ptype == PACKET_MULTICAST)
- fprintf(f, " ptype multicast");
- else if (*ptype == PACKET_OTHERHOST)
- fprintf(f, " ptype otherhost");
+ ptype = rta_getattr_u16(tb[TCA_SKBEDIT_PTYPE]);
+ if (ptype == PACKET_HOST)
+ print_string(PRINT_ANY, "ptype", " %s", "ptype host");
+ else if (ptype == PACKET_BROADCAST)
+ print_string(PRINT_ANY, "ptype", " %s",
+ "ptype broadcast");
+ else if (ptype == PACKET_MULTICAST)
+ print_string(PRINT_ANY, "ptype", " %s",
+ "ptype multicast");
+ else if (ptype == PACKET_OTHERHOST)
+ print_string(PRINT_ANY, "ptype", " %s",
+ "ptype otherhost");
else
- fprintf(f, " ptype %d", *ptype);
+ print_uint(PRINT_ANY, "ptype", " %u", ptype);
}
print_action_control(f, " ", p->action, "");
- fprintf(f, "\n\t index %u ref %d bind %d",
- p->index, p->refcnt, p->bindcnt);
+ print_string(PRINT_FP, NULL, "%s", _SL_);
+ print_uint(PRINT_ANY, "index", "\t index %u", p->index);
+ print_int(PRINT_ANY, "ref", " ref %d", p->refcnt);
+ print_int(PRINT_ANY, "bind", " bind %d", p->bindcnt);
if (show_stats) {
if (tb[TCA_SKBEDIT_TM]) {
@@ -225,7 +230,7 @@ static int print_skbedit(struct action_util *au, FILE *f, struct rtattr *arg)
}
}
- fprintf(f, "\n ");
+ print_string(PRINT_FP, NULL, "%s", _SL_);
return 0;
}
--
2.7.4
next reply other threads:[~2018-04-03 19:24 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-03 19:24 Roman Mashak [this message]
2018-04-08 17:50 ` [PATCH iproute2-next 1/1] tc: jsonify skbedit action David Ahern
2018-04-09 17:57 ` Roman Mashak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1522783461-14269-1-git-send-email-mrv@mojatatu.com \
--to=mrv@mojatatu.com \
--cc=dsahern@gmail.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kernel@mojatatu.com \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.org \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox