[iproute2,9/9] vti6/tunnel: Unify and simplify link type help functions

Message ID 1515778774-24173-10-git-send-email-serhe.popovych@gmail.com
State Changes Requested
Delegated to: stephen hemminger
Headers show
Series
  • ip/tunnel: Improve tunnel parameters printing
Related show

Commit Message

Serhey Popovych Jan. 12, 2018, 5:39 p.m.
Both of these two changes are missing for link_vti6.c:

  o commit 8b47135474cd (ip: link: Unify link type help functions a bit)
  o commit 561e650eff67 (ip link: Shortify printing the usage of link type)

Replay them on link_vti6.c to bring link type help functions
inline with other tunneling code.

Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
---
 ip/link_vti6.c |   32 ++++++++++++++++++++++----------
 1 file changed, 22 insertions(+), 10 deletions(-)

Patch

diff --git a/ip/link_vti6.c b/ip/link_vti6.c
index a4ad650..b9fe83a 100644
--- a/ip/link_vti6.c
+++ b/ip/link_vti6.c
@@ -24,20 +24,25 @@ 
 #include "ip_common.h"
 #include "tunnel.h"
 
+static void print_usage(FILE *f)
+{
+	fprintf(f,
+		"Usage: ... vti6 [ remote ADDR ]\n"
+		"                [ local ADDR ]\n"
+		"                [ [i|o]key KEY ]\n"
+		"                [ dev PHYS_DEV ]\n"
+		"                [ fwmark MARK ]\n"
+		"\n"
+		"Where: ADDR := { IPV6_ADDRESS }\n"
+		"       KEY  := { DOTTED_QUAD | NUMBER }\n"
+		"       MARK := { 0x0..0xffffffff }\n"
+	);
+}
 
 static void usage(void) __attribute__((noreturn));
 static void usage(void)
 {
-	fprintf(stderr, "Usage: ip link { add | set | change | replace | del } NAME\n");
-	fprintf(stderr, "          type { vti6 } [ remote ADDR ] [ local ADDR ]\n");
-	fprintf(stderr, "          [ [i|o]key KEY ]\n");
-	fprintf(stderr, "          [ dev PHYS_DEV ]\n");
-	fprintf(stderr, "          [ fwmark MARK ]\n");
-	fprintf(stderr, "\n");
-	fprintf(stderr, "Where: NAME := STRING\n");
-	fprintf(stderr, "       ADDR := { IPV6_ADDRESS }\n");
-	fprintf(stderr, "       KEY  := { DOTTED_QUAD | NUMBER }\n");
-	fprintf(stderr, "       MARK := { 0x0..0xffffffff }\n");
+	print_usage(stderr);
 	exit(-1);
 }
 
@@ -216,9 +221,16 @@  static void vti6_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
 		print_0xhex(PRINT_ANY, "fwmark", "fwmark 0x%x ", fwmark);
 }
 
+static void vti6_print_help(struct link_util *lu, int argc, char **argv,
+	FILE *f)
+{
+	print_usage(f);
+}
+
 struct link_util vti6_link_util = {
 	.id = "vti6",
 	.maxattr = IFLA_VTI_MAX,
 	.parse_opt = vti6_parse_opt,
 	.print_opt = vti6_print_opt,
+	.print_help = vti6_print_help,
 };