From owner-freebsd-net@FreeBSD.ORG Thu Mar 29 21:48:46 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7C2EF106564A for ; Thu, 29 Mar 2012 21:48:46 +0000 (UTC) (envelope-from rysto32@gmail.com) Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by mx1.freebsd.org (Postfix) with ESMTP id 1349A8FC14 for ; Thu, 29 Mar 2012 21:48:45 +0000 (UTC) Received: by wibhq7 with SMTP id hq7so18349wib.13 for ; Thu, 29 Mar 2012 14:48:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=8gO3V5meRXIoRWMXoMWk1mvzeJEhfk1x0ajZ0cw26F8=; b=WgTkAwDk7Z+JzYrdf/86SPoP4G1eLiU0kNEzmZoETxq2N2TGIMUGgrQSE+npKQIKVN FSaIbBi4dU8VKfFyOl64+9TOA3V2k/tQcwUnoPVa8LFIbKnVCYwqAwdb0h3s/Cuzh76b iSYk+RiIBMOGKGgs0vopMnM+8OQQPNkLk+EqFaSunLslgrh5KOA2d/nLafuwvsTGhwi9 /SQLiXpcppzuHnCRkqp3JVUFUKGbgvYHWOeQVmbVhaSNDKG9XKxN2jL9WzMxjumlBKEG VyaaqIQ1oQyPvUOZ14ZrYmaswSI+1CAsFok40xOjDvxxhW86ya0pKyrl/rJTZuwJQqI2 hxCg== MIME-Version: 1.0 Received: by 10.180.94.33 with SMTP id cz1mr9702301wib.13.1333057719181; Thu, 29 Mar 2012 14:48:39 -0700 (PDT) Received: by 10.180.79.137 with HTTP; Thu, 29 Mar 2012 14:48:39 -0700 (PDT) Date: Thu, 29 Mar 2012 17:48:39 -0400 Message-ID: From: Ryan Stone To: freebsd-net Content-Type: text/plain; charset=ISO-8859-1 Subject: Removing an IPv6 address does not remove NDP entries on that subnet X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Mar 2012 21:48:46 -0000 Currently, if you remove an IPv4 address from an interface, all ARP cache entries on its subnet are invalidated. However, the same thing is not done for NDP cache entries when an IPv6 address is removed*. Is this correct behaviour? It seems weird to have IPv4 and IPv6 behave differently. * In a way this is a good thing as in6_lltable_prefix_free() is guaranteed to crash your kernel in two different ways, and that's not counting the race conditions that it's subject to. I plan on addressing these problems along with kern/165863, but in working on that I realized that it was impossible to test any changes.