summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl/ipoe/ipoe.h
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2016-03-13 00:20:49 +0300
committerDmitry Kozlov <xeb@mail.ru>2016-03-13 11:33:14 +0300
commitc45b00d84de954d7f27fc7dce2909fab198cc298 (patch)
treea1cb5306b63a5e43282ce6c193d6529c3a6c1e62 /accel-pppd/ctrl/ipoe/ipoe.h
parentd01f9f7161eb5d46a656fd1cff1baf41a65d769f (diff)
downloadaccel-ppp-xebd-c45b00d84de954d7f27fc7dce2909fab198cc298.tar.gz
accel-ppp-xebd-c45b00d84de954d7f27fc7dce2909fab198cc298.zip
ipoe: many many changes
Diffstat (limited to 'accel-pppd/ctrl/ipoe/ipoe.h')
-rw-r--r--accel-pppd/ctrl/ipoe/ipoe.h13
1 files changed, 5 insertions, 8 deletions
diff --git a/accel-pppd/ctrl/ipoe/ipoe.h b/accel-pppd/ctrl/ipoe/ipoe.h
index 8c647b7..5561646 100644
--- a/accel-pppd/ctrl/ipoe/ipoe.h
+++ b/accel-pppd/ctrl/ipoe/ipoe.h
@@ -3,6 +3,7 @@
#include <stdint.h>
#include <pthread.h>
+#include <linux/if.h>
#include "triton.h"
#include "ap_session.h"
@@ -20,11 +21,10 @@
struct ipoe_serv {
struct list_head entry;
struct triton_context_t ctx;
- char *ifname;
+ char ifname[IFNAMSIZ];
int ifindex;
uint8_t hwaddr[ETH_ALEN];
struct list_head sessions;
- struct list_head addr_list;
struct dhcpv4_serv *dhcpv4;
struct dhcpv4_relay *dhcpv4_relay;
void *arp;
@@ -88,7 +88,6 @@ struct ipoe_session {
#ifdef RADIUS
struct rad_plugin_t radius;
#endif
- int ifcfg:1;
int started:1;
int terminating:1;
int dhcp_addr:1;
@@ -120,14 +119,12 @@ struct ipoe_session *ipoe_session_alloc(void);
struct ipoe_serv *ipoe_find_serv(const char *ifname);
-void ipoe_nl_add_net(uint32_t addr, int mask);
-void ipoe_nl_delete_nets(void);
-void ipoe_nl_add_interface(int ifindex);
+void ipoe_nl_add_interface(int ifindex, uint8_t mode);
void ipoe_nl_del_interface(int ifindex);
void ipoe_nl_delete_interfaces(void);
-int ipoe_nl_create(uint32_t peer_addr, uint32_t addr, const char *ifname, uint8_t *hwaddr);
+int ipoe_nl_create(int ifindex);
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);
+int ipoe_nl_modify(int ifindex, uint32_t peer_addr, uint32_t addr, uint32_t gw, int link_ifindex, uint8_t *hwaddr);
void ipoe_nl_get_sessions(struct list_head *list);
int ipoe_nl_add_exclude(uint32_t addr, int mask);
void ipoe_nl_del_exclude(uint32_t addr);