From b363f179b4cb6de2d3562a992bdb21adeac07639 Mon Sep 17 00:00:00 2001 From: Dmitry Kozlov Date: Mon, 21 Aug 2017 16:04:37 +0300 Subject: dhcpv6: check if prefix_len equals 0, if so do not start dhcpv6 for this sessions --- accel-pppd/ipv6/dhcpv6.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/accel-pppd/ipv6/dhcpv6.c b/accel-pppd/ipv6/dhcpv6.c index f147a8cd..9c31507a 100644 --- a/accel-pppd/ipv6/dhcpv6.c +++ b/accel-pppd/ipv6/dhcpv6.c @@ -60,12 +60,17 @@ static void ev_ses_started(struct ap_session *ses) struct ipv6_mreq mreq; struct dhcpv6_pd *pd; struct sockaddr_in6 addr; + struct ipv6db_addr_t *a; int sock; int f = 1; if (!ses->ipv6) return; + a = list_entry(ses->ipv6->addr_list.next, typeof(*a), entry); + if (a->prefix_len == 0) + return; + sock = net->socket(AF_INET6, SOCK_DGRAM, 0); if (!sock) { log_ppp_error("dhcpv6: socket: %s\n", strerror(errno)); -- cgit v1.2.3