PageRenderTime 18ms CodeModel.GetById 8ms app.highlight 4ms RepoModel.GetById 2ms app.codeStats 0ms

/share/man/man4/natmip.4

https://bitbucket.org/freebsd/freebsd-head/
Forth | 248 lines | 248 code | 0 blank | 0 comment | 17 complexity | b055590adf1da5954b96a138d7fd998b MD5 | raw file
  1.\"
  2.\" Copyright (c) 2003
  3.\"	Fraunhofer Institute for Open Communication Systems (FhG Fokus).
  4.\" 	All rights reserved.
  5.\"
  6.\" Author: Hartmut Brandt <harti@FreeBSD.org>
  7.\"
  8.\" Redistribution and use in source and binary forms, with or without
  9.\" modification, are permitted provided that the following conditions
 10.\" are met:
 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.\"
 17.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 18.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 19.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 20.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 21.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 22.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 23.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 24.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 25.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 26.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 27.\" SUCH DAMAGE.
 28.\"
 29.\" $FreeBSD$
 30.\"
 31.Dd August 11, 2003
 32.Dt NATMIP 4
 33.Os
 34.Sh NAME
 35.Nm natmip
 36.Nd IP over ATM PVCs
 37.Sh SYNOPSIS
 38.Cd "device atm"
 39.Cd "options NATM"
 40.Sh DESCRIPTION
 41The NATM protocol stack includes support for IP over ATM.
 42Without any
 43additional signalling stacks or other modules it is possible to build
 44a CLIP (classical IP over ATM) network based on PVCs.
 45.Pp
 46An ATM network card
 47.Li ( en0
 48in this example) is configured for IP by something
 49like:
 50.Pp
 51.Dl "ifconfig en0 128.252.200.1 netmask 0xffffff00 up"
 52.Pp
 53IP routing is done with special interface routes (routes with directly
 54reachable destinations) with a link layer gateway address.
 55The link layer address specifies the ATM interface through which the
 56destination can be reached, the virtual channel that connects to the
 57destination and the ATM characteristics of this channel.
 58The address part of the link layer address (see
 59.Xr link_addr 3 )
 60consists of a fixed part (the first 5 bytes) and a part that
 61depends on the kind of the PVC (UBR, CBR, VBR, ABR).
 62Multi-byte values
 63are big-endian encoded: the bytes with the lower numbers contain the
 64higher order bits.
 65.Bl -tag -width "bytes 12...12" -offset indent
 66.It byte 0
 67Is a flag byte.
 68Currently only flag 0x20 is used.
 69When set, all IP frames are LLC/SNAP encapsulated before putting them into
 70an AAL5 frame.
 71Setting this flag is recommended and allows interoperability with other
 72CLIP implementations.
 73Note that BPF works only with LLC/SNAP encapsulation.
 74.It byte 1
 75This is the VPI of the channel.
 76.It bytes 2...3
 77VCI of the channel.
 78Must not be zero.
 79.It byte 4
 80Traffic type.
 81One of 0 (UBR), 1 (CBR), 2 (ABR), 3 (VBR).
 82.El
 83.Pp
 84The variable part for UBR connections may be either empty or three bytes:
 85.Bl -tag -width "bytes 12...12" -offset indent
 86.It bytes 5...7
 87Specifies the peak cell rate for UBR.
 88.El
 89.Pp
 90The variable part for CBR connections must be three bytes:
 91.Bl -tag -width "bytes 12...12" -offset indent
 92.It bytes 5...7
 93Specifies the peak cell rate for CBR.
 94.El
 95.Pp
 96The variable part for VBR connections must be 9 bytes long and specifies three
 97values:
 98.Bl -tag -width "bytes 12...12" -offset indent
 99.It bytes 5...7
100Specifies the peak cell rate for VBR.
101.It bytes 8...10
102This is the sustainable cell rate.
103.It bytes 11...13
104The maximum burst size.
105.El
106.Pp
107The variable part for ABR connections must be 19 bytes long and specifies the
108following values:
109.Bl -tag -width "bytes 12...12" -offset indent
110.It bytes 5...7
111Specifies the peak cell rate for ABR.
112.It bytes 8...10
113The minimum cell rate.
114.It bytes 11...13
115The initial cell rate.
116.It bytes 14...16
117The transient buffer exposure.
118.It byte 17
119The NRM value.
120.It byte 18
121The TRM value.
122.It bytes 19...20
123The ADTF value.
124.It byte 21
125The rate increase factor (RIF).
126.It byte 22
127The rate decrease factor (RDF).
128.It byte 23
129The cutoff decrease factor (CDF).
130.El
131.Pp
132To add a PVC the
133.Xr route 8
134utility can be used:
135.Bd -ragged -offset indent
136.Nm route Cm add
137.Fl iface Aq Ar "remote\ IP\ address"
138.Fl link Ao Ar iface Ac : Ns Aq Ar lladdr
139.Ed
140.Pp
141The
142.Ar iface
143is the ATM interface through which
144.Ar "remote\ IP\ address"
145can be reached and
146.Ar lladdr
147is the link layer address as a string of dot-separated, hexadecimal bytes.
148.Pp
149NATM also supports the old, original format.
150This consists of 4 byte
151link layer addresses (and the channels are implicit UBR):
152.Bl -tag -width "bytes 12...12" -offset indent
153.It byte 0
154Flags:
155.Bl -tag -width "0x02" -offset indent -compact
156.It 0x01
157use AAL5.
158.It 0x02
159if using AAL5, use an LLC/SNAP header.
160.El
161.Pp
162Thus, parameter 3 means AAL5 and LLC/SNAP encapsulation (this is the required
163setting for interworking with other CLIP clients).
164Note that BPF works only with LLC/SNAP encapsulation.
165.It byte 1
166VPI for the channel
167.It bytes 2...3
168VCI for the channel
169.El
170.Sh EXAMPLES
171Suppose you have 3 hosts 128.252.200.1, 128.252.200.2 and
172128.252.200.3 connected by ATM through PVCs:
173.Pp
174.Bl -item -offset indent -compact
175.It
176between 128.252.200.1 and 128.252.200.2: 0xc9 UBR
177.It
178between 128.252.200.1 and 128.252.200.3: 0xca VBR
179.It
180between 128.252.200.2 and 128.252.200.3: 0xcb CBR
181.El
182.Pp
183The parameters for the VBR channel are: PCR 50000, SCR 10000, MBS 10.
184The peak cell rate for the CBR channel is 100000.
185.Pp
186To enable the links use the following commands:
187.Pp
188on host 128.252.200.1:
189.Bd -literal -offset indent -compact
190ifconfig en0 128.252.200.1 netmask 0xffffff00 up
191route add -iface 128.252.200.2 -link en0:3.0.0.c9.0
192route add -iface 128.252.200.3 -link en0:3.0.0.ca.3.0.c3.50.0.27.10.0.0.a
193.Ed
194.Pp
195on host 128.252.200.2:
196.Bd -literal -offset indent -compact
197ifconfig en0 128.252.200.2 netmask 0xffffff00 up
198route add -iface 128.252.200.1 -link en0:3.0.0.c9.0
199route add -iface 128.252.200.3 -link en0:3.0.0.cb.1.1.86.a0
200.Ed
201.Pp
202on host 128.252.200.3:
203.Bd -literal -offset indent -compact
204ifconfig en0 128.252.200.3 netmask 0xffffff00 up
205route add -iface 128.252.200.1 -link en0:3.0.0.ca.3.0.c3.50.0.27.10.0.0.a
206route add -iface 128.252.200.2 -link en0:3.0.0.cb.1.1.86.a0
207.Ed
208.Pp
209This can also be done in
210.Xr rc.conf 5 :
211.Pp
212on host 128.252.200.1:
213.Bd -literal -offset indent -compact
214network_interfaces="lo0 en0"
215ifconfig_en0="inet 128.252.200.1 netmask 255.255.255.0"
216static_routes="host2 host3"
217route_host2="-iface 128.252.200.2 -link en0:3.0.0.c9.0"
218route_host3="-iface 128.252.200.3 -link en0:3.0.0.ca.3.0.c3.50.0.27.10.0.0.a"
219.Ed
220.Pp
221on host 128.252.200.2:
222.Bd -literal -offset indent -compact
223network_interfaces="lo0 en0"
224ifconfig_en0="inet 128.252.200.2 netmask 255.255.255.0"
225static_routes="host1 host3"
226route_host1="-iface 128.252.200.1 -link en0:3.0.0.c9.0"
227route_host3="-iface 128.252.200.3 -link en0:3.0.0.cb.1.1.86.a0"
228.Ed
229.Pp
230on host 128.252.200.3:
231.Bd -literal -offset indent -compact
232network_interfaces="lo0 en0"
233ifconfig_en0="inet 128.252.200.3 netmask 255.255.255.0"
234static_routes="host1 host2"
235route_host1="-iface 128.252.200.1 -link en0:3.0.0.ca.3.0.c3.50.0.27.10.0.0.a"
236route_host2="-iface 128.252.200.2 -link en0:3.0.0.cb.1.1.86.a0"
237.Ed
238.Sh SEE ALSO
239.Xr en 4 ,
240.Xr fatm 4 ,
241.Xr hatm 4 ,
242.Xr natm 4 ,
243.Xr patm 4
244.Sh AUTHORS
245.An Chuck Cranor
246of Washington University implemented the NATM protocol layer
247along with the EN ATM driver in 1996 for
248.Nx .