Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 15 Mar 2012 20:49:55 -0400
From:      "Eric W. Bates" <ericx@ericx.net>
To:        freebsd-net@freebsd.org
Subject:   Re: Use of network_interfaces in rc.conf
Message-ID:  <4F628E33.1060303@ericx.net>
In-Reply-To: <CAN6yY1vwN2vYjSU4%2BHbOiTKPPA2UArYd7Ex1J43q9OZMxXkxkw@mail.gmail.com>
References:  <CALCpEUE5-HgupRc9VfU4W2B4d07mO9ceTiX05SfQCeA_GXDcOQ@mail.gmail.com> <CALCpEUFs74jZ69gCm-1bwGMKZFdkBas2VdR8x1JHAVzFtWSpBA@mail.gmail.com> <D3ACECC5-598B-4679-A76F-7FDD2780BAFF@mac.com> <CALCpEUHywOyDqabNkuRhmZE0o2iCMWTyt%2BAW5GXEu7HdZRgrwg@mail.gmail.com> <4F607EDF.4010505@rdtc.ru> <CALCpEUG1fOA687BiYOre-7ou1k-zKs0iLYmk2dDJVt5JwhTJEQ@mail.gmail.com> <4F61769B.2040809@rdtc.ru> <CAN6yY1vwN2vYjSU4%2BHbOiTKPPA2UArYd7Ex1J43q9OZMxXkxkw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 3/15/2012 7:27 PM, Kevin Oberman wrote:
> 2012/3/14 Eugene Grosbein<egrosbein@rdtc.ru>:
>> 15.03.2012 06:33, hiren panchasara пишет:
>>
>>>      network_interfaces is basically historic rudiment
>>>      used in 2.2.x FreeBSD version and alike.
>>>
>>>      In general, you should not use it in modern version at all.
>>>
>>>
>>> Thanks Eugene.
>>>
>>> So, the only way to specify boottime configuration (that survives reboots) for an interface in rc.conf is:
>>> ifconfig_em0="dhcp" ?
>>
>> Yes, thats what man rc.conf says.
>
> Minor correction, but the man page says 'ifconfig_em0="DHCP". It may
> not be case sensitive, but I have always uded CAPS like the man page
> specifies. Also, I usually end up specifying SYNCDHCP to avoid having
> something else that requires network starting before the interface is
> configured.
>
> Of course, ifconfig_* may have any valid ifconfig argument in it, but
> remember the rc.conf is shell, so you must put all of the definition
> in a single statement. You can't do:
> ifconfig_em0="DHCP"
> ifconfig_em0="mediaopt half-duplex"
> That will not do DHCP, so hte interface will not come up. Of course,
> you can concatinate a second entry to the first using normal sh
> syntax.

FreeBSD rc has a clever way around this. In /etc/network.subr 
ifscript_up(), if the file /etc/start_if.em0 is readable, it will be dot 
executed. So you can put as much multi-line config info in there as you 
would like. e.g.:

ifconfig em0 mediaopt half-duplex
dhclient em0

As long as network_interfaces includes em0 (and it will be automatically 
included by default), then start_if.em0 will be run. Conversely, 
stop_if.em0 will also run when rc runs at shutdown.



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