summaryrefslogtreecommitdiff
path: root/net/l2tp/l2tp_core.h
diff options
context:
space:
mode:
authorJames Chapman <jchapman@katalix.com>2010-04-02 06:19:33 +0000
committerDavid S. Miller <davem@davemloft.net>2010-04-03 14:56:07 -0700
commit0ad6614048cf722e4d27909665b4846805357f1b (patch)
tree182349ddf6e2b8e8478a5451cd0ed9684c14f0e8 /net/l2tp/l2tp_core.h
parentd9e31d17ceba5f0736f5a34bbc236239cd42b420 (diff)
l2tp: Add debugfs files for dumping l2tp debug info
The existing pppol2tp driver exports debug info to /proc/net/pppol2tp. Rather than adding info to that file for the new functionality added in this patch series, we add new files in debugfs, leaving the old /proc file for backwards compatibility (L2TPv2 only). Currently only one file is provided: l2tp/tunnels, which lists internal debug info for all l2tp tunnels and sessions. More files may be added later. The info is for debug and problem analysis only - userspace apps should use netlink to obtain status about l2tp tunnels and sessions. Although debugfs does not support net namespaces, the tunnels and sessions dumped in l2tp/tunnels are only those in the net namespace of the process reading the file. Signed-off-by: James Chapman <jchapman@katalix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/l2tp/l2tp_core.h')
-rw-r--r--net/l2tp/l2tp_core.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/net/l2tp/l2tp_core.h b/net/l2tp/l2tp_core.h
index 2974d9ade167..571335530c6f 100644
--- a/net/l2tp/l2tp_core.h
+++ b/net/l2tp/l2tp_core.h
@@ -133,7 +133,9 @@ struct l2tp_session {
void (*session_close)(struct l2tp_session *session);
void (*ref)(struct l2tp_session *session);
void (*deref)(struct l2tp_session *session);
-
+#ifdef CONFIG_L2TP_DEBUGFS
+ void (*show)(struct seq_file *m, void *priv);
+#endif
uint8_t priv[0]; /* private data */
};
@@ -166,7 +168,9 @@ struct l2tp_tunnel {
struct net *l2tp_net; /* the net we belong to */
atomic_t ref_count;
-
+#ifdef CONFIG_DEBUG_FS
+ void (*show)(struct seq_file *m, void *arg);
+#endif
int (*recv_payload_hook)(struct sk_buff *skb);
void (*old_sk_destruct)(struct sock *);
struct sock *sock; /* Parent socket */