summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2018-01-22 12:02:56 +0300
committerDmitry Kozlov <xeb@mail.ru>2018-01-22 12:02:56 +0300
commiteb7e9895fce631d8a95be84a06987ede394c2e39 (patch)
treecec9f1972c18a8fea57fe764f3486670b57cd53e
parent5dbd7cb6a5ed4e118a7dd589456729d3fa7f115c (diff)
downloadaccel-ppp-eb7e9895fce631d8a95be84a06987ede394c2e39.tar.gz
accel-ppp-eb7e9895fce631d8a95be84a06987ede394c2e39.zip
ipoe: ipv6: generate intf_id only if not set by upper layer
-rw-r--r--accel-pppd/ctrl/ipoe/ipoe.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/accel-pppd/ctrl/ipoe/ipoe.c b/accel-pppd/ctrl/ipoe/ipoe.c
index 7f1080d3..2be0f25d 100644
--- a/accel-pppd/ctrl/ipoe/ipoe.c
+++ b/accel-pppd/ctrl/ipoe/ipoe.c
@@ -951,7 +951,8 @@ static void __ipoe_session_activate(struct ipoe_session *ses)
if (!ses->ses.ipv6)
log_ppp_warn("ipoe: no free IPv6 address\n");
else {
- make_ipv6_intfid(&ses->ses.ipv6->peer_intf_id, ses->hwaddr);
+ if (!ses->ses.ipv6->peer_intf_id)
+ make_ipv6_intfid(&ses->ses.ipv6->peer_intf_id, ses->hwaddr);
make_ipv6_intfid(&ses->ses.ipv6->intf_id, ses->serv->hwaddr);
}
}