Enable ip commands to be compiled seperate from ip, modifed patch from Bastian Blank
diff --git a/include/usage.h b/include/usage.h
index c676754..eca0544 100644
--- a/include/usage.h
+++ b/include/usage.h
@@ -989,25 +989,38 @@
"\t-x\tdo not export externs"
#define ip_trivial_usage \
- "not written yet"
+ "[ OPTIONS ] { address | link | route | tunnel } { COMMAND | help }"
#define ip_full_usage \
- "not written yet"
+ "ip [ OPTIONS ] OBJECT { COMMAND | help }\n" \
+ "where OBJECT := { link | addr | route | tunnel }\n" \
+ "OPTIONS := { -f[amily] { inet | inet6 | link } | -o[neline] }\n"
+
+#define ipaddr_trivial_usage \
+ "{ {add|del} IFADDR dev STRING | {show|flush} [ dev STRING ] [ to PREFIX ] }"
+#define ipaddr_full_usage \
+ "ipaddr {add|del} IFADDR dev STRING\n" \
+ "ipaddr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]\n" \
+ " [ to PREFIX ] [ label PATTERN ]\n" \
+ "IFADDR := PREFIX | ADDR peer PREFIX\n" \
+ " [ broadcast ADDR ] [ anycast ADDR ]\n" \
+ " [ label STRING ] [ scope SCOPE-ID ]\n" \
+ "SCOPE-ID := [ host | link | global | NUMBER ]\n"
#ifndef CONFIG_FEATURE_IPCALC_FANCY
-#define ipcalc_trivial_usage \
+# define ipcalc_trivial_usage \
"[--broadcast] [--netmask] [--network] ipaddr <netmask>"
-#define ipcalc_full_usage \
+# define ipcalc_full_usage \
"Calculate IP network settings from a IP address\n\n" \
"Options:\n" \
"\t-b\t--broadcast\tDisplay calculated broadcast address.\n" \
"\t-n\t--netmask\tDisplay default netmask for IP.\n" \
"\t-w\t--network\tDisplay calculated network address."
#else
-#define ipcalc_trivial_usage \
+# define ipcalc_trivial_usage \
"[OPTION]... ipaddr <netmask>"
-#define ipcalc_full_usage \
+# define ipcalc_full_usage \
"Calculate IP network settings from a IP address\n\n" \
"Options:\n" \
"\t-b\t--broadcast\tDisplay calculated broadcast address.\n" \
@@ -1023,6 +1036,32 @@
"should display on standard out. Multiple options may be\n" \
"specified.\n"
+#define iplink_trivial_usage \
+ "{ set DEVICE { up | down | arp { on | off } | show [ DEVICE ] }"
+#define iplink_full_usage \
+ "iplink set DEVICE { up | down | arp { on | off } |\n" \
+ " dynamic { on | off } |\n" \
+ " mtu MTU }\n" \
+ "iplink show [ DEVICE ]\n"
+
+#define iproute_trivial_usage \
+ "{ list | flush | { add | del | change | append | replace | monitor } ROUTE }"
+#define iproute_full_usage \
+ "iproute { list | flush } SELECTOR\n" \
+ "iproute get ADDRESS [ from ADDRESS iif STRING ]\n" \
+ " [ oif STRING ] [ tos TOS ]\n" \
+ "iproute { add | del | change | append | replace | monitor } ROUTE\n" \
+ "SELECTOR := [ root PREFIX ] [ match PREFIX ] [ proto RTPROTO ]\n" \
+ "ROUTE := [ TYPE ] PREFIX [ tos TOS ] [ proto RTPROTO ]\n"
+
+#define iptunnel_trivial_usage \
+ "{ add | change | del | show } [ NAME ] [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ] [ ttl TTL ]"
+#define iptunnel_full_usage \
+ "iptunnel { add | change | del | show } [ NAME ]\n" \
+ " [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n" \
+ " [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n" \
+ " [ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]\n"
+
#define kill_trivial_usage \
"[-signal] process-id [process-id ...]"
#define kill_full_usage \