From mboxrd@z Thu Jan 1 00:00:00 1970 From: Serhey Popovych Subject: [PATCH iproute2 7/9] ip/tunnel: Minor cleanups in print routines Date: Fri, 12 Jan 2018 19:39:32 +0200 Message-ID: <1515778774-24173-8-git-send-email-serhe.popovych@gmail.com> References: <1515778774-24173-1-git-send-email-serhe.popovych@gmail.com> To: netdev@vger.kernel.org Return-path: Received: from mail-lf0-f68.google.com ([209.85.215.68]:40316 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964919AbeALRkE (ORCPT ); Fri, 12 Jan 2018 12:40:04 -0500 Received: by mail-lf0-f68.google.com with SMTP id v74so4809339lfa.7 for ; Fri, 12 Jan 2018 09:40:03 -0800 (PST) Received: from tuxracer.localdomain ([2a01:6d80::195:20:96:53]) by smtp.gmail.com with ESMTPSA id c190sm3781968lfc.81.2018.01.12.09.40.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Jan 2018 09:40:01 -0800 (PST) In-Reply-To: <1515778774-24173-1-git-send-email-serhe.popovych@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: Print "unknown" parameter for "encap" type in PRINT_FP context using "%s " format specifier and benefit from complite time string merge. Unify encapsulation type check. Signed-off-by: Serhey Popovych --- ip/link_gre.c | 5 +++-- ip/link_gre6.c | 8 ++++---- ip/link_ip6tnl.c | 6 +++--- ip/link_iptnl.c | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ip/link_gre.c b/ip/link_gre.c index a7d1cd1..b4cde62 100644 --- a/ip/link_gre.c +++ b/ip/link_gre.c @@ -450,6 +450,8 @@ static void gre_print_direct_opt(FILE *f, struct rtattr *tb[]) static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) { + __u16 type; + if (!tb) return; @@ -469,8 +471,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) } if (tb[IFLA_GRE_ENCAP_TYPE] && - rta_getattr_u16(tb[IFLA_GRE_ENCAP_TYPE]) != TUNNEL_ENCAP_NONE) { - __u16 type = rta_getattr_u16(tb[IFLA_GRE_ENCAP_TYPE]); + (type = rta_getattr_u16(tb[IFLA_GRE_ENCAP_TYPE])) != TUNNEL_ENCAP_NONE) { __u16 flags = rta_getattr_u16(tb[IFLA_GRE_ENCAP_FLAGS]); __u16 sport = rta_getattr_u16(tb[IFLA_GRE_ENCAP_SPORT]); __u16 dport = rta_getattr_u16(tb[IFLA_GRE_ENCAP_DPORT]); diff --git a/ip/link_gre6.c b/ip/link_gre6.c index 200846e..557151f 100644 --- a/ip/link_gre6.c +++ b/ip/link_gre6.c @@ -381,6 +381,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) unsigned int iflags = 0; unsigned int oflags = 0; unsigned int flags = 0; + __u16 type; __u32 flowinfo = 0; struct in6_addr in6_addr_any = IN6ADDR_ANY_INIT; __u8 ttl = 0; @@ -518,15 +519,14 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) } if (tb[IFLA_GRE_ENCAP_TYPE] && - rta_getattr_u16(tb[IFLA_GRE_ENCAP_TYPE]) != TUNNEL_ENCAP_NONE) { - __u16 type = rta_getattr_u16(tb[IFLA_GRE_ENCAP_TYPE]); + (type = rta_getattr_u16(tb[IFLA_GRE_ENCAP_TYPE])) != TUNNEL_ENCAP_NONE) { __u16 flags = rta_getattr_u16(tb[IFLA_GRE_ENCAP_FLAGS]); __u16 sport = rta_getattr_u16(tb[IFLA_GRE_ENCAP_SPORT]); __u16 dport = rta_getattr_u16(tb[IFLA_GRE_ENCAP_DPORT]); open_json_object("encap"); - print_string(PRINT_FP, NULL, "encap ", NULL); + switch (type) { case TUNNEL_ENCAP_FOU: print_string(PRINT_ANY, "type", "%s ", "fou"); @@ -535,7 +535,7 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) print_string(PRINT_ANY, "type", "%s ", "gue"); break; default: - print_null(PRINT_ANY, "type", "unknown ", NULL); + print_null(PRINT_ANY, "type", "%s ", "unknown"); break; } diff --git a/ip/link_ip6tnl.c b/ip/link_ip6tnl.c index aa6f6fa..51c73dc 100644 --- a/ip/link_ip6tnl.c +++ b/ip/link_ip6tnl.c @@ -336,6 +336,7 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb char s2[64]; unsigned int link; int flags = 0; + __u16 type; __u32 flowinfo = 0; __u8 ttl = 0; @@ -458,8 +459,7 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb } if (tb[IFLA_IPTUN_ENCAP_TYPE] && - rta_getattr_u16(tb[IFLA_IPTUN_ENCAP_TYPE]) != TUNNEL_ENCAP_NONE) { - __u16 type = rta_getattr_u16(tb[IFLA_IPTUN_ENCAP_TYPE]); + (type = rta_getattr_u16(tb[IFLA_IPTUN_ENCAP_TYPE])) != TUNNEL_ENCAP_NONE) { __u16 flags = rta_getattr_u16(tb[IFLA_IPTUN_ENCAP_FLAGS]); __u16 sport = rta_getattr_u16(tb[IFLA_IPTUN_ENCAP_SPORT]); __u16 dport = rta_getattr_u16(tb[IFLA_IPTUN_ENCAP_DPORT]); @@ -474,7 +474,7 @@ static void ip6tunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb print_string(PRINT_ANY, "type", "%s ", "gue"); break; default: - print_null(PRINT_ANY, "type", "unknown ", NULL); + print_null(PRINT_ANY, "type", "%s ", "unknown"); break; } diff --git a/ip/link_iptnl.c b/ip/link_iptnl.c index 83a524f..17d28ec 100644 --- a/ip/link_iptnl.c +++ b/ip/link_iptnl.c @@ -505,7 +505,7 @@ static void iptunnel_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[ print_string(PRINT_ANY, "type", "%s ", "gue"); break; default: - print_null(PRINT_ANY, "type", "unknown ", NULL); + print_null(PRINT_ANY, "type", "%s ", "unknown"); break; } -- 1.7.10.4