xref: /minix3/share/man/man5/ifconfig.if.5 (revision 1dee92ebe9d36c122dd2fee6f8e8b3cb279ddbfc)
1*1dee92ebSDavid van Moolenbroek.\"	$NetBSD: ifconfig.if.5,v 1.18 2014/12/29 14:22:25 wiz Exp $
2*1dee92ebSDavid van Moolenbroek.\"
3*1dee92ebSDavid van Moolenbroek.\" Copyright (c) 1996 Matthew R. Green
4*1dee92ebSDavid van Moolenbroek.\" All rights reserved.
5*1dee92ebSDavid van Moolenbroek.\"
6*1dee92ebSDavid van Moolenbroek.\" Redistribution and use in source and binary forms, with or without
7*1dee92ebSDavid van Moolenbroek.\" modification, are permitted provided that the following conditions
8*1dee92ebSDavid van Moolenbroek.\" are met:
9*1dee92ebSDavid van Moolenbroek.\" 1. Redistributions of source code must retain the above copyright
10*1dee92ebSDavid van Moolenbroek.\"    notice, this list of conditions and the following disclaimer.
11*1dee92ebSDavid van Moolenbroek.\" 2. Redistributions in binary form must reproduce the above copyright
12*1dee92ebSDavid van Moolenbroek.\"    notice, this list of conditions and the following disclaimer in the
13*1dee92ebSDavid van Moolenbroek.\"    documentation and/or other materials provided with the distribution.
14*1dee92ebSDavid van Moolenbroek.\"
15*1dee92ebSDavid van Moolenbroek.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16*1dee92ebSDavid van Moolenbroek.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17*1dee92ebSDavid van Moolenbroek.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18*1dee92ebSDavid van Moolenbroek.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19*1dee92ebSDavid van Moolenbroek.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
20*1dee92ebSDavid van Moolenbroek.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21*1dee92ebSDavid van Moolenbroek.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
22*1dee92ebSDavid van Moolenbroek.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
23*1dee92ebSDavid van Moolenbroek.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24*1dee92ebSDavid van Moolenbroek.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25*1dee92ebSDavid van Moolenbroek.\" SUCH DAMAGE.
26*1dee92ebSDavid van Moolenbroek.\"
27*1dee92ebSDavid van Moolenbroek.Dd December 18, 2014
28*1dee92ebSDavid van Moolenbroek.Dt IFCONFIG.IF 5
29*1dee92ebSDavid van Moolenbroek.Os
30*1dee92ebSDavid van Moolenbroek.Sh NAME
31*1dee92ebSDavid van Moolenbroek.Nm ifconfig.if
32*1dee92ebSDavid van Moolenbroek.Nd interface-specific configuration files or variables
33*1dee92ebSDavid van Moolenbroek.Sh DESCRIPTION
34*1dee92ebSDavid van MoolenbroekThe
35*1dee92ebSDavid van Moolenbroek.Nm
36*1dee92ebSDavid van Moolenbroekfiles or variables contain information regarding the configuration
37*1dee92ebSDavid van Moolenbroekof each network interface.
38*1dee92ebSDavid van Moolenbroek.Nm
39*1dee92ebSDavid van Moolenbroekis processed by
40*1dee92ebSDavid van Moolenbroek.Pa /etc/rc.d/network
41*1dee92ebSDavid van Moolenbroekat system boot time.
42*1dee92ebSDavid van Moolenbroek.Pp
43*1dee92ebSDavid van MoolenbroekFor each interface
44*1dee92ebSDavid van Moolenbroek.Pq Ar nnX
45*1dee92ebSDavid van Moolenbroekthat is to be configured, there should be either an
46*1dee92ebSDavid van Moolenbroek.Sy ifconfig_nnX
47*1dee92ebSDavid van Moolenbroekvariable in
48*1dee92ebSDavid van Moolenbroek.Xr rc.conf 5 ,
49*1dee92ebSDavid van Moolenbroekor an
50*1dee92ebSDavid van Moolenbroek.Pa /etc/ifconfig.nnX
51*1dee92ebSDavid van Moolenbroekfile
52*1dee92ebSDavid van Moolenbroek(such as the
53*1dee92ebSDavid van Moolenbroek.Sy ifconfig_fxp0
54*1dee92ebSDavid van Moolenbroekvariable or the
55*1dee92ebSDavid van Moolenbroek.Pa /etc/ifconfig.fxp0
56*1dee92ebSDavid van Moolenbroekfile for the
57*1dee92ebSDavid van Moolenbroek.Sy fxp0
58*1dee92ebSDavid van Moolenbroekinterface).
59*1dee92ebSDavid van MoolenbroekOnly characters allowed in
60*1dee92ebSDavid van Moolenbroek.Xr sh 1
61*1dee92ebSDavid van Moolenbroekvariables names should be used for
62*1dee92ebSDavid van Moolenbroek.Ar nnX
63*1dee92ebSDavid van Moolenbroek.Po Xr ascii 7
64*1dee92ebSDavid van Moolenbroekuppercase and lowercase letters, digits, and underscore
65*1dee92ebSDavid van Moolenbroek.Pc .
66*1dee92ebSDavid van Moolenbroek.Pp
67*1dee92ebSDavid van MoolenbroekThe variable or file will get evaluated only if the interface exists on
68*1dee92ebSDavid van Moolenbroekthe system.
69*1dee92ebSDavid van MoolenbroekMultiple lines can be placed in a variable or file, and will be
70*1dee92ebSDavid van Moolenbroekevaluated sequentially.
71*1dee92ebSDavid van MoolenbroekIn the case of a variable, semicolons may be used instead of
72*1dee92ebSDavid van Moolenbroeknewlines, as described in
73*1dee92ebSDavid van Moolenbroek.Xr rc.conf 5 .
74*1dee92ebSDavid van Moolenbroek.Ao backslash Ac Ns Ao newline Ac
75*1dee92ebSDavid van Moolenbroeksequences in files are ignored, so long logical lines may be
76*1dee92ebSDavid van Moolenbroekmade up of several shorter physical lines.
77*1dee92ebSDavid van Moolenbroek.Pp
78*1dee92ebSDavid van MoolenbroekNormally, a line will be evaluated as command line arguments to
79*1dee92ebSDavid van Moolenbroek.Xr ifconfig 8 .
80*1dee92ebSDavid van Moolenbroek.Dq Li ifconfig Ar nnX
81*1dee92ebSDavid van Moolenbroekwill be prepended on evaluation.
82*1dee92ebSDavid van MoolenbroekArguments with embedded shell metacharacters should be quoted in
83*1dee92ebSDavid van Moolenbroek.Xr sh 1
84*1dee92ebSDavid van Moolenbroekstyle.
85*1dee92ebSDavid van Moolenbroek.Pp
86*1dee92ebSDavid van MoolenbroekIf the line is equal to
87*1dee92ebSDavid van Moolenbroek.Dq dhcp ,
88*1dee92ebSDavid van Moolenbroek.Xr dhcpcd 8
89*1dee92ebSDavid van Moolenbroekwill be started for the interface.
90*1dee92ebSDavid van MoolenbroekHowever, it is instead recommended that
91*1dee92ebSDavid van Moolenbroek.Sy dhcpcd
92*1dee92ebSDavid van Moolenbroekis set to true in
93*1dee92ebSDavid van Moolenbroek.Xr rc.conf 5
94*1dee92ebSDavid van Moolenbroekand any per interface configuration or restriction is done in
95*1dee92ebSDavid van Moolenbroek.Xr dhcpcd.conf 5 .
96*1dee92ebSDavid van Moolenbroek.Pp
97*1dee92ebSDavid van MoolenbroekIf a line is empty, or starts with
98*1dee92ebSDavid van Moolenbroek.Sq # ,
99*1dee92ebSDavid van Moolenbroekthe line will be ignored as comment.
100*1dee92ebSDavid van Moolenbroek.Pp
101*1dee92ebSDavid van MoolenbroekIf a line starts with
102*1dee92ebSDavid van Moolenbroek.Sq \&! ,
103*1dee92ebSDavid van Moolenbroekthe rest of line will get evaluated as shell script fragment.
104*1dee92ebSDavid van MoolenbroekShell variables declared in
105*1dee92ebSDavid van Moolenbroek.Pa /etc/rc.d/network
106*1dee92ebSDavid van Moolenbroekare accessible but may not be modified.
107*1dee92ebSDavid van MoolenbroekThe most useful variable is
108*1dee92ebSDavid van Moolenbroek.Li $int ,
109*1dee92ebSDavid van Moolenbroekas it will be bound to the interface being configured with the file.
110*1dee92ebSDavid van Moolenbroek.Pp
111*1dee92ebSDavid van MoolenbroekFor example, the following illustrates static interface configuration:
112*1dee92ebSDavid van Moolenbroek.Bd -literal -offset indent
113*1dee92ebSDavid van Moolenbroek# IPv4, with an alias
114*1dee92ebSDavid van Moolenbroekinet 10.0.1.12 netmask 255.255.255.0 media 100baseTX
115*1dee92ebSDavid van Moolenbroekinet 10.0.1.13 netmask 255.255.255.255 alias
116*1dee92ebSDavid van Moolenbroek# let us have IPv6 address on this interface
117*1dee92ebSDavid van Moolenbroekinet6 2001:db8::1 prefixlen 64 alias
118*1dee92ebSDavid van Moolenbroek# have subnet router anycast address too
119*1dee92ebSDavid van Moolenbroekinet6 2001:db8:: prefixlen 64 alias anycast
120*1dee92ebSDavid van Moolenbroek.Ed
121*1dee92ebSDavid van Moolenbroek.Pp
122*1dee92ebSDavid van MoolenbroekThe following example sets a network name for a wireless interface
123*1dee92ebSDavid van Moolenbroek(using quotes to protect special characters in the name),
124*1dee92ebSDavid van Moolenbroekand starts
125*1dee92ebSDavid van Moolenbroek.Xr dhcpcd 8 :
126*1dee92ebSDavid van Moolenbroek.Bd -literal -offset indent
127*1dee92ebSDavid van Moolenbroekssid 'my network'
128*1dee92ebSDavid van Moolenbroekdhcp
129*1dee92ebSDavid van Moolenbroek.Ed
130*1dee92ebSDavid van Moolenbroek.Pp
131*1dee92ebSDavid van MoolenbroekThe following example is for dynamically-created pseudo interfaces like
132*1dee92ebSDavid van Moolenbroek.Xr gif 4 .
133*1dee92ebSDavid van MoolenbroekEarlier versions of
134*1dee92ebSDavid van Moolenbroek.Pa /etc/rc.d/network
135*1dee92ebSDavid van Moolenbroekrequired an explicit
136*1dee92ebSDavid van Moolenbroek.Sq create
137*1dee92ebSDavid van Moolenbroekcommand for such interfaces,
138*1dee92ebSDavid van Moolenbroekbut creation is now handled automatically.
139*1dee92ebSDavid van Moolenbroek.Bd -literal -offset indent
140*1dee92ebSDavid van Moolenbroekup
141*1dee92ebSDavid van Moolenbroek# configure IPv6 default route toward the interface
142*1dee92ebSDavid van Moolenbroek!route add -inet6 default ::1
143*1dee92ebSDavid van Moolenbroek!route change -inet6 default -ifp $int
144*1dee92ebSDavid van Moolenbroek.Ed
145*1dee92ebSDavid van Moolenbroek.Sh FILES
146*1dee92ebSDavid van Moolenbroek.Pa /etc/rc.d/network
147*1dee92ebSDavid van Moolenbroek.Sh SEE ALSO
148*1dee92ebSDavid van Moolenbroek.Xr rc.conf 5 ,
149*1dee92ebSDavid van Moolenbroek.Xr ifconfig 8
150