Show ipv6 tunnel keys on presence of GRE_KEY flag for tunnel types
other than GRE. Aligns ipv6 behaviour with ipv4.

Signed-off-by: dfors...@brocade.com
---
 ip/ip6tunnel.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/ip/ip6tunnel.c b/ip/ip6tunnel.c
index b1c0ae6..b4a7def 100644
--- a/ip/ip6tunnel.c
+++ b/ip/ip6tunnel.c
@@ -111,16 +111,17 @@ static void print_tunnel(struct ip6_tnl_parm2 *p)
        if (p->flags & IP6_TNL_F_RCV_DSCP_COPY)
                printf(" dscp inherit");
 
-       if (p->proto == IPPROTO_GRE) {
-               if ((p->i_flags & GRE_KEY) && (p->o_flags & GRE_KEY) && 
p->o_key == p->i_key)
-                       printf(" key %u", ntohl(p->i_key));
-               else if ((p->i_flags | p->o_flags) & GRE_KEY) {
-                       if (p->i_flags & GRE_KEY)
-                               printf(" ikey %u", ntohl(p->i_key));
-                       if (p->o_flags & GRE_KEY)
-                               printf(" okey %u", ntohl(p->o_key));
-               }
+       if ((p->i_flags & GRE_KEY) && (p->o_flags & GRE_KEY) &&
+           p->o_key == p->i_key)
+               printf(" key %u", ntohl(p->i_key));
+       else {
+               if (p->i_flags & GRE_KEY)
+                       printf(" ikey %u", ntohl(p->i_key));
+               if (p->o_flags & GRE_KEY)
+                       printf(" okey %u", ntohl(p->o_key));
+       }
 
+       if (p->proto == IPPROTO_GRE) {
                if (p->i_flags & GRE_SEQ)
                        printf("%s  Drop packets out of sequence.", _SL_);
                if (p->i_flags & GRE_CSUM)
-- 
2.1.4

Reply via email to