提交 1e505332 编写于 作者: D Dmitry Kozlov

ipoe: do not apply "soft terminate" to UP sessions

上级 ece89e96
...@@ -1156,7 +1156,7 @@ static int ipoe_session_terminate(struct ap_session *s, int hard) ...@@ -1156,7 +1156,7 @@ static int ipoe_session_terminate(struct ap_session *s, int hard)
{ {
struct ipoe_session *ses = container_of(s, typeof(*ses), ses); struct ipoe_session *ses = container_of(s, typeof(*ses), ses);
if (hard || !conf_soft_terminate) if (hard || !conf_soft_terminate || ses->UP)
ipoe_session_terminated(ses); ipoe_session_terminated(ses);
else else
ses->terminate = 1; ses->terminate = 1;
...@@ -1798,6 +1798,7 @@ static struct ipoe_session *ipoe_session_create_up(struct ipoe_serv *serv, struc ...@@ -1798,6 +1798,7 @@ static struct ipoe_session *ipoe_session_create_up(struct ipoe_serv *serv, struc
ses->serv = serv; ses->serv = serv;
memcpy(ses->hwaddr, eth->h_source, 6); memcpy(ses->hwaddr, eth->h_source, 6);
ses->yiaddr = iph->saddr; ses->yiaddr = iph->saddr;
ses->UP = 1;
ses->ctrl.called_station_id = _strdup(serv->ifname); ses->ctrl.called_station_id = _strdup(serv->ifname);
......
...@@ -95,6 +95,7 @@ struct ipoe_session { ...@@ -95,6 +95,7 @@ struct ipoe_session {
int l4_redirect:1; int l4_redirect:1;
int l4_redirect_set:1; int l4_redirect_set:1;
int terminate:1; int terminate:1;
int UP:1;
}; };
struct ipoe_session_info { struct ipoe_session_info {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册