summaryrefslogtreecommitdiffstats
path: root/usr.sbin/rrenumd/rrenumd.conf.5
blob: e9fb46f7bdc0b22ac6117ba2c4ac771d11bd49ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
.\"	$KAME: rrenumd.conf.5,v 1.8 2001/02/06 02:17:23 jinmei Exp $
.\"
.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the project nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     $FreeBSD$
.\"
.Dd November 5, 1998
.Dt RRENUMD.CONF 5
.Os
.Sh NAME
.\"
.Nm rrenumd.conf
.Nd configuration file for router renumbering daemon
.\"
.Sh DESCRIPTION
The rrenumd config file describes how the router renumbering packet
must be constructed and to which destinations it should be sent.
This file consists of a sequence of statements terminated by a semi-colon (`;').
Statements are composed of tokens
separated by white space, which can be any combination of blanks, tabs
and newlines.
This structure simplifies identification of
the parts of the configuration associated with each other.
Lines beginning with
.Ql #
are comments.
.\"
.Sh Meta Syntax
Keywords and special characters that the parser expects exactly are
displayed using the
.Ic bold
font.
Parameters are specifying with
.Ar underline .
Parameters shown in
square brackets (`[' and `]') are used to show optional
keywords and parameters.
The vertical bar (`|') is used to indicate
between a choice of optional parameters.
Curly braces (`{' and
`}') are used to group keywords and parameters when necessary.
.\"
.Sh Interface specification
There are some statements that may or have to specify interface.
Interfaces are specified in the form of "name unit", such as
.Ar lo0
and
.Ar ep1 .
.\"
.Sh Configuration Statements
.Bl -tag -width Ds
.\"
.It Ic debug on|off ;
Enables configuration file parser debugging.
If
.Ic on
is specified,
then debugging is enabled,
If
.Ic off
is specified,
then debugging is disabled.
It is disabled by default.
.\"
.It Ic dest Ar dest-list Op Ar retrycmd ;
Specifies destinations to which router renumbering messages should be
sent.
.Ar dest-list
can be any combination of single or multiple numerical IPv6 addrs,
or Full Qualified Domain Names.
.Ar retrycmd
has following syntax.
.\"
.Bl -tag -width Ds
.It Ic retry Ar retry-num
.Ar retry-num
specifies how many router renumbering messages are sent repeatedly.
.El
.It Op Ic add|change|setglobal
.Cm match-prefix Ar match-prefix-val
.Bk -words
.Op /match-prefix-len
.Ek
.Bk -words
.Op Cm maxlen Ar maxlen-val
.Ek
.Bk -words
.Op Cm minlen Ar minlen-val
.Ek
.Bk -words
.Op Cm use-prefix Ar use-prefix-val
.Ek
.Bk -words
.Op /use-prefix-len
.Ek
.Bk -words
.Op Cm keeplen Ar keeplen-val
.Ek
.Bk -words
.Op Ar use-prefix-values ;
.Ek
.Pp
Specifies contents of sending router renumbering message with seqnum 0.
If
.Cm add|change|setglobal
is not specified, then
.Cm add
is assumed.
.Ar use-prefix-values
has following syntax.
.Pp
{
.Op Cm vltime Ar vltime-val
.Bk -words
.Op Cm pltime Ar pltime-val
.Ek
.Bk -words
.Op Cm raf_onlink Cm on|off
.Ek
.Bk -words
.Op Cm raf_auto Cm on|off
.Ek
.Bk -words
.Op Cm rrf_decrprefd Cm on|off
.Ek
.Bk -words
.Op Cm rrf_decrvalid Cm on|off
.Ek
}
.Pp
Each value has following meaning.
.Pp
.Bl -tag -width Ds -compact
.It Cm match-prefix Ar match-prefix-val Op /match-prefix-len
Specify
.Ar match-prefix-val
that is used for matching with preassigned prefixes to which
.Cm add|change|setglobal
command should be applied.
.Ar /match-prefix-len
Specify the starting part of
.Ar match-prefix-val
to be used for matching with preassigned prefixes, as decimal bit number.
.It Cm maxlen Ar maxlen-val
Specify the maximum length of prefixes which is allowed to be
matched to
.Ar match-prefix-val ,
as decimal bit number.
.It Cm minlen Ar minlen-val
Specify the minimum length of prefixes which is allowed to be matched to
.Ar match-prefix-val ,
as decimal bit number.
.It Cm use-prefix Ar use-prefix-val Op /usr-prefix-len
Specify
.Ar use-prefix-val
that is used for prefixes to be added on
.Cm add|change|setglobal
command.
.Ar /use-prefix-len
Specify the starting part of
.Ar use-prefix-val
copied to the starting part of prefixes to be added on
.Cm add|change|setglobal
command, as decimal bit number.
.It Cm keeplen Ar keeplen-val
Specify the medium part of
.Ar use-prefix-val
just next to the starting part specified by
.Ar use-prefix-len ,
as decimal bit number.
Contiguous bits part in the same bit position of an existent prefix
matched with
.Ar match-prefix-val
is copied to the same bit position of prefixes to be added.
.It Cm vltime Ar vmtime-val
Assign an
.Ar time
as prefix valid life time for a prefix to be added.
Valid value for
.Ar time
is decimal seconds number or special format as "d00h00m00s00",
where 00 can take any decimal number, and "d" means days, "h" means hours,
"m" means minutes, "s" means seconds.
And alternatively, special keyword
"infinity" can be also be specified.
.It Cm pltime Ar pltime-val
Assign an
.Ar time
as prefix preferred life time for a prefix to be added.
Valid value for
.Ar time
is same as for
.Ar vltime-val .
.It Cm raf_onlink Cm on|off
Let the prefix to be added to have on-link or off-link nature
for the assigned interface.
If
.Cm on
is specified, the prefix have on-link nature
(e.g. the prefix
belong to the link).
If
.Cm off
is specified, the prefix have off-link nature
(e.g. the
prefix does not belong to the link).
.It Cm raf_auto Cm on|off
Enable or disable the autonomous address auto configuration
for the prefix to be added.
If
.Cm on
is specified, autonomous address auto configuration is
enabled.
If
.Cm off
is specified, it is disabled.
.It Cm rrf_decrprefd Cm on|off
Enable or disable the decrementation of the pltime.
If
.Cm on
is specified, decrementation of the pltime is enabled.
If
.Cm off
is specified, decrementation of the pltime is disabled.
.It Cm rrf_decrvalid Cm on|off
Enable or disable the decrementation of the vltime.
If
.Cm on
is specified, decrementation of the vltime is enabled.
If
.Cm off
is specified, decrementation of the vltime is disabled.
.El
.\"
.It seqnum Ar seqnum-val { Ar rrenum-cmd } ;
Specifies contents of sending router renumbering message with some
specific seqnum.
Multiple of this statement can be specified if they
have different
.Ar seqnum-val
each other.
.Ar rrenum-cmd
has just same syntax with above add|change|setglobal statement.
.El
.\"
.Sh EXAMPLES
For each configuration file example shown below, we suppose
every IPv6 subnet has its own prefix beginning with
fec0:0:0::/48 and with its own subnet number
(in this case,
subnet number is 7th and 8th octet value of the prefix).
.Pp
If you want to assign prefixes beginning with 3ffe:501:ffff::/48
to each subnet, then following configuration will be enough,
if each of your routers supports IPv6 multicast forwarding.
The subnet number of the existing fec0:0:0::/48 prefix and the
newly assigned 3ffe:501:ffff::/48 prefix will be same.
.\"
.Bd -literal -offset indent
dest ff05::2;

add match-prefix fec0:0:0:: /48 use-prefix 3ffe:501:ffff:: /48 keeplen 16;
.Ed
.Pp
.\"
If your routers don't support IPv6 multicast forwarding,
you'll need to specify each destination at
.Cm dest
command.
.\"
.Bd -literal -offset indent
dest fec0:0:0:1:260:8ff:fe24:fb3a fec0:0:0:2:200:eff:fe2e:dfe1 fec0:0:0:3:5254:ff:fedc:5217;

add match-prefix fec0:0:0:: /48 use-prefix 3ffe:501:ffff:: /48 keeplen 16;
.Ed
.Pp
.\"
If you are going to do renumbering, then following procedure will be natural.
.Bl -enum -offset indent
.It
Assign a new prefix.
.It
Set old prefix lifetimes to some appropriate transition
period.
In the followng example we use 1 week for valid
lifetime, and 0 for preferred lifetime.
Also, enable old prefix lifetime expiration
(By default, it is static and does not expire).
.It
After the transition period, old prefixes should become
invalid, and may have been deleted.
To make sure that they are deleted, send new router
renumbering message, which specifies old prefixes as match
prefix, and no use prefix.
.El
.Pp
.\"
The following configuration file will do 1 and 2.
.\"
.Bd -literal -offset indent
dest ff05::2;

seqnum 0 {
	add match-prefix fec0:0:0:: /48 use-prefix 3ffe:501:fffe:: /48 keeplen 16;
	};

seqnum 1 {
	change match-prefix 3ffe:501:ffff:: /48 use-prefix 3ffe:501:ffff:: /48 keeplen 16 vltime d7 pltime 0 rrf_decrvalid on rrf_decrprefd on;
	};
.Ed
.Pp
.\"
And the following configuration file will do 3
(should be
used for the router renumbering message to be sent 1 week
afterward).
.\"
.Bd -literal -offset indent
dest ff05::2;

change match-prefix 3ffe:501:ffff:: /48;
.Ed
.Pp
.\"
In the above example, only
.Cm add
and
.Cm change
commands are used, and there is no example for
.Cm setglobal
command.
.Cm setglobal
command is almost same with
.Cm change
command except that it deletes all pre-defined IPv6 global address.
.Sh SEE ALSO
.Xr prefix 8 ,
.Xr rrenumd 8
.Sh HISTORY
The
.Nm
configuration file was first appeared in KAME IPv6 protocol stack kit.
.\" .Sh BUGS
.\" (to be written)
OpenPOWER on IntegriCloud