1 .\" $FreeBSD: src/usr.sbin/gifconfig/gifconfig.8,v 1.1.2.11 2003/03/11 21:13:49 trhodes Exp $
2 .\" $DragonFly: src/usr.sbin/gifconfig/gifconfig.8,v 1.5 2007/05/17 08:19:03 swildner Exp $
3 .\" $KAME: gifconfig.8,v 1.6 2000/11/22 11:10:09 itojun Exp $
5 .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
6 .\" All rights reserved.
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\" notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\" notice, this list of conditions and the following disclaimer in the
15 .\" documentation and/or other materials provided with the distribution.
16 .\" 3. Neither the name of the project nor the names of its contributors
17 .\" may be used to endorse or promote products derived from this software
18 .\" without specific prior written permission.
20 .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 .Nd configure generic IP tunnel
43 .Op Ar physsrc physdest
52 utility configures the physical address for the generic IP tunnel
53 interface, such as "gif0".
58 are interpreted as the outer source/destination address for
59 encapsulating IPv4/v6 header.
62 specifies the address family for
71 and will be treated as
79 just deletes the existing source and destination addresses on
81 If no outer addresses are specified, this usage has no effect.
85 utility takes the following optional argument:
88 Display information associated with all
93 Please note that it is very easy to create infinite routing loop,
94 when you configure tunnel over same address family
95 (e.g. IPv4-over-IPv4).
99 interface is created at runtime using interface cloning.
101 most easily done with the
105 .Va gifconfig_ Ns Aq Ar interface
109 If you would like to configure IPv6 over IPv4
115 you should perform the following command:
117 # gifconfig gif0 inet 10.1.1.1 10.2.3.4
122 .\" feature to establish a tunnel from host1 to host3
123 .\" which will encapsulate and carry packets from host2, on host1 do:
124 .\" .Bd -literal -offset
125 .\" # ifconfig gif0 inet host1 127.0.0.2 # assign an address to gif0
126 .\" # gifconfig gif0 inet host1 0.0.0.0 # assign encapsulation addresses
127 .\" # route add host2 host3 -ifp gif0: # encap host2 packets, send to host3
132 .\" option to route does not work as documented in
133 .\" most versions of FreeBSD.
136 .\" .Bd -literal -offset
137 .\" # ifconfig gif0 inet host3 127.0.0.2 # assign an address to gif0
138 .\" # gifconfig gif0 inet host3 0.0.0.0 # assign encapsulation addresses
141 .\" Now if you ping host2 from host1, the packets should be encapsulated
142 .\" with outer source address = host1 and outer destination address = host3,
143 .\" and delivered to host3.
144 .\" host3 will decapsulate the packet and deliver it normally to host2.
146 This is also possible to use IPv6 as outer proto, by replacing
150 and IPv4 addresses to some appropriate IPv6 addresses in above example.
152 The command exits with exit status of 1 on errors, 0 on success.
159 utility first appeared in WIDE Hydrangea IPv6 protocol stack kit.
161 IPv6 and IPsec support based on the KAME Project (http://www.kame.net/) stack
162 was initially integrated into