summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl/ipoe/ipoe.h
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2013-09-01 12:48:10 +0400
committerDmitry Kozlov <xeb@mail.ru>2013-09-01 12:48:19 +0400
commit18e1094c0f6b9bda61339c246fc662e8acdf4a7b (patch)
treeb4fd5591f61d0f3b1e7e3d5c9eb9f2db2e8340b9 /accel-pppd/ctrl/ipoe/ipoe.h
parent4990a892f474fba052bd884aa8f4c072e6a42c5e (diff)
downloadaccel-ppp-xebd-18e1094c0f6b9bda61339c246fc662e8acdf4a7b.tar.gz
accel-ppp-xebd-18e1094c0f6b9bda61339c246fc662e8acdf4a7b.zip
ipoe: implemented vlan monitor
Diffstat (limited to 'accel-pppd/ctrl/ipoe/ipoe.h')
-rw-r--r--accel-pppd/ctrl/ipoe/ipoe.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/accel-pppd/ctrl/ipoe/ipoe.h b/accel-pppd/ctrl/ipoe/ipoe.h
index 7806eb6..6b1b9b5 100644
--- a/accel-pppd/ctrl/ipoe/ipoe.h
+++ b/accel-pppd/ctrl/ipoe/ipoe.h
@@ -28,7 +28,10 @@ struct ipoe_serv {
struct arp_serv *arp;
struct list_head disc_list;
struct triton_timer_t disc_timer;
+ struct triton_timer_t timer;
pthread_mutex_t lock;
+ int parent_ifindex;
+ int vid;
int opt_mode;
uint32_t opt_src;
int opt_arp;
@@ -96,6 +99,8 @@ struct iphdr;
struct ethhdr;
void ipoe_recv_up(int ifindex, struct ethhdr *eth, struct iphdr *iph);
+void ipoe_vlan_notify(int ifindex, int vid);
+
struct ipoe_session *ipoe_session_alloc(void);
struct ipoe_serv *ipoe_find_serv(const char *ifname);
@@ -108,6 +113,9 @@ int ipoe_nl_create(uint32_t peer_addr, uint32_t addr, const char *ifname, uint8_
void ipoe_nl_delete(int ifindex);
int ipoe_nl_modify(int ifindex, uint32_t peer_addr, uint32_t addr, const char *ifname, uint8_t *hwaddr);
void ipoe_nl_get_sessions(struct list_head *list);
+int ipoe_nl_add_vlan_mon(int ifindex, long *mask, int len);
+int ipoe_nl_add_vlan_mon_vid(int ifindex, int vid);
+int ipoe_nl_del_vlan_mon(int ifindex);
struct arp_serv *arpd_start(struct ipoe_serv *ipoe);
void arpd_stop(struct arp_serv *arp);