summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl/pppoe/pppoe.h
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2015-11-21 19:24:45 +0300
committerDmitry Kozlov <xeb@mail.ru>2015-11-21 19:24:45 +0300
commit22b51c9cdff9e5a0e44697a0b45f23dc6e742001 (patch)
tree1d6ddbe1a29382adfe7f0d06c669ec04585a0a72 /accel-pppd/ctrl/pppoe/pppoe.h
parent7b6e78c9a3b468cdb20541d9352485ef62163cfa (diff)
downloadaccel-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.h11
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);