From owner-freebsd-bugs@FreeBSD.ORG Tue Mar 6 05:20:09 2012 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DE8DB1065674 for ; Tue, 6 Mar 2012 05:20:09 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id B86168FC13 for ; Tue, 6 Mar 2012 05:20:09 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q265K9je022261 for ; Tue, 6 Mar 2012 05:20:09 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q265K9Di022260; Tue, 6 Mar 2012 05:20:09 GMT (envelope-from gnats) Resent-Date: Tue, 6 Mar 2012 05:20:09 GMT Resent-Message-Id: <201203060520.q265K9Di022260@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Oleg Ginzburg Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BDA441065686 for ; Tue, 6 Mar 2012 05:11:25 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id A8C358FC22 for ; Tue, 6 Mar 2012 05:11:25 +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 q265BPNo096662 for ; Tue, 6 Mar 2012 05:11:25 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id q265BP6D096661; Tue, 6 Mar 2012 05:11:25 GMT (envelope-from nobody) Message-Id: <201203060511.q265BP6D096661@red.freebsd.org> Date: Tue, 6 Mar 2012 05:11:25 GMT From: Oleg Ginzburg To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/165769: IPv6 Initialization on external iface is too slow for jail X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Mar 2012 05:20:09 -0000 >Number: 165769 >Category: kern >Synopsis: IPv6 Initialization on external iface is too slow for jail >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Mar 06 05:20:09 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Oleg Ginzburg >Release: 9.0-RELEASE, STABLE and 10.0-CURRENT >Organization: >Environment: FreeBSD gizmo.my.domain 9.0-STABLE FreeBSD 9.0-STABLE #1: Thu Feb 23 21:52:05 MSK 2012 root@gizmo.my.domain:/usr/obj/usr/src/sys/G amd64 >Description: I have found that at start JAIL creating IPv6 the address on the interface, inet6 stack isn't ready, therefore programs in automatic loading usually aren't capable to listen to a socket. It is reproduced on external interfaces (I tested on nfe and msk), but not for loopback. Delay in 1 seconds between setup ip and jail start is enough. good for lo0: % ifconfig lo0 inet6 fd9c:8e81:4e64:a6e6::10/64 ; jail -c path=/ ip6.addr=fd9c:8e81:4e64:a6e6::10 command=nc -6 -l 1234 ^C % ifconfig lo0 inet6 fd9c:8e81:4e64:a6e6::10 -alias good with delay: % ifconfig msk0 inet6 fd9c:8e81:4e64:a6e6::10/64 ; sleep 1; jail -c path=/ ip6.addr=fd9c:8e81:4e64:a6e6::10 command=nc -6 -l 1234 ^C % ifconfig msk0 inet6 fd9c:8e81:4e64:a6e6::10 -alias good wihtout jail: % ifconfig msk0 ifdisabled % ifconfig msk0 inet6 fd9c:8e81:4e64:a6e6::10/64 ; nc -6 -l 1234 ^C % ifconfig msk0 inet6 fd9c:8e81:4e64:a6e6::10/64 bind error: % ifconfig msk0 inet6 fd9c:8e81:4e64:a6e6::10/64 ; jail -c path=/ ip6.addr=fd9c:8e81:4e64:a6e6::10 command=nc -6 -l 1234 % ifconfig msk0 inet6 fd9c:8e81:4e64:a6e6::10/64 bind error (In a case when ipv6 it is not initialized, delays in 1 second don't suffice): % ifconfig msk0 inet6 ifdisabled % ifconfig msk0 inet6 fd9c:8e81:4e64:a6e6::10/64 ; sleep 1 ; jail -c path=/ ip6.addr=fd9c:8e81:4e64:a6e6::10 command=nc -6 -l 1234 >How-To-Repeat: ifconfig inet6 && jail -c path=/ ip6.addr= command=nc -6 -l 1234 >Fix: sorry >Release-Note: >Audit-Trail: >Unformatted: