]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
iproute: make printing icmpv6 a function
authorStephen Hemminger <stephen@networkplumber.org>
Wed, 7 Feb 2018 17:10:10 +0000 (09:10 -0800)
committerDavid Ahern <dsahern@gmail.com>
Thu, 8 Feb 2018 00:08:04 +0000 (16:08 -0800)
Refactor to reduce size of print_route and improve
readability.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David Ahern <dsahern@gmail.com>
ip/iproute.c

index 024f1cd87cbbe74d07d4d4e2c89917510f6daccd..da6a4faed836903ff495fce34d8d04a53c3db8bf 100644 (file)
@@ -363,6 +363,25 @@ static void print_rt_flags(FILE *fp, unsigned int flags)
                fprintf(fp, "unresolved ");
 }
 
+static void print_rt_pref(FILE *fp, unsigned int pref)
+{
+       fprintf(fp, "pref ");
+
+       switch (pref) {
+       case ICMPV6_ROUTER_PREF_LOW:
+               fprintf(fp, "low");
+               break;
+       case ICMPV6_ROUTER_PREF_MEDIUM:
+               fprintf(fp, "medium");
+               break;
+       case ICMPV6_ROUTER_PREF_HIGH:
+               fprintf(fp, "high");
+               break;
+       default:
+               fprintf(fp, "%u", pref);
+       }
+}
+
 int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
 {
        FILE *fp = (FILE *)arg;
@@ -740,25 +759,10 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
                        nh = RTNH_NEXT(nh);
                }
        }
-       if (tb[RTA_PREF]) {
-               unsigned int pref = rta_getattr_u8(tb[RTA_PREF]);
 
-               fprintf(fp, "pref ");
+       if (tb[RTA_PREF])
+               print_rt_pref(fp, rta_getattr_u8(tb[RTA_PREF]));
 
-               switch (pref) {
-               case ICMPV6_ROUTER_PREF_LOW:
-                       fprintf(fp, "low");
-                       break;
-               case ICMPV6_ROUTER_PREF_MEDIUM:
-                       fprintf(fp, "medium");
-                       break;
-               case ICMPV6_ROUTER_PREF_HIGH:
-                       fprintf(fp, "high");
-                       break;
-               default:
-                       fprintf(fp, "%u", pref);
-               }
-       }
        if (tb[RTA_TTL_PROPAGATE]) {
                fprintf(fp, "ttl-propagate ");
                if (rta_getattr_u8(tb[RTA_TTL_PROPAGATE]))