1434d523bSKris Kennaway.\" $KAME$ 2434d523bSKris Kennaway.\" 39a4365d0SYoshinobu Inoue.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 49a4365d0SYoshinobu Inoue.\" All rights reserved. 59a4365d0SYoshinobu Inoue.\" 69a4365d0SYoshinobu Inoue.\" Redistribution and use in source and binary forms, with or without 79a4365d0SYoshinobu Inoue.\" modification, are permitted provided that the following conditions 89a4365d0SYoshinobu Inoue.\" are met: 99a4365d0SYoshinobu Inoue.\" 1. Redistributions of source code must retain the above copyright 109a4365d0SYoshinobu Inoue.\" notice, this list of conditions and the following disclaimer. 119a4365d0SYoshinobu Inoue.\" 2. Redistributions in binary form must reproduce the above copyright 129a4365d0SYoshinobu Inoue.\" notice, this list of conditions and the following disclaimer in the 139a4365d0SYoshinobu Inoue.\" documentation and/or other materials provided with the distribution. 149a4365d0SYoshinobu Inoue.\" 3. Neither the name of the project nor the names of its contributors 159a4365d0SYoshinobu Inoue.\" may be used to endorse or promote products derived from this software 169a4365d0SYoshinobu Inoue.\" without specific prior written permission. 179a4365d0SYoshinobu Inoue.\" 189a4365d0SYoshinobu Inoue.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 199a4365d0SYoshinobu Inoue.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 209a4365d0SYoshinobu Inoue.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 219a4365d0SYoshinobu Inoue.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 229a4365d0SYoshinobu Inoue.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 239a4365d0SYoshinobu Inoue.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 249a4365d0SYoshinobu Inoue.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 259a4365d0SYoshinobu Inoue.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 269a4365d0SYoshinobu Inoue.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 279a4365d0SYoshinobu Inoue.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 289a4365d0SYoshinobu Inoue.\" SUCH DAMAGE. 299a4365d0SYoshinobu Inoue.\" 309a4365d0SYoshinobu Inoue.\" $FreeBSD$ 319a4365d0SYoshinobu Inoue.\" 327a2650d6SRuslan Ermilov.Dd November 5, 1998 339a4365d0SYoshinobu Inoue.Dt RRENUMD.CONF 5 349a4365d0SYoshinobu Inoue.Os KAME 359a4365d0SYoshinobu Inoue.Sh NAME 369a4365d0SYoshinobu Inoue.\" 379a4365d0SYoshinobu Inoue.Nm rrenumd.conf 389a4365d0SYoshinobu Inoue.Nd configuration file for router renumbering daemon 399a4365d0SYoshinobu Inoue.\" 409a4365d0SYoshinobu Inoue.Sh DESCRIPTION 419a4365d0SYoshinobu InoueThe rrenumd config file describes how the router renumbering packet 429a4365d0SYoshinobu Inouemust be constructed and to which destinations it should be sent. 439a4365d0SYoshinobu InoueThis file consists of a sequence of statements terminated by a semi-colon (`;'). 449a4365d0SYoshinobu InoueStatements are composed of tokens 459a4365d0SYoshinobu Inoueseparated by white space, which can be any combination of blanks, tabs 469a4365d0SYoshinobu Inoueand newlines. 479a4365d0SYoshinobu InoueThis structure simplifies identification of 489a4365d0SYoshinobu Inouethe parts of the configuration associated with each other. 499a4365d0SYoshinobu InoueLines beginning with 509a4365d0SYoshinobu Inoue.Ql # 519a4365d0SYoshinobu Inoueare comments. 529a4365d0SYoshinobu Inoue.\" 539a4365d0SYoshinobu Inoue.Sh Meta Syntax 549a4365d0SYoshinobu InoueKeywords and special characters that the parser expects exactly are 559a4365d0SYoshinobu Inouedisplayed using the 569a4365d0SYoshinobu Inoue.Ic bold 579a4365d0SYoshinobu Inouefont. 589a4365d0SYoshinobu InoueParameters are specifying with 599a4365d0SYoshinobu Inoue.Ar underline . 609a4365d0SYoshinobu InoueParameters shown in 619a4365d0SYoshinobu Inouesquare brackets (`[' and `]') are used to show optional 629a4365d0SYoshinobu Inouekeywords and parameters. 639a4365d0SYoshinobu InoueThe vertical bar (`|') is used to indicate 649a4365d0SYoshinobu Inouebetween a choice of optional parameters. 65434d523bSKris KennawayParentheses (`(' and 66434d523bSKris Kennaway`)') are used to group keywords and parameters when necessary. 679a4365d0SYoshinobu Inoue.\" 689a4365d0SYoshinobu Inoue.Sh Interface specification 699a4365d0SYoshinobu InoueThere are some statements that may or have to specify interface. 709a4365d0SYoshinobu InoueInterfaces are specified in the form of "name unit", such as 719a4365d0SYoshinobu Inoue.Ar lo0 729a4365d0SYoshinobu Inoueand 739a4365d0SYoshinobu Inoue.Ar ep1. 749a4365d0SYoshinobu Inoue.\" 759a4365d0SYoshinobu Inoue.Sh Configuration Statements 769a4365d0SYoshinobu Inoue.Bl -tag -width Ds 779a4365d0SYoshinobu Inoue.\" 789a4365d0SYoshinobu Inoue.It Ic debug on|off ; 799a4365d0SYoshinobu InoueEnables configuration file parser debugging. 809a4365d0SYoshinobu InoueIf 819a4365d0SYoshinobu Inoue.Ic on 829a4365d0SYoshinobu Inoueis specified, 839a4365d0SYoshinobu Inouethen debugging is enabled, 849a4365d0SYoshinobu InoueIf 859a4365d0SYoshinobu Inoue.Ic off 869a4365d0SYoshinobu Inoueis specified, 87434d523bSKris Kennawaythen debugging is disabled. It is disabled by default. 889a4365d0SYoshinobu Inoue.\" 899a4365d0SYoshinobu Inoue.It Ic dest Ar dest-list Op Ar retrycmd ; 909a4365d0SYoshinobu InoueSpecifies destinations to which router renumbering messages should be 919a4365d0SYoshinobu Inouesent. 929a4365d0SYoshinobu Inoue.Ar dest-list 939a4365d0SYoshinobu Inouecan be any combination of single or multiple numerical IPv6 addrs, 949a4365d0SYoshinobu Inoueor Full Qualified Domain Names. 959a4365d0SYoshinobu Inoue.Ar retrycmd 969a4365d0SYoshinobu Inouehas following syntax. 979a4365d0SYoshinobu Inoue.\" 988b5c4af3SRuslan Ermilov.Bl -tag -width Ds 999a4365d0SYoshinobu Inoue.It Ic retry Ar retry-num 1009a4365d0SYoshinobu Inoue.Ar retry-num 1019a4365d0SYoshinobu Inouespecifies how many router renumbering messages are sent repeatedly. 1029a4365d0SYoshinobu Inoue.El 1039a4365d0SYoshinobu Inoue.It Op Ic add|change|setglobal 1049a4365d0SYoshinobu Inoue.Cm match-prefix Ar match-prefix-val 1059a4365d0SYoshinobu Inoue.Op /match-prefix-len 1069a4365d0SYoshinobu Inoue.Op Cm maxlen Ar maxlen-val 1079a4365d0SYoshinobu Inoue.Op Cm minlen Ar minlen-val 1089a4365d0SYoshinobu Inoue.Op Cm use-prefix Ar use-prefix-val 1099a4365d0SYoshinobu Inoue.Op /use-prefix-len 1109a4365d0SYoshinobu Inoue.Op Cm keeplen Ar keeplen-val 1119a4365d0SYoshinobu Inoue.Op Ar use-prefix-values ; 1129a4365d0SYoshinobu Inoue.Pp 1139a4365d0SYoshinobu InoueSpecifies contents of sending router renumbering message with seqnum 0. 1149a4365d0SYoshinobu InoueIf 1159a4365d0SYoshinobu Inoue.Cm add|change|setglobal 1169a4365d0SYoshinobu Inoueis not specified, then 1179a4365d0SYoshinobu Inoue.Cm add 1189a4365d0SYoshinobu Inoueis assumed. 1199a4365d0SYoshinobu Inoue.Ar use-prefix-values 1209a4365d0SYoshinobu Inouehas following syntax. 1219a4365d0SYoshinobu Inoue.Pp 1229a4365d0SYoshinobu Inoue{ 1239a4365d0SYoshinobu Inoue.Op Cm vltime Ar vltime-val 1249a4365d0SYoshinobu Inoue.Op Cm pltime Ar pltime-val 1259a4365d0SYoshinobu Inoue.Op Cm raf_onlink Cm on|off 1269a4365d0SYoshinobu Inoue.Op Cm raf_auto Cm on|off 1279a4365d0SYoshinobu Inoue.Op Cm rrf_decrprefd Cm on|off 1289a4365d0SYoshinobu Inoue.Op Cm rrf_decrvalid Cm on|off 1299a4365d0SYoshinobu Inoue} 1309a4365d0SYoshinobu Inoue.Pp 1319a4365d0SYoshinobu InoueEach value has following meaning. 1329a4365d0SYoshinobu Inoue.Pp 1339a4365d0SYoshinobu Inoue.Bl -tag -width Ds -compact 1349a4365d0SYoshinobu Inoue.It Cm match-prefix Ar match-prefix-val Op /match-prefix-len 1359a4365d0SYoshinobu InoueSpecify 1369a4365d0SYoshinobu Inoue.Ar match-prefix-val 1379a4365d0SYoshinobu Inouethat is used for matching with preassigned prefixes to which 1389a4365d0SYoshinobu Inoue.Cm add|change|setglobal 1399a4365d0SYoshinobu Inouecommand should be applied. 1409a4365d0SYoshinobu Inoue.Ar /match-prefix-len 1419a4365d0SYoshinobu InoueSpecify the starting part of 1429a4365d0SYoshinobu Inoue.Ar match-prefix-val 1439a4365d0SYoshinobu Inoueto be used for matching with preassigned prefixes, as decimal bit number. 1449a4365d0SYoshinobu Inoue.It Cm maxlen Ar maxlen-val 1459a4365d0SYoshinobu InoueSpecify the maximum length of prefixes which is allowed to be 1469a4365d0SYoshinobu Inouematched to 1479a4365d0SYoshinobu Inoue.Ar match-prefix-val , 1489a4365d0SYoshinobu Inoueas decimal bit number. 1499a4365d0SYoshinobu Inoue.It Cm minlen Ar minlen-val 1509a4365d0SYoshinobu InoueSpecify the minimum length of prefixes which is allowed to be matched to 1519a4365d0SYoshinobu Inoue.Ar match-prefix-val , 1529a4365d0SYoshinobu Inoueas decimal bit number. 1539a4365d0SYoshinobu Inoue.It Cm use-prefix Ar use-prefix-val Op /usr-prefix-len 1549a4365d0SYoshinobu InoueSpecify 1559a4365d0SYoshinobu Inoue.Ar use-prefix-val 1569a4365d0SYoshinobu Inouethat is used for prefixes to be added on 1579a4365d0SYoshinobu Inoue.Cm add|change|setglobal 1589a4365d0SYoshinobu Inouecommand. 1599a4365d0SYoshinobu Inoue.Ar /use-prefix-len 1609a4365d0SYoshinobu InoueSpecify the starting part of 1619a4365d0SYoshinobu Inoue.Ar use-prefix-val 1629a4365d0SYoshinobu Inouecopied to the starting part of prefixes to be added on 1639a4365d0SYoshinobu Inoue.Cm add|change|setglobal 1649a4365d0SYoshinobu Inouecommand, as decimal bit number. 1659a4365d0SYoshinobu Inoue.It Cm keeplen Ar keeplen-val 166434d523bSKris KennawaySpecify the midium part of 1679a4365d0SYoshinobu Inoue.Ar use-prefix-val 1689a4365d0SYoshinobu Inouejust next to the starting part specified by 1699a4365d0SYoshinobu Inoue.Ar use-prefix-len 1709a4365d0SYoshinobu Inoue, as decimal bit number. 1719a4365d0SYoshinobu InoueContiguous bits part in the same bit position of an existent prefix 1729a4365d0SYoshinobu Inouematched with 1739a4365d0SYoshinobu Inoue.Ar match-prefix-val 1749a4365d0SYoshinobu Inoueis copied to the same bit position of prefixes to be added. 1759a4365d0SYoshinobu Inoue.It Cm vltime Ar vmtime-val 1769a4365d0SYoshinobu InoueAssign an 1779a4365d0SYoshinobu Inoue.Ar time 1789a4365d0SYoshinobu Inoueas prefix valid life time for a prefix to be added. 1799a4365d0SYoshinobu InoueValid value for 1809a4365d0SYoshinobu Inoue.Ar time 1819a4365d0SYoshinobu Inoueis decimal seconds number or special format as "d00h00m00s00", 1829a4365d0SYoshinobu Inouewhere 00 can take any decimal number, and "d" means days, "h" means hours, 183434d523bSKris Kennaway"m" means minutes, "s" means seconds. And alternatively, special keyword 1849a4365d0SYoshinobu Inoue"infinity" can be also be specified. 1859a4365d0SYoshinobu Inoue.It Cm pltime Ar pltime-val 1869a4365d0SYoshinobu InoueAssign an 1879a4365d0SYoshinobu Inoue.Ar time 1889a4365d0SYoshinobu Inoueas prefix preferred life time for a prefix to be added. 1899a4365d0SYoshinobu InoueValid value for 1909a4365d0SYoshinobu Inoue.Ar time 1919a4365d0SYoshinobu Inoueis same as for 1929a4365d0SYoshinobu Inoue.Ar vltime-val . 1939a4365d0SYoshinobu Inoue.It Cm raf_onlink Cm on|off 1949a4365d0SYoshinobu InoueLet the prefix to be added to have on-link or off-link nature 195434d523bSKris Kennawayfor the assigned interface. If 1969a4365d0SYoshinobu Inoue.Cm on 197434d523bSKris Kennawayis specified, the prefix have on-link nature. (e.g. the prefix 1989a4365d0SYoshinobu Inouebelong to the link) If 1999a4365d0SYoshinobu Inoue.Cm off 200434d523bSKris Kennawayis specified, the prefix have off-link nature. (e.g. the 2019a4365d0SYoshinobu Inoueprefix does not belong to the link) 2029a4365d0SYoshinobu Inoue.It Cm raf_auto Cm on|off 2039a4365d0SYoshinobu InoueEnable or disable the autonomous address auto configuration 204434d523bSKris Kennawayfor the prefix to be added. If 2059a4365d0SYoshinobu Inoue.Cm on 2069a4365d0SYoshinobu Inoueis specified, autonomous address auto configuration is 207434d523bSKris Kennawayenabled. If 2089a4365d0SYoshinobu Inoue.Cm off 2099a4365d0SYoshinobu Inoueis specified, it is disabled. 2109a4365d0SYoshinobu Inoue.It Cm rrf_decrprefd Cm on|off 211434d523bSKris KennawayEnable or disable the decrementation of the pltime. If 2129a4365d0SYoshinobu Inoue.Cm on 213434d523bSKris Kennawayis specified, decrementation of the pltime is enabled. If 2149a4365d0SYoshinobu Inoue.Cm off 2159a4365d0SYoshinobu Inoueis specified, decrementation of the pltime is disabled. 2169a4365d0SYoshinobu Inoue.It Cm rrf_decrvalid Cm on|off 217434d523bSKris KennawayEnable or disable the decrementation of the vltime. If 2189a4365d0SYoshinobu Inoue.Cm on 219434d523bSKris Kennawayis specified, decrementation of the vltime is enabled. If 2209a4365d0SYoshinobu Inoue.Cm off 2219a4365d0SYoshinobu Inoueis specified, decrementation of the vltime is disabled. 2229a4365d0SYoshinobu Inoue.El 2239a4365d0SYoshinobu Inoue.\" 2249a4365d0SYoshinobu Inoue.It seqnum Ar seqnum-val { Ar rrenum-cmd } ; 2259a4365d0SYoshinobu InoueSpecifies contents of sending router renumbering message with some 226434d523bSKris Kennawayspecific seqnum. Multiple of this statement can be specified if they 2279a4365d0SYoshinobu Inouehave different 2289a4365d0SYoshinobu Inoue.Ar seqnum-val 2299a4365d0SYoshinobu Inoueeach other. 2309a4365d0SYoshinobu Inoue.Ar rrenum-cmd 2319a4365d0SYoshinobu Inouehas just same syntax with above add|change|setglobal statement. 2329a4365d0SYoshinobu Inoue.El 2339a4365d0SYoshinobu Inoue.\" 234251c176fSRuslan Ermilov.Sh EXAMPLES 2359a4365d0SYoshinobu InoueFor each configuration file example shown below, we suppose 2369a4365d0SYoshinobu Inoueevery IPv6 subnet has its own prefix beginning with 237434d523bSKris Kennawayfec0:0:0::/48 and with its own subnet number. (in this case, 2389a4365d0SYoshinobu Inouesubnet number is 7th and 8th octet value of the prefix) 2399a4365d0SYoshinobu Inoue.Pp 240434d523bSKris KennawayIf you want to assigne prefixes beginning with fec0:1:1::/48 2419a4365d0SYoshinobu Inoueto each subnet, then following configuration will be enough, 2429a4365d0SYoshinobu Inoueif each of your routers supports IPv6 multicast forwarding. 2439a4365d0SYoshinobu InoueThe subnet number of the existing fec0:0:0::/48 prefix and the 2449a4365d0SYoshinobu Inouenewly assigned fec0:1:1::/48 prefix will be same. 2459a4365d0SYoshinobu Inoue.\" 2469a4365d0SYoshinobu Inoue.Bd -literal -offset indent 2479a4365d0SYoshinobu Inouedest ff05::2; 2489a4365d0SYoshinobu Inoue 2499a4365d0SYoshinobu Inoueadd match-prefix fec0:0:0:: /48 use-prefix fec0:1:1:: /48 keeplen 16; 2509a4365d0SYoshinobu Inoue.Ed 2518b5c4af3SRuslan Ermilov.Pp 2529a4365d0SYoshinobu Inoue.\" 2539a4365d0SYoshinobu InoueIf your routers don't support IPv6 multicast forwarding, 2549a4365d0SYoshinobu Inoueyou'll need to specify each destination at 2559a4365d0SYoshinobu Inoue.Cm dest 2569a4365d0SYoshinobu Inouecommand. 2579a4365d0SYoshinobu Inoue.\" 2589a4365d0SYoshinobu Inoue.Bd -literal -offset indent 2599a4365d0SYoshinobu Inouedest fec0:0:0:1:260:8ff:fe24:fb3a fec0:0:0:2:200:eff:fe2e:dfe1 fec0:0:0:3:5254:ff:fedc:5217; 2609a4365d0SYoshinobu Inoue 2619a4365d0SYoshinobu Inoueadd match-prefix fec0:0:0:: /48 use-prefix fec0:1:1:: /48 keeplen 16; 2629a4365d0SYoshinobu Inoue.Ed 2638b5c4af3SRuslan Ermilov.Pp 2649a4365d0SYoshinobu Inoue.\" 2659a4365d0SYoshinobu InoueIf you are going to do renumbering, then following procedure will be natural. 2669a4365d0SYoshinobu Inoue.Bl -enum -offset indent 2679a4365d0SYoshinobu Inoue.It 268434d523bSKris KennawayAssigne new prefix. 2699a4365d0SYoshinobu Inoue.It 2709a4365d0SYoshinobu InoueSet old prefix lifetimes to some appropriate transition 271434d523bSKris Kennawayperiod. In the followng example we use 1 week for valid 2729a4365d0SYoshinobu Inouelifetime, and 0 for preferred lifetime. 2739a4365d0SYoshinobu InoueAlso, enable old prefix lifetime expiration. 2749a4365d0SYoshinobu Inoue(By default, it is static and does not expire) 2759a4365d0SYoshinobu Inoue.It 2769a4365d0SYoshinobu InoueAfter the transition period, old prefixes should become 2779a4365d0SYoshinobu Inoueinvalid, and may have been deleted. 2789a4365d0SYoshinobu InoueTo make sure that they are deleted, send new router 2799a4365d0SYoshinobu Inouerenumbering message, which specifies old prefixes as match 2809a4365d0SYoshinobu Inoueprefix, and no use prefix. 2819a4365d0SYoshinobu Inoue.El 2828b5c4af3SRuslan Ermilov.Pp 2839a4365d0SYoshinobu Inoue.\" 2849a4365d0SYoshinobu InoueThe following configuration file will do 1 and 2. 2859a4365d0SYoshinobu Inoue.\" 2869a4365d0SYoshinobu Inoue.Bd -literal -offset indent 2879a4365d0SYoshinobu Inouedest ff05::2; 2889a4365d0SYoshinobu Inoue 2899a4365d0SYoshinobu Inoueseqnum 0 { 2909a4365d0SYoshinobu Inoue add match-prefix fec0:0:0:: /48 use-prefix fec0:2:2:: /48 keeplen 16; 2919a4365d0SYoshinobu Inoue }; 2929a4365d0SYoshinobu Inoue 2939a4365d0SYoshinobu Inoueseqnum 1 { 2949a4365d0SYoshinobu Inoue change match-prefix fec0:1:1:: /48 use-prefix fec0:1:1:: /48 keeplen 16 vltime d7 pltime 0 rrf_decrvalid on rrf_decrprefd on; 2959a4365d0SYoshinobu Inoue }; 2969a4365d0SYoshinobu Inoue.Ed 2978b5c4af3SRuslan Ermilov.Pp 2989a4365d0SYoshinobu Inoue.\" 2999a4365d0SYoshinobu InoueAnd the following configuration file will do 3. (should be 3009a4365d0SYoshinobu Inoueused for the router renumbering message to be sent 1 week 3019a4365d0SYoshinobu Inoueafterward) 3029a4365d0SYoshinobu Inoue.\" 3039a4365d0SYoshinobu Inoue.Bd -literal -offset indent 3049a4365d0SYoshinobu Inouedest ff05::2; 3059a4365d0SYoshinobu Inoue 3069a4365d0SYoshinobu Inouechange match-prefix fec0:1:1:: /48; 3079a4365d0SYoshinobu Inoue.Ed 3088b5c4af3SRuslan Ermilov.Pp 3099a4365d0SYoshinobu Inoue.\" 3109a4365d0SYoshinobu InoueIn the above example, only 3119a4365d0SYoshinobu Inoue.Cm add 3129a4365d0SYoshinobu Inoueand 3139a4365d0SYoshinobu Inoue.Cm change 3149a4365d0SYoshinobu Inouecommands are used, and there is no example for 3159a4365d0SYoshinobu Inoue.Cm setglobal 3169a4365d0SYoshinobu Inouecommand. 3179a4365d0SYoshinobu Inoue.Cm setglobal 3189a4365d0SYoshinobu Inouecommand is almost same with 3199a4365d0SYoshinobu Inoue.Cm change 3209a4365d0SYoshinobu Inouecommand except that it deletes all pre-defined IPv6 global address. 3219a4365d0SYoshinobu Inoue.Sh SEE ALSO 322434d523bSKris Kennaway.Xr rrenumd 8 3239a4365d0SYoshinobu Inoue.Xr prefix 8 3249a4365d0SYoshinobu Inoue.Sh HISTORY 3259a4365d0SYoshinobu InoueThe 3269a4365d0SYoshinobu Inoue.Nm 3279a4365d0SYoshinobu Inoueconfiguration file was first appeared in KAME IPv6 protocol stack kit. 3289a4365d0SYoshinobu Inoue.\" .Sh BUGS 3299a4365d0SYoshinobu Inoue.\" (to be written) 330