提交 e7d6fe6a 编写于 作者: D Dmitry Kozlov

ipoe: translate UP session to dhcp session when dhcp request received (for shared=0 interfaces)

上级 550d631e
......@@ -217,6 +217,15 @@ static struct ipoe_session *ipoe_session_lookup(struct ipoe_serv *serv, struct d
if (opt82_ses)
*opt82_ses = NULL;
if (list_empty(&serv->sessions))
return NULL;
if (!serv->opt_shared) {
ses = list_entry(serv->sessions.next, typeof(*ses), entry);
ses->UP = 0;
return ses;
}
if (!conf_check_mac_change || (pack->relay_agent && dhcpv4_parse_opt82(pack->relay_agent, &agent_circuit_id, &agent_remote_id))) {
agent_circuit_id = NULL;
agent_remote_id = NULL;
......@@ -1152,8 +1161,6 @@ static struct ipoe_session *ipoe_session_create_dhcpv4(struct ipoe_serv *serv, s
ses->xid = pack->hdr->xid;
memcpy(ses->hwaddr, pack->hdr->chaddr, 6);
ses->giaddr = pack->hdr->giaddr;
ses->lease_time = conf_lease_time;
ses->renew_time = conf_renew_time;
if (pack->client_id)
dlen += sizeof(struct dhcpv4_option) + pack->client_id->len;
......@@ -1867,6 +1874,9 @@ struct ipoe_session *ipoe_session_alloc(void)
ses->ses.idle_timeout = conf_idle_timeout;
ses->ses.session_timeout = conf_session_timeout;
ses->lease_time = conf_lease_time;
ses->renew_time = conf_renew_time;
return ses;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册