]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/commitdiff
gre: allow 0 as a legal key value
authorStephen Hemminger <shemminger@vyatta.com>
Tue, 20 Mar 2012 00:18:49 +0000 (17:18 -0700)
committerStephen Hemminger <shemminger@vyatta.com>
Tue, 20 Mar 2012 00:18:49 +0000 (17:18 -0700)
There is nothing in the standard that says 0 can't be used as a key.
It makes sense to allow it. Also fix typo where ikey was printed for
when printing okey.

ip/link_gre.c

index c783203bebadfeb6cc2a0cb74c58911259146629..5002095bd132c6ad4b9d5cd16dcf15d23a565d6c 100644 (file)
@@ -331,16 +331,14 @@ static void gre_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[])
        if (tb[IFLA_GRE_OFLAGS])
                oflags = *(__u16 *)RTA_DATA(tb[IFLA_GRE_OFLAGS]);
 
-       if (iflags & GRE_KEY && tb[IFLA_GRE_IKEY] &&
-           *(__u32 *)RTA_DATA(tb[IFLA_GRE_IKEY])) {
+       if ((iflags & GRE_KEY) && tb[IFLA_GRE_IKEY]) {
                inet_ntop(AF_INET, RTA_DATA(tb[IFLA_GRE_IKEY]), s2, sizeof(s2));
                fprintf(f, "ikey %s ", s2);
        }
 
-       if (oflags & GRE_KEY && tb[IFLA_GRE_OKEY] &&
-           *(__u32 *)RTA_DATA(tb[IFLA_GRE_OKEY])) {
+       if ((oflags & GRE_KEY) && tb[IFLA_GRE_OKEY]) {
                inet_ntop(AF_INET, RTA_DATA(tb[IFLA_GRE_OKEY]), s2, sizeof(s2));
-               fprintf(f, "ikey %s ", s2);
+               fprintf(f, "okey %s ", s2);
        }
 
        if (iflags & GRE_SEQ)