diff options
author | Dmitry Kozlov <xeb@mail.ru> | 2013-09-01 12:48:10 +0400 |
---|---|---|
committer | Dmitry Kozlov <xeb@mail.ru> | 2013-09-01 12:48:19 +0400 |
commit | 18e1094c0f6b9bda61339c246fc662e8acdf4a7b (patch) | |
tree | b4fd5591f61d0f3b1e7e3d5c9eb9f2db2e8340b9 /accel-pppd/ctrl/ipoe/ipoe.h | |
parent | 4990a892f474fba052bd884aa8f4c072e6a42c5e (diff) | |
download | accel-ppp-18e1094c0f6b9bda61339c246fc662e8acdf4a7b.tar.gz accel-ppp-18e1094c0f6b9bda61339c246fc662e8acdf4a7b.zip |
ipoe: implemented vlan monitor
Diffstat (limited to 'accel-pppd/ctrl/ipoe/ipoe.h')
-rw-r--r-- | accel-pppd/ctrl/ipoe/ipoe.h | 8 |
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); |