summaryrefslogtreecommitdiff
path: root/accel-pppd/ppp/ppp_ipv6cp.c
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/ppp/ppp_ipv6cp.c')
-rw-r--r--accel-pppd/ppp/ppp_ipv6cp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/accel-pppd/ppp/ppp_ipv6cp.c b/accel-pppd/ppp/ppp_ipv6cp.c
index ffffa1e8..9e7bf784 100644
--- a/accel-pppd/ppp/ppp_ipv6cp.c
+++ b/accel-pppd/ppp/ppp_ipv6cp.c
@@ -11,6 +11,7 @@
#include "ppp.h"
#include "ppp_ipv6cp.h"
+#include "ipdb.h"
#include "memdebug.h"
@@ -208,6 +209,11 @@ static void ipv6cp_layer_finished(struct ppp_fsm_t *fsm)
ppp_terminate(ipv6cp->ppp, TERM_USER_ERROR, 0);
fsm->fsm_state = FSM_Closed;
+
+ if (ipv6cp->ppp->ipv6) {
+ ipdb_put_ipv6(ipv6cp->ppp, ipv6cp->ppp->ipv6);
+ ipv6cp->ppp->ipv6 = NULL;
+ }
}
static void ipv6cp_layer_down(struct ppp_fsm_t *fsm)