Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 May 2016 08:29:45 -0600
From:      James Gritton <jamie@freebsd.org>
To:        freebsd-jail@freebsd.org
Subject:   Re: [Bug 208001] After turning off the jail does not remove network routes
Message-ID:  <22f599502bd9a932ae41ddb5e70164fa@gritton.org>
In-Reply-To: <8a575b8b-e9e9-d79c-0b31-708e7bbd35fd@freebsd.org>
References:  <bug-208001-9824@https.bugs.freebsd.org/bugzilla/> <bug-208001-9824-kHE9fsBB6i@https.bugs.freebsd.org/bugzilla/> <8a575b8b-e9e9-d79c-0b31-708e7bbd35fd@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2016-05-28 19:56, Allan Jude wrote:
> On 2016-05-28 20:30, bugzilla-noreply@freebsd.org wrote:
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208001
>> 
>> --- Comment #5 from Jamie Gritton <jamie@FreeBSD.org> ---
>> Yes, of course there are cases where something besides a /32 is 
>> appropriate -
>> that is why jail(8) allows that.  However, as I mentioned it did 
>> appear that
>> you had violated the specification that an alias should be on a 
>> non-conflicting
>> netmask.
>> 
>> The fact remains that I am unable to reproduce your problem.  Perhaps 
>> I could
>> if I had your entire configuration - all jails, all other network 
>> setup.
>> 
>> jail(8) simply calls ifconfig(8) with "alias" to add IP addresses, and 
>> with
>> "-alias" to remove them - see the output of "jail -vc" and "jail -vr". 
>>  The
>> jail will not be removed if the "ifconfig ... -alias" command fails, 
>> which
>> implies that the command is succeeding.  Unless of course there 
>> actually is a
>> bug in the way jail(8) is running this program.  My guess is the 
>> command is
>> succeeding, but isn't removing some arp entry because the alias when
>> incorrectly specified when it was created.
>> 
>> If it's clear (from "jail -v") that the correct ifconfig commands are 
>> being
>> run, then this might be considered an ifconfig bug.  If the correct 
>> commands
>> aren't being run, then it could be a jail bug.
>> 
> 
> 
> I think that is actually the problem
> 
> ifconfig -alias
> only accepts the IP address, not with the CIDR.
> 
> #ifconfig lo0 alias 10.0.0.1/24
> #ifconfig lo0 -alias 10.0.0.1/24
> ifconfig: 10.0.0.1/24: bad value
> 
> you want to do just:
> #ifconfig lo0 -alias 10.0.0.1
> 
> So jail(8) needs to strip the /24 off when passing it to ifconfig 
> -alias

Actually is doesn't.  While your "-alias" command doesn't work, the one 
that jail uses does:

#ifconfig lo0 inet 10.0.0.1/24 -alias

At first I thought it was the "inet" that did it.  But further 
exploration suggests there's something magic about moving the "-alias" 
to the end.  It doesn't make sense, and if I had first tried it with the 
"[-]alias" tag earlier on the command line I probably would have ended 
up working out the netmask myself.  Serendipity.

- Jamie



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?22f599502bd9a932ae41ddb5e70164fa>