l2tp: show IPv6 addresses in l2tp debugfs file
authorChris Elston <celston@katalix.com>
Sun, 29 Apr 2012 21:48:51 +0000 (21:48 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 1 May 2012 13:30:55 +0000 (09:30 -0400)
If an L2TP tunnel uses IPv6, make sure the l2tp debugfs file shows the
IPv6 address correctly.

Signed-off-by: Chris Elston <celston@katalix.com>
Signed-off-by: James Chapman <jchapman@katalix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/l2tp/l2tp_debugfs.c

index 76130134bfa6215d3cb7ffce9813f95724dc7d65..c0d57bad8b790dc023e253947b1af89e0b833599 100644 (file)
@@ -122,6 +122,14 @@ static void l2tp_dfs_seq_tunnel_show(struct seq_file *m, void *v)
        seq_printf(m, "\nTUNNEL %u peer %u", tunnel->tunnel_id, tunnel->peer_tunnel_id);
        if (tunnel->sock) {
                struct inet_sock *inet = inet_sk(tunnel->sock);
+
+#if IS_ENABLED(CONFIG_IPV6)
+               if (tunnel->sock->sk_family == AF_INET6) {
+                       struct ipv6_pinfo *np = inet6_sk(tunnel->sock);
+                       seq_printf(m, " from %pI6c to %pI6c\n",
+                               &np->saddr, &np->daddr);
+               } else
+#endif
                seq_printf(m, " from %pI4 to %pI4\n",
                           &inet->inet_saddr, &inet->inet_daddr);
                if (tunnel->encap == L2TP_ENCAPTYPE_UDP)