summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--accel-pppd/ipv6/dhcpv6.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/accel-pppd/ipv6/dhcpv6.c b/accel-pppd/ipv6/dhcpv6.c
index f147a8c..9c31507 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));