From 751477d72cb49656cc6d7d35d91b21da3be3314e Mon Sep 17 00:00:00 2001 From: Kozlov Dmitry Date: Sat, 16 Mar 2013 16:31:28 +0400 Subject: ipoe: drop previous session when new one detected in shared=0 mode --- accel-pppd/ctrl/ipoe/ipoe.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/accel-pppd/ctrl/ipoe/ipoe.c b/accel-pppd/ctrl/ipoe/ipoe.c index 811d664..e7c91b1 100644 --- a/accel-pppd/ctrl/ipoe/ipoe.c +++ b/accel-pppd/ctrl/ipoe/ipoe.c @@ -867,6 +867,10 @@ static void ipoe_recv_dhcpv4(struct dhcpv4_serv *dhcpv4, struct dhcpv4_packet *p if (pack->msg_type == DHCPDISCOVER) { ses = ipoe_session_lookup(serv, pack); if (!ses) { + + if (serv->opt_shared == 0) + ipoe_drop_sessions(serv, NULL); + ses = ipoe_session_create_dhcpv4(serv, pack); if (ses) { dhcpv4_packet_ref(pack); @@ -901,6 +905,9 @@ static void ipoe_recv_dhcpv4(struct dhcpv4_serv *dhcpv4, struct dhcpv4_packet *p log_info2("recv "); dhcpv4_print_packet(pack, 0, log_info2); } + + if (serv->opt_shared == 0) + ipoe_drop_sessions(serv, NULL); dhcpv4_send_nak(dhcpv4, pack); } else { -- cgit v1.2.3