From owner-freebsd-bugs@FreeBSD.ORG Tue Aug 21 18:50:10 2012 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96B091065676 for ; Tue, 21 Aug 2012 18:50:10 +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 6F34D8FC25 for ; Tue, 21 Aug 2012 18:50:10 +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 q7LIoAmX042945 for ; Tue, 21 Aug 2012 18:50:10 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q7LIoAn2042944; Tue, 21 Aug 2012 18:50:10 GMT (envelope-from gnats) Resent-Date: Tue, 21 Aug 2012 18:50:10 GMT Resent-Message-Id: <201208211850.q7LIoAn2042944@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 [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A2DDB1065674 for ; Tue, 21 Aug 2012 18:49:24 +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 73D7A8FC1B for ; Tue, 21 Aug 2012 18:49:24 +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 q7LInON2000230 for ; Tue, 21 Aug 2012 18:49:24 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id q7LInOA1000229; Tue, 21 Aug 2012 18:49:24 GMT (envelope-from nobody) Message-Id: <201208211849.q7LInOA1000229@red.freebsd.org> Date: Tue, 21 Aug 2012 18:49:24 GMT From: Oleg Ginzburg To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: misc/170832: jail v2 loses a binding of ip which sets after ips with /"network prefix" 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, 21 Aug 2012 18:50:10 -0000 >Number: 170832 >Category: misc >Synopsis: jail v2 loses a binding of ip which sets after ips with /"network prefix" >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Aug 21 18:50:10 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Oleg Ginzburg >Release: 9.1-PRERELEASE, 10-CURRENT >Organization: >Environment: FreeBSD cbuilder64.my.domain 10.0-CURRENT FreeBSD 10.0-CURRENT #4 r239330: Thu Aug 16 22:08:12 MSK 2012 root@cbuilder64.my.domain:/usr/obj/usr/src/sys/GENERIC amd64 >Description: when the jail is created by config file with multiple ips, jail loses all ip assignment which sets after ips with /"network prefix" Nevertheless, all IP are established on the interface with the correct mask >How-To-Repeat: Have jail config with multiple ips with prefix in the list. Config sample (we mean that in /usr/jails/jail1 we have a complete freebsd base environment): % cat jail1.conf jail1 { exec.start = "/bin/sh /etc/rc"; exec.stop = "/bin/sh /etc/rc.shutdown"; exec.clean; #mount.devfs; host.hostname = "jail1.my.domain"; path = "/usr/jails/jail1"; allow.raw_sockets; allow.socket_af; allow.chflags; allow.sysvipc; ip4.addr = 10.0.0.1,10.0.0.2,172.17.0.0/16,10.0.0.3; interface="em0"; mount.devfs; devfs_ruleset="4"; } // Before jail creation, interfaces em0 have: % ifconfig em0 | grep "inet " inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255 // Jail start: % jail -f jail1.conf -c jail1 jail1: created .. //done. Check for IPs on interface. 172.17.0.0 have correct mask: ifconfig em0 | grep "inet " inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255 inet 10.0.0.1 netmask 0xffffffff broadcast 10.0.0.1 inet 10.0.0.2 netmask 0xffffffff broadcast 10.0.0.2 inet 172.17.0.0 netmask 0xffff0000 broadcast 172.17.255.255 inet 10.0.0.3 netmask 0xffffffff broadcast 10.0.0.3 //Check for IP in jls: % jls -v JID Hostname Path Name State CPUSetID IP Address(es) 1 jail1.my.domain /usr/jails/jail1 jail1 ACTIVE 2 10.0.0.1 10.0.0.2 172.17.0.0 We have 10.0.0.1/32,10.0.0.2/32 and 172.17.0.0/16 but loose 10.0.0.3 >Fix: >Release-Note: >Audit-Trail: >Unformatted: