Message ID | 20190529175242.20919-1-nikolay@cumulusnetworks.com |
---|---|
State | Accepted |
Delegated to: | stephen hemminger |
Headers | show |
Series | [iproute2] bridge: mdb: restore text output format | expand |
On Wed, 29 May 2019 20:52:42 +0300 Nikolay Aleksandrov <nikolay@cumulusnetworks.com> wrote: > While I fixed the mdb json output, I did overlook the text output. > This patch returns the original text output format: > dev <bridge> port <port> grp <mcast group> <temp|permanent> <flags> <timer> > Example (old format, restored by this patch): > dev br0 port eth8 grp 239.1.1.11 temp > > Example (changed format after the commit below): > 23: br0 eth8 239.1.1.11 temp > > We had some reports of failing scripts which were parsing the output. > Also the old format matches the bridge mdb command syntax which makes > it easier to build commands out of the output. > > Fixes: c7c1a1ef51ae ("bridge: colorize output and use JSON print library") > Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> Looks good, thanks for fixing. Applied.
diff --git a/bridge/mdb.c b/bridge/mdb.c index 59aa17643517..eadc6212af70 100644 --- a/bridge/mdb.c +++ b/bridge/mdb.c @@ -132,21 +132,21 @@ static void print_mdb_entry(FILE *f, int ifindex, const struct br_mdb_entry *e, open_json_object(NULL); - print_int(PRINT_ANY, "index", "%u: ", ifindex); - print_color_string(PRINT_ANY, COLOR_IFNAME, "dev", "%s ", dev); - print_string(PRINT_ANY, "port", " %s ", + print_int(PRINT_JSON, "index", NULL, ifindex); + print_color_string(PRINT_ANY, COLOR_IFNAME, "dev", "dev %s", dev); + print_string(PRINT_ANY, "port", " port %s", ll_index_to_name(e->ifindex)); print_color_string(PRINT_ANY, ifa_family_color(af), - "grp", " %s ", + "grp", " grp %s", inet_ntop(af, src, abuf, sizeof(abuf))); - print_string(PRINT_ANY, "state", " %s ", + print_string(PRINT_ANY, "state", " %s", (e->state & MDB_PERMANENT) ? "permanent" : "temp"); open_json_array(PRINT_JSON, "flags"); if (e->flags & MDB_FLAGS_OFFLOAD) - print_string(PRINT_ANY, NULL, "%s ", "offload"); + print_string(PRINT_ANY, NULL, " %s", "offload"); close_json_array(PRINT_JSON, NULL); if (e->vid)
While I fixed the mdb json output, I did overlook the text output. This patch returns the original text output format: dev <bridge> port <port> grp <mcast group> <temp|permanent> <flags> <timer> Example (old format, restored by this patch): dev br0 port eth8 grp 239.1.1.11 temp Example (changed format after the commit below): 23: br0 eth8 239.1.1.11 temp We had some reports of failing scripts which were parsing the output. Also the old format matches the bridge mdb command syntax which makes it easier to build commands out of the output. Fixes: c7c1a1ef51ae ("bridge: colorize output and use JSON print library") Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com> --- I know text output isn't considered API, but there are scripts out there which rely on the format or at least on the old strings/values to be present. bridge/mdb.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)