From nobody@FreeBSD.org Thu Dec 16 04:49:42 2010 Return-Path: Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E47AE106566B for ; Thu, 16 Dec 2010 04:49:42 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (unknown [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id D2F8D8FC17 for ; Thu, 16 Dec 2010 04:49:42 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id oBG4ng87040590 for ; Thu, 16 Dec 2010 04:49:42 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id oBG4nglK040588; Thu, 16 Dec 2010 04:49:42 GMT (envelope-from nobody) Message-Id: <201012160449.oBG4nglK040588@red.freebsd.org> Date: Thu, 16 Dec 2010 04:49:42 GMT From: George Michaelson To: freebsd-gnats-submit@FreeBSD.org Subject: post-boot /etc/rc.d/network_ipv6 start can miss neighbour discovery bootstrap X-Send-Pr-Version: www-3.1 X-GNATS-Notify: >Number: 153200 >Category: conf >Synopsis: post-boot /etc/rc.d/network_ipv6 start can miss neighbour discovery bootstrap >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-rc >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Dec 16 04:50:09 UTC 2010 >Closed-Date: >Last-Modified: Thu Dec 16 05:03:58 UTC 2010 >Originator: George Michaelson >Release: 8.1-RELEASE >Organization: APNIC >Environment: FreeBSD amchur.rand.apnic.net 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 >Description: We enabled IPv6 in rc.conf and ran /etc/rc.d/network_ipv6 start. ifconfig bce0 showed nd6 in an indeterminate state. Thereafter, while hosts on the local network segment could successfully ping6 the public IPv6, including the edge Cisco router, the cisco lost sight of the host if the packets were NOT emitted from its own binding to the local network segment. If we pinged the router, it came back, but 20-30sec after we stopped outbound IPv6, inbound routes dropped. on the Cisco: gw1#sh ipv6 neighbors | inc 6660 2401:2000:6660::102 0 - INCMP Gi0/2.113 We rebooted. the system is now showing valid V6 routing all the time, even when the ipv6 neighbors list shows cache ageing. >How-To-Repeat: bootstrap IPv6 after boot time via /etc/rc.d/network_ipv6 start. route inbound ping6 not on link-local, with passive interface. you should be able to demonstrate this, if your ifconfig shows nd6 has not completed. >Fix: add a dependency into network_ipv6 which forces the right kernel sysctl and/or other runtime to enable all link-local, multicast bindings, and to set the interface nd6 state correctly. This might be as simple as a pre-dependency in the startup script. >Release-Note: >Audit-Trail: Responsible-Changed-From-To: freebsd-bugs->freebsd-rc Responsible-Changed-By: linimon Responsible-Changed-When: Thu Dec 16 05:03:45 UTC 2010 Responsible-Changed-Why: Over to maintainer(s). http://www.freebsd.org/cgi/query-pr.cgi?pr=153200 >Unformatted: