diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2015-11-21 19:24:45 +0300 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2015-11-21 19:24:45 +0300 |
commit | 22b51c9cdff9e5a0e44697a0b45f23dc6e742001 (patch) | |
tree | 1d6ddbe1a29382adfe7f0d06c669ec04585a0a72 /accel-pppd/ctrl/pppoe/pppoe.h | |
parent | 7b6e78c9a3b468cdb20541d9352485ef62163cfa (diff) | |
download | accel-ppp-xebd-22b51c9cdff9e5a0e44697a0b45f23dc6e742001.tar.gz accel-ppp-xebd-22b51c9cdff9e5a0e44697a0b45f23dc6e742001.zip |
pppoe: use single discovery socket
Diffstat (limited to 'accel-pppd/ctrl/pppoe/pppoe.h')
-rw-r--r-- | accel-pppd/ctrl/pppoe/pppoe.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/accel-pppd/ctrl/pppoe/pppoe.h b/accel-pppd/ctrl/pppoe/pppoe.h index 3b15d12..0acc561 100644 --- a/accel-pppd/ctrl/pppoe/pppoe.h +++ b/accel-pppd/ctrl/pppoe/pppoe.h @@ -6,6 +6,7 @@ #include <linux/if.h> #include <linux/if_pppox.h> +#include "rbtree.h" #include "crypto.h" /* PPPoE codes */ @@ -66,9 +67,11 @@ struct pppoe_serv_t { struct list_head entry; struct triton_context_t ctx; - struct triton_md_handler_t hnd; + struct rb_node node; + uint8_t hwaddr[ETH_ALEN]; char *ifname; + int ifindex; uint8_t secret[SECRET_LENGTH]; DES_key_schedule des_ks; @@ -106,9 +109,15 @@ extern unsigned long stat_filtered; extern pthread_rwlock_t serv_lock; extern struct list_head serv_list; +extern int disc_sock; + int mac_filter_check(const uint8_t *addr); void pppoe_server_start(const char *intf, void *client); void pppoe_server_stop(const char *intf); +void pppoe_serv_read(uint8_t *data); +void _server_stop(struct pppoe_serv_t *s); +void pppoe_disc_start(struct pppoe_serv_t *serv); +void pppoe_disc_stop(struct pppoe_serv_t *serv); extern int pado_delay; void dpado_check_next(int conn_cnt); |