summaryrefslogtreecommitdiff
path: root/include/linux/if_pppox.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@pizda.ninka.net>2002-02-10 07:08:02 -0800
committerDavid S. Miller <davem@pizda.ninka.net>2002-02-10 07:08:02 -0800
commite210f5c42ee46545f3b34076bc4e5f9af1f9589a (patch)
tree21157e614a5bce6a5e4c0e63b1fe4d7cf07be19c /include/linux/if_pppox.h
parent2672019f311c8679ae980ebc0cf4a61fb6434159 (diff)
Split protocol specific information out from struct sock.
Work done by Arnaldo Carvalho de Melo.
Diffstat (limited to 'include/linux/if_pppox.h')
-rw-r--r--include/linux/if_pppox.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h
index c73f6839f5b9..64b16b277e3c 100644
--- a/include/linux/if_pppox.h
+++ b/include/linux/if_pppox.h
@@ -113,6 +113,26 @@ struct pppoe_hdr {
} __attribute__ ((packed));
#ifdef __KERNEL__
+struct pppoe_opt {
+ struct net_device *dev; /* device associated with socket*/
+ struct pppoe_addr pa; /* what this socket is bound to*/
+ struct sockaddr_pppox relay; /* what socket data will be
+ relayed to (PPPoE relaying) */
+};
+
+struct pppox_opt {
+ struct ppp_channel chan;
+ struct sock *sk;
+ struct pppox_opt *next; /* for hash table */
+ union {
+ struct pppoe_opt pppoe;
+ } proto;
+};
+#define pppoe_dev proto.pppoe.dev
+#define pppoe_pa proto.pppoe.pa
+#define pppoe_relay proto.pppoe.relay
+
+#define pppox_sk(__sk) ((struct pppox_opt *)(__sk)->protinfo)
struct pppox_proto {
int (*create)(struct socket *sock);