From 2a2012bec51d58b05f508f0c79819d48392824ea Mon Sep 17 00:00:00 2001 From: Kozlov Dmitry Date: Fri, 19 Apr 2013 15:04:23 +0400 Subject: ipoe: fixed start=dhcpv4,shared=1 mode --- accel-pppd/ctrl/ipoe/ipoe.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'accel-pppd/ctrl/ipoe') diff --git a/accel-pppd/ctrl/ipoe/ipoe.c b/accel-pppd/ctrl/ipoe/ipoe.c index 09bd887..46c5372 100644 --- a/accel-pppd/ctrl/ipoe/ipoe.c +++ b/accel-pppd/ctrl/ipoe/ipoe.c @@ -582,12 +582,6 @@ static void __ipoe_session_activate(struct ipoe_session *ses) if (ses->terminating) return; - if (!ses->ses.ipv4) { - ses->ses.ipv4 = &ses->ipv4; - ses->ipv4.owner = NULL; - ses->ipv4.peer_addr = ses->yiaddr; - } - if (ses->ifindex != -1) { addr = 0; if (!ses->ses.ipv4) @@ -601,7 +595,14 @@ static void __ipoe_session_activate(struct ipoe_session *ses) } } - if (ses->serv->opt_ifcfg || (ses->serv->opt_mode == MODE_L2)) + if (!ses->ses.ipv4) { + ses->ses.ipv4 = &ses->ipv4; + ses->ipv4.owner = NULL; + ses->ipv4.peer_addr = ses->yiaddr; + ses->ipv4.addr = ses->siaddr; + } + + if (ses->ifindex == -1 && (ses->serv->opt_ifcfg || (ses->serv->opt_mode == MODE_L2))) ipoe_ifcfg_add(ses); if (ses->l4_redirect) -- cgit v1.2.3