diff options
author | Kozlov Dmitry <xeb@mail.ru> | 2012-08-03 14:31:52 +0400 |
---|---|---|
committer | Kozlov Dmitry <xeb@mail.ru> | 2012-08-03 14:31:52 +0400 |
commit | 95586a13a28c93e60f8da6b728b0e7b57cdff5f1 (patch) | |
tree | af7e8c580068974b5b60d564b6fb45b7efef6ba0 /accel-pppd/ctrl/ipoe/ipoe.h | |
parent | ff80a772e3116afa4513397db2aa51962ff32994 (diff) | |
download | accel-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.h | 19 |
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 |