Remove a check to expire received prefix.
authormpi <mpi@openbsd.org>
Thu, 25 Aug 2016 16:12:16 +0000 (16:12 +0000)
committermpi <mpi@openbsd.org>
Thu, 25 Aug 2016 16:12:16 +0000 (16:12 +0000)
This check does not make sense since November 2000 when IPv6 autoconf
address deletion has been made independent from prefix lifetimes.

Fix a case when a route was added to the table but the corresponding
address was not, leaving v6 unusable.

Found the hardway by and ok sthen@

sys/netinet6/nd6_rtr.c

index 6fdac5a..e03fa01 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: nd6_rtr.c,v 1.141 2016/08/22 10:33:22 mpi Exp $       */
+/*     $OpenBSD: nd6_rtr.c,v 1.142 2016/08/25 16:12:16 mpi Exp $       */
 /*     $KAME: nd6_rtr.c,v 1.97 2001/02/07 11:09:13 itojun Exp $        */
 
 /*
@@ -1249,19 +1249,6 @@ prelist_update(struct nd_prefix *new, struct nd_defrouter *dr, struct mbuf *m)
                        goto end; /* we should just give up in this case. */
                }
 
-               /*
-                * XXX: from the ND point of view, we can ignore a prefix
-                * with the on-link bit being zero.  However, we need a
-                * prefix structure for references from autoconfigured
-                * addresses.  Thus, we explicitly make sure that the prefix
-                * itself expires now.
-                */
-               if (newpr->ndpr_raf_onlink == 0) {
-                       newpr->ndpr_vltime = 0;
-                       newpr->ndpr_pltime = 0;
-                       in6_init_prefix_ltimes(newpr);
-               }
-
                pr = newpr;
        }