ip6tnl/rtnl: add IFLA_IPTUN_PROTO on dump
authorNicolas Dichtel <nicolas.dichtel@6wind.com>
Wed, 14 Nov 2012 05:13:58 +0000 (05:13 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Nov 2012 03:02:37 +0000 (22:02 -0500)
IPv6 tunnels can have three mode: 4in6, 6in6 and xin6.
This information was missing in the netlink message.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/if_tunnel.h
net/ipv6/ip6_tunnel.c

index c1bf0b5a8da1b214394d5cd1cffb1ca250b99104..f5ea6b7b651f861f8bd6617040abf910fdc3d49b 100644 (file)
@@ -47,6 +47,7 @@ enum {
        IFLA_IPTUN_ENCAP_LIMIT,
        IFLA_IPTUN_FLOWINFO,
        IFLA_IPTUN_FLAGS,
+       IFLA_IPTUN_PROTO,
        __IFLA_IPTUN_MAX,
 };
 #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
index 8db4d9b7ab14a9a3758bbc326c74415a42fbfa42..929ba0b5cc9b50030c99c8c0d8ec6c9872e5dc56 100644 (file)
@@ -1515,6 +1515,8 @@ static size_t ip6_get_size(const struct net_device *dev)
                nla_total_size(4) +
                /* IFLA_IPTUN_FLAGS */
                nla_total_size(4) +
+               /* IFLA_IPTUN_PROTO */
+               nla_total_size(1) +
                0;
 }
 
@@ -1531,7 +1533,8 @@ static int ip6_fill_info(struct sk_buff *skb, const struct net_device *dev)
            nla_put_u8(skb, IFLA_IPTUN_TTL, parm->hop_limit) ||
            nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) ||
            nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
-           nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags))
+           nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
+           nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto))
                goto nla_put_failure;
        return 0;