summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl/ipoe/ipoe.h
diff options
context:
space:
mode:
authorKozlov Dmitry <xeb@mail.ru>2012-08-03 14:31:52 +0400
committerKozlov Dmitry <xeb@mail.ru>2012-08-03 14:31:52 +0400
commit95586a13a28c93e60f8da6b728b0e7b57cdff5f1 (patch)
treeaf7e8c580068974b5b60d564b6fb45b7efef6ba0 /accel-pppd/ctrl/ipoe/ipoe.h
parentff80a772e3116afa4513397db2aa51962ff32994 (diff)
downloadaccel-ppp-95586a13a28c93e60f8da6b728b0e7b57cdff5f1.tar.gz
accel-ppp-95586a13a28c93e60f8da6b728b0e7b57cdff5f1.zip
ipoe: implemented dhcp relay
Diffstat (limited to 'accel-pppd/ctrl/ipoe/ipoe.h')
-rw-r--r--accel-pppd/ctrl/ipoe/ipoe.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/accel-pppd/ctrl/ipoe/ipoe.h b/accel-pppd/ctrl/ipoe/ipoe.h
index b955b952..2d99ca62 100644
--- a/accel-pppd/ctrl/ipoe/ipoe.h
+++ b/accel-pppd/ctrl/ipoe/ipoe.h
@@ -18,6 +18,7 @@ struct ipoe_serv
struct list_head sessions;
struct list_head addr_list;
struct dhcpv4_serv *dhcpv4;
+ struct dhcpv4_relay *dhcpv4_relay;
pthread_mutex_t lock;
int opt_mode;
int opt_shared:1;
@@ -27,12 +28,6 @@ struct ipoe_serv
int need_close:1;
};
-struct dhcp_opt
-{
- uint8_t len;
- uint8_t data[0];
-};
-
struct ipoe_session
{
struct list_head entry;
@@ -42,20 +37,26 @@ struct ipoe_session
struct ap_ctrl ctrl;
struct ap_session ses;
uint8_t hwaddr[6];
- struct dhcp_opt *client_id;
- struct dhcp_opt *agent_circuit_id;
- struct dhcp_opt *agent_remote_id;
+ struct dhcpv4_option *client_id;
+ struct dhcpv4_option *relay_agent;
+ uint8_t *agent_circuit_id;
+ uint8_t *agent_remote_id;
uint32_t xid;
uint32_t giaddr;
uint32_t yiaddr;
uint32_t siaddr;
+ uint32_t relay_server_id;
int mask;
+ int lease_time;
uint8_t *data;
struct dhcpv4_packet *dhcpv4_request;
+ struct dhcpv4_packet *dhcpv4_relay_reply;
int ifindex;
int ifcfg:1;
int dhcp_addr:1;
+ int relay_addr:1;
int l4_redirect:1;
+ int l4_redirect_set:1;
};
struct ipoe_session_info