Annotation of embedaddon/quagga/solaris/quagga.xml.in, revision 1.1.1.1

1.1       misho       1: <?xml version="1.0"?>
                      2: <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
                      3: <!--
                      4:        This file is part of Quagga.
                      5: 
                      6:        Quagga is free software; you can redistribute it and/or modify it
                      7:        under the terms of the GNU General Public License as published by the
                      8:        Free Software Foundation; either version 2, or (at your option) any
                      9:        later version.
                     10: 
                     11:        Quagga is distributed in the hope that it will be useful, but 
                     12:        WITHOUT ANY WARRANTY; without even the implied warranty of
                     13:        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
                     14:        General Public License for more details.
                     15: 
                     16:        You should have received a copy of the GNU General Public License  
                     17:        along with Quagga; see the file COPYING.  If not, write to the Free
                     18:        Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
                     19:        02111-1307, USA.
                     20: 
                     21:        Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
                     22:        Use is subject to license terms.
                     23: 
                     24:        ident   "@(#)quagga.xml 1.0     05/03/15 SMI"
                     25: -->
                     26: 
                     27: <service_bundle type='manifest' name='SUNWquagga-daemons:quagga'>
                     28: 
                     29: <service
                     30:        name='network/routing/zebra'
                     31:        type='service'
                     32:        version='1'>
                     33:        
                     34:        <single_instance />
                     35:        <instance name='quagga' enabled='false'>
                     36:        
                     37:        <dependency name='fs'
                     38:                grouping='require_all'
                     39:                restart_on='none'
                     40:                type='service'>
                     41:                <service_fmri
                     42:                        value='svc:/system/filesystem/usr:default' />
                     43:        </dependency>
                     44:        
                     45:        <dependency name='net'
                     46:                grouping='require_all'
                     47:                restart_on='none'
                     48:                type='service'>
                     49:                <service_fmri value='svc:/network/initial' />
                     50:        </dependency>
                     51:        
                     52:        <!-- do not not run unless routing-setup has run -->
                     53:        <dependency
                     54:                name='network_routing_setup'
                     55:                grouping='require_all'
                     56:                restart_on='refresh'
                     57:                type='service'>
                     58:                <service_fmri value='svc:/network/routing-setup' />
                     59:        </dependency>
                     60: 
                     61:        <exec_method
                     62:                type='method'
                     63:                name='start'
                     64:                exec='/lib/svc/method/quagga zebra'
                     65:                timeout_seconds='60'>
                     66:                <method_context>
                     67:                  <method_credential
                     68:                   user='root' group='root'/>
                     69:                </method_context>
                     70:        </exec_method>
                     71: 
                     72:        <exec_method
                     73:                type='method'
                     74:                name='stop'
                     75:                exec=':kill'
                     76:                timeout_seconds='60'>
                     77:        </exec_method>
                     78: 
                     79:        <!--    if we define these properties at the service level, each
                     80:                instance inherits them, and it can override with
                     81:                desired values.
                     82:        -->
                     83:        <property_group name='startd'
                     84:                type='framework'>
                     85:                <!-- sub-process core dumps shouldn't restart session -->
                     86:                <propval name='ignore_error'
                     87:                    type='astring' value='core,signal' />
                     88:        </property_group>
                     89:        
                     90:        <!-- Properties in this group are used by routeadm (1M) -->
                     91:        <property_group name='routeadm' type='application'>
                     92:                <stability value='Unstable' />
                     93:                <!-- Identifies service as a routing service -->
                     94:                <propval name='daemon' type='astring'
                     95:                        value='@sbindir@/zebra' />
                     96:                <propval name='value_authorization' type='astring'
                     97:                        value='solaris.smf.value.routing' />
                     98:                <!-- zebra should not contribute to ipv4/ipv6 routing state -->
                     99:                <propval name='protocol' type='astring' value='zebra' />
                    100:        </property_group>
                    101:        
                    102:        <!-- Properties in this group are modifiable via routeadm (1M) -->
                    103:        <property_group name='routing' type='application'>
                    104:                <stability value='Evolving' />
                    105:                <propval name='value_authorization' type='astring' 
                    106:                         value='solaris.smf.value.routing' />
                    107:                
                    108:                <!-- Options common to Quagga daemons
                    109:                     Property names are equivalent to the long
                    110:                     option name, consult Quagga documentation -->
                    111:                <!-- The config file to use, if not the default -->
                    112:                <propval name='config_file' type='astring' value=''/>
                    113:                <!-- The vty_port to listen on if not the default.
                    114:                     0 to disable --> 
                    115:                <propval name='vty_port' type='integer' value='0' />
                    116:                <!-- The address to bind the VTY interface to, if not any. -->
                    117:                <propval name='vty_address' type='astring' value='' />
                    118:                <!-- The user to switch to after startup, if not the default -->
                    119:                <propval name='user' type='astring' value='' />
                    120:                <!-- The group to switch to, if not the default.
                    121:                     If user is specified, this defaults to a group with
                    122:                     same name as user -->
                    123:                <propval name='group' type='astring' value='' />
                    124:                <!-- The pidfile to use, if not the default of
                    125:                     @quagga_statedir@ -->
                    126:                <propval name='pid_file' type='astring' value='' />
                    127:                
                    128:                <!-- Options specific to zebra -->
                    129:                <propval name='batch' type='boolean' value='false' />
                    130:        </property_group>
                    131:        
                    132:        <property_group name='general' type='framework'>
                    133:                <!-- to start stop routing services -->
                    134:                <propval name='action_authorization' type='astring'
                    135:                         value='solaris.smf.manage.routing' />
                    136:                <propval name='value_authorization' type='astring'
                    137:                         value='solaris.smf.manage.routing' />
                    138:        </property_group>
                    139: 
                    140:        <template>
                    141:                <common_name>
                    142:                        <loctext xml:lang='C'>
                    143:                        Quagga: zebra, RIB, kernel intermediary and misc daemon
                    144:                        </loctext>
                    145:                </common_name>
                    146:                <documentation>
                    147:                        <manpage title='zebra' section='1M'
                    148:                                manpath='@mandir@' />
                    149:                        <doc_link name='quagga.net' 
                    150:                                uri='http://www.quagga.net/' />
                    151:                </documentation>
                    152:        </template>
                    153:        </instance>
                    154:        <stability value='Unstable' />
                    155: </service>
                    156: 
                    157: <service
                    158:        name='network/routing/rip'
                    159:        type='service'
                    160:        version='1'>
                    161: 
                    162:        <instance name='quagga' enabled='false'>
                    163: 
                    164:        <dependency name='fs'
                    165:                grouping='require_all'
                    166:                restart_on='none'
                    167:                type='service'>
                    168:                <service_fmri
                    169:                        value='svc:/system/filesystem/usr:default' />
                    170:        </dependency>
                    171: 
                    172:        <dependency
                    173:                name='ipv4-forwarding'
                    174:                grouping='optional_all'
                    175:                restart_on='refresh'
                    176:                type='service'>
                    177:                <service_fmri value='svc:/network/ipv4-forwarding' />
                    178:        </dependency>
                    179:        
                    180:        <!-- do not not run unless routing-setup has run -->
                    181:        <dependency
                    182:                name='network_routing_setup'
                    183:                grouping='require_all'
                    184:                restart_on='refresh'
                    185:                type='service'>
                    186:                <service_fmri value='svc:/network/routing-setup' />
                    187:        </dependency>
                    188:        
                    189:        <!-- ensure that restart of zebra is propogated to daemon -->
                    190:        <dependency
                    191:                name='zebra'
                    192:                grouping='optional_all'
                    193:                restart_on='restart'
                    194:                type='service'>
                    195:                <service_fmri value='svc:/network/routing/zebra:quagga' />
                    196:        </dependency>
                    197: 
                    198:        <exec_method
                    199:                type='method'
                    200:                name='start'
                    201:                exec='/lib/svc/method/quagga ripd'
                    202:                timeout_seconds='60'>
                    203:                <method_context>
                    204:                  <method_credential
                    205:                   user='root' group='root'/>
                    206:                </method_context>
                    207:        </exec_method>
                    208: 
                    209:        <exec_method
                    210:                type='method'
                    211:                name='stop'
                    212:                exec=':kill'
                    213:                timeout_seconds='60'>
                    214:        </exec_method>
                    215: 
                    216:        <property_group name='startd'
                    217:                type='framework'>
                    218:                <!-- sub-process core dumps shouldn't restart session -->
                    219:                <propval name='ignore_error'
                    220:                    type='astring' value='core,signal' />
                    221:        </property_group>
                    222: 
                    223:        <!-- Properties in this group are used by routeadm (1M) -->
                    224:        <property_group name='routeadm' type='application'>
                    225:                <stability value='Unstable' />
                    226:                <!-- Identifies service as a routing service -->
                    227:                <propval name='daemon' type='astring'
                    228:                        value='@sbindir@/ripd' />
                    229:                <propval name='legacy-daemon' type='astring'
                    230:                        value='/usr/sfw/sbin/ripdstart' />
                    231:                <propval name='value_authorization' type='astring'
                    232:                        value='solaris.smf.value.routing' />
                    233:                <propval name='protocol' type='astring' value='ipv4' />
                    234:        </property_group>
                    235:        
                    236:        <!-- Properties in this group are modifiable via routeadm (1M) -->
                    237:        <property_group name='routing' type='application'>
                    238:                <propval name='value_authorization' type='astring' 
                    239:                         value='solaris.smf.value.routing' />
                    240: 
                    241:                <!-- Options common to Quagga daemons -->
                    242:                <!-- The config file to use, if not the default -->
                    243:                <propval name='config_file' type='astring' value=''/>
                    244:                <!-- The vty_port to listen on if not the default.
                    245:                     0 to disable --> 
                    246:                <propval name='vty_port' type='integer' value='0' />
                    247:                <!-- The address to bind the VTY interface to, if not any. -->
                    248:                <propval name='vty_address' type='astring' value='' />
                    249:                <!-- The user to switch to after startup, if not the default -->
                    250:                <propval name='user' type='astring' value='' />
                    251:                <!-- The group to switch to, if not the default.
                    252:                     If user is specified, this defaults to a group with
                    253:                     same name as user -->
                    254:                <propval name='group' type='astring' value='' />
                    255:                <!-- The pidfile to use, if not the default of
                    256:                     @quagga_statedir@ -->
                    257:                <propval name='pid_file' type='astring' value='' />
                    258:                
                    259:                <!-- Options specific to ripd -->
                    260:                <propval name='retain' type='boolean' value='false' />
                    261:        </property_group>
                    262: 
                    263:        <property_group name='general' type='framework'>
                    264:                <!-- to start stop routing services -->
                    265:                <propval name='action_authorization' type='astring'
                    266:                         value='solaris.smf.manage.routing' />
                    267:                <propval name='value_authorization' type='astring'
                    268:                         value='solaris.smf.manage.routing' />
                    269:        </property_group>
                    270: 
                    271:        <template>
                    272:                <common_name>
                    273:                        <loctext xml:lang='C'>
                    274:                        Quagga: ripd, RIPv1/2 IPv4 routing protocol daemon.
                    275:                        </loctext>
                    276:                </common_name>
                    277:                <documentation>
                    278:                        <manpage title='ripd' section='1M'
                    279:                                manpath='@mandir@' />
                    280:                        <doc_link name='quagga.net' 
                    281:                                uri='http://www.quagga.net/' />
                    282:                </documentation>
                    283:        </template>
                    284:        </instance>
                    285:        <stability value='Unstable' />
                    286: </service>
                    287: 
                    288: <service
                    289:        name='network/routing/ripng'
                    290:        type='service'
                    291:        version='1'>
                    292: 
                    293:        <instance name='quagga' enabled='false'>
                    294: 
                    295:        <dependency name='fs'
                    296:                grouping='require_all'
                    297:                restart_on='none'
                    298:                type='service'>
                    299:                <service_fmri
                    300:                        value='svc:/system/filesystem/usr:default' />
                    301:        </dependency>
                    302:        
                    303:        <dependency
                    304:                name='ipv6-forwarding'
                    305:                grouping='optional_all'
                    306:                restart_on='refresh'
                    307:                type='service'>
                    308:                <service_fmri value='svc:/network/ipv6-forwarding' />
                    309:        </dependency>
                    310: 
                    311:        <!-- do not not run unless routing-setup has run -->
                    312:        <dependency
                    313:                name='network_routing_setup'
                    314:                grouping='require_all'
                    315:                restart_on='refresh'
                    316:                type='service'>
                    317:                <service_fmri value='svc:/network/routing-setup' />
                    318:        </dependency>
                    319: 
                    320:        <!-- ensure that restart of zebra is propogated to daemon -->
                    321:        <dependency
                    322:                name='zebra'
                    323:                grouping='optional_all'
                    324:                restart_on='restart'
                    325:                type='service'>
                    326:                <service_fmri value='svc:/network/routing/zebra:quagga' />
                    327:        </dependency>
                    328: 
                    329:        <exec_method
                    330:                type='method'
                    331:                name='start'
                    332:                exec='/lib/svc/method/quagga ripngd'
                    333:                timeout_seconds='60'>
                    334:                <method_context>
                    335:                  <method_credential
                    336:                   user='root' group='root'/>
                    337:                </method_context>
                    338:        </exec_method>
                    339: 
                    340:        <exec_method
                    341:                type='method'
                    342:                name='stop'
                    343:                exec=':kill'
                    344:                timeout_seconds='60' >
                    345:        </exec_method>
                    346: 
                    347:        <property_group name='startd'
                    348:                type='framework'>
                    349:                <!-- sub-process core dumps shouldn't restart session -->
                    350:                <propval name='ignore_error'
                    351:                    type='astring' value='core,signal' />
                    352:        </property_group>
                    353: 
                    354:        <!-- Properties in this group are used by routeadm (1M) -->
                    355:        <property_group name='routeadm' type='application'>
                    356:                <stability value='Unstable' />
                    357:                <!-- Identifies service as a routing service -->
                    358:                <propval name='daemon' type='astring'
                    359:                        value='@sbindir@/ripngd' />
                    360:                <propval name='value_authorization' type='astring'
                    361:                        value='solaris.smf.value.routing' />
                    362:                <propval name='protocol' type='astring' value='ipv6'/>
                    363:        </property_group>
                    364:        
                    365:        <!-- Properties in this group are modifiable via routeadm (1M) -->
                    366:        <property_group name='routing' type='application'>
                    367:                <propval name='value_authorization' type='astring' 
                    368:                         value='solaris.smf.value.routing' />
                    369: 
                    370:                <!-- Options common to Quagga daemons -->
                    371:                <!-- The config file to use, if not the default -->
                    372:                <propval name='config_file' type='astring' value=''/>
                    373:                <!-- The vty_port to listen on if not the default.
                    374:                     0 to disable --> 
                    375:                <propval name='vty_port' type='integer' value='0' />
                    376:                <!-- The address to bind the VTY interface to, if not any. -->
                    377:                <propval name='vty_address' type='astring' value='' />
                    378:                <!-- The user to switch to after startup, if not the default -->
                    379:                <propval name='user' type='astring' value='' />
                    380:                <!-- The group to switch to, if not the default.
                    381:                     If user is specified, this defaults to a group with
                    382:                     same name as user -->
                    383:                <propval name='group' type='astring' value='' />
                    384:                <!-- The pidfile to use, if not the default of
                    385:                     @quagga_statedir@ -->
                    386:                <propval name='pid_file' type='astring' value='' />
                    387: 
                    388:                <!-- Options specific to ripngd -->
                    389:                <propval name='retain' type='boolean' value='false' />
                    390:        </property_group>
                    391: 
                    392:        <property_group name='general' type='framework'>
                    393:                <!-- to start stop routing services -->
                    394:                <propval name='action_authorization' type='astring'
                    395:                         value='solaris.smf.manage.routing' />
                    396:                <propval name='value_authorization' type='astring'
                    397:                         value='solaris.smf.manage.routing' />
                    398:        </property_group>
                    399: 
                    400:        <template>
                    401:                <common_name>
                    402:                        <loctext xml:lang='C'>
                    403:                        Quagga: ripngd, RIPng IPv6 routing protocol daemon.
                    404:                        </loctext>
                    405:                </common_name>
                    406:                <documentation>
                    407:                        <manpage title='ripngd' section='1M'
                    408:                                manpath='@mandir@' />
                    409:                        <doc_link name='quagga.net' 
                    410:                                uri='http://www.quagga.net/' />
                    411:                </documentation>
                    412:        </template>
                    413:        </instance>
                    414:        <stability value='Unstable' />
                    415: </service>
                    416: 
                    417: <service
                    418:        name='network/routing/ospf'
                    419:        type='service'
                    420:        version='1'>
                    421: 
                    422:        <instance name='quagga' enabled='false'>
                    423: 
                    424:        <dependency name='fs'
                    425:                grouping='require_all'
                    426:                restart_on='none'
                    427:                type='service'>
                    428:                <service_fmri
                    429:                        value='svc:/system/filesystem/usr:default' />
                    430:        </dependency>
                    431:        
                    432:        <dependency
                    433:                name='ipv4-forwarding'
                    434:                grouping='optional_all'
                    435:                restart_on='refresh'
                    436:                type='service'>
                    437:                <service_fmri value='svc:/network/ipv4-forwarding' />
                    438:        </dependency>
                    439: 
                    440:        <!-- do not not run unless routing-setup has run -->
                    441:        <dependency
                    442:                name='network_routing_setup'
                    443:                grouping='require_all'
                    444:                restart_on='refresh'
                    445:                type='service'>
                    446:                <service_fmri value='svc:/network/routing-setup' />
                    447:        </dependency>
                    448: 
                    449:        <!-- ensure that restart of zebra is propogated to daemon -->
                    450:        <dependency
                    451:                name='zebra'
                    452:                grouping='optional_all'
                    453:                restart_on='restart'
                    454:                type='service'>
                    455:                <service_fmri value='svc:/network/routing/zebra:quagga' />
                    456:        </dependency>
                    457: 
                    458:        <exec_method
                    459:                type='method'
                    460:                name='start'
                    461:                exec='/lib/svc/method/quagga ospfd'
                    462:                timeout_seconds='60'>
                    463:                <method_context>
                    464:                  <method_credential
                    465:                   user='root' group='root'/>
                    466:                </method_context>
                    467:        </exec_method>
                    468: 
                    469:        <!-- ospfd can take a long time to shutdown, due to graceful 
                    470:             shutdown 
                    471:         -->
                    472:        <exec_method
                    473:                type='method'
                    474:                name='stop'
                    475:                exec=':kill'
                    476:                timeout_seconds='600'>
                    477:        </exec_method>
                    478: 
                    479:        <property_group name='startd'
                    480:                type='framework'>
                    481:                <!-- sub-process core dumps shouldn't restart session -->
                    482:                <propval name='ignore_error'
                    483:                    type='astring' value='core,signal' />
                    484:        </property_group>
                    485: 
                    486:        <!-- Properties in this group are used by routeadm (1M) -->
                    487:        <property_group name='routeadm' type='application'>
                    488:                <stability value='Unstable' />
                    489:                <!-- Identifies service as a routing service -->
                    490:                <propval name='daemon' type='astring'
                    491:                        value='@sbindir@/ospfd' />
                    492:                <propval name='legacy-daemon' type='astring'
                    493:                        value='/usr/sfw/sbin/ospfdstart' />
                    494:                <propval name='value_authorization' type='astring'
                    495:                        value='solaris.smf.value.routing' />
                    496:                <propval name='protocol' type='astring' value='ipv4'/>
                    497:        </property_group>
                    498:        
                    499:        <!-- Properties in this group are modifiable via routeadm (1M) -->
                    500:        <property_group name='routing' type='application'>
                    501:                <propval name='value_authorization' type='astring' 
                    502:                         value='solaris.smf.value.routing' />
                    503: 
                    504:                <!-- Options common to Quagga daemons -->
                    505:                <!-- The config file to use, if not the default -->
                    506:                <propval name='config_file' type='astring' value=''/>
                    507:                <!-- The vty_port to listen on if not the default.
                    508:                     0 to disable --> 
                    509:                <propval name='vty_port' type='integer' value='0' />
                    510:                <!-- The address to bind the VTY interface to, if not any. -->
                    511:                <propval name='vty_address' type='astring' value='' />
                    512:                <!-- The user to switch to after startup, if not the default -->
                    513:                <propval name='user' type='astring' value='' />
                    514:                <!-- The group to switch to, if not the default.
                    515:                     If user is specified, this defaults to a group with
                    516:                     same name as user -->
                    517:                <propval name='group' type='astring' value='' />
                    518:                <!-- The pidfile to use, if not the default of
                    519:                     @quagga_statedir@ -->
                    520:                <propval name='pid_file' type='astring' value='' />
                    521:        </property_group>
                    522: 
                    523:        <property_group name='general' type='framework'>
                    524:                <!-- to start stop routing services -->
                    525:                <propval name='action_authorization' type='astring'
                    526:                         value='solaris.smf.manage.routing' />
                    527:                <propval name='value_authorization' type='astring'
                    528:                         value='solaris.smf.manage.routing' />
                    529:        </property_group>
                    530: 
                    531:        <template>
                    532:                <common_name>
                    533:                        <loctext xml:lang='C'>
                    534:                        Quagga: ospfd, OSPFv2 IPv4 routing protocol daemon.
                    535:                        </loctext>
                    536:                </common_name>
                    537:                <documentation>
                    538:                        <manpage title='ospfd' section='1M'
                    539:                                manpath='@mandir@' />
                    540:                        <doc_link name='quagga.net' 
                    541:                                uri='http://www.quagga.net/' />
                    542:                </documentation>
                    543:        </template>
                    544:        </instance>
                    545:        <stability value='Unstable' />
                    546: </service>
                    547: 
                    548: <service
                    549:        name='network/routing/ospf6'
                    550:        type='service'
                    551:        version='1'>
                    552: 
                    553:        <instance name='quagga' enabled='false'>
                    554: 
                    555:        <dependency name='fs'
                    556:                grouping='require_all'
                    557:                restart_on='none'
                    558:                type='service'>
                    559:                <service_fmri
                    560:                        value='svc:/system/filesystem/usr:default' />
                    561:        </dependency>
                    562:        
                    563:        <dependency
                    564:                name='ipv6-forwarding'
                    565:                grouping='optional_all'
                    566:                restart_on='refresh'
                    567:                type='service'>
                    568:                <service_fmri value='svc:/network/ipv6-forwarding' />
                    569:        </dependency>
                    570: 
                    571:        <!-- do not not run unless routing-setup has run -->
                    572:        <dependency
                    573:                name='network_routing_setup'
                    574:                grouping='require_all'
                    575:                restart_on='refresh'
                    576:                type='service'>
                    577:                <service_fmri value='svc:/network/routing-setup' />
                    578:        </dependency>
                    579: 
                    580:        <!-- ensure that restart of zebra is propogated to daemon -->
                    581:        <dependency
                    582:                name='zebra'
                    583:                grouping='optional_all'
                    584:                restart_on='restart'
                    585:                type='service'>
                    586:                <service_fmri value='svc:/network/routing/zebra:quagga' />
                    587:        </dependency>
                    588: 
                    589:        <exec_method
                    590:                type='method'
                    591:                name='start'
                    592:                exec='/lib/svc/method/quagga ospf6d'
                    593:                timeout_seconds='60'>
                    594:                <method_context>
                    595:                  <method_credential
                    596:                   user='root' group='root'/>
                    597:                </method_context>
                    598:        </exec_method>
                    599: 
                    600:        <exec_method
                    601:                type='method'
                    602:                name='stop'
                    603:                exec=':kill'
                    604:                timeout_seconds='60'>
                    605:        </exec_method>
                    606: 
                    607:        <property_group name='startd'
                    608:                type='framework'>
                    609:                <!-- sub-process core dumps shouldn't restart session -->
                    610:                <propval name='ignore_error'
                    611:                    type='astring' value='core,signal' />
                    612:        </property_group>
                    613: 
                    614:        <!-- Properties in this group are used by routeadm (1M) -->
                    615:        <property_group name='routeadm' type='application'>
                    616:                <stability value='Unstable' />
                    617:                <!-- Identifies service as a routing service -->
                    618:                <propval name='daemon' type='astring'
                    619:                        value='@sbindir@/ospf6d' />
                    620:                <propval name='value_authorization' type='astring'
                    621:                        value='solaris.smf.value.routing' />
                    622:                <propval name='protocol' type='astring' value='ipv6'/>
                    623:        </property_group>
                    624:        
                    625:        <!-- Properties in this group are modifiable via routeadm (1M) -->
                    626:        <property_group name='routing' type='application'>
                    627:                <propval name='value_authorization' type='astring' 
                    628:                         value='solaris.smf.value.routing' />
                    629: 
                    630:                <!-- Options common to Quagga daemons -->
                    631:                <!-- The config file to use, if not the default -->
                    632:                <propval name='config_file' type='astring' value=''/>
                    633:                <!-- The vty_port to listen on if not the default.
                    634:                     0 to disable --> 
                    635:                <propval name='vty_port' type='integer' value='0' />
                    636:                <!-- The address to bind the VTY interface to, if not any. -->
                    637:                <propval name='vty_address' type='astring' value='' />
                    638:                <!-- The user to switch to after startup, if not the default -->
                    639:                <propval name='user' type='astring' value='' />
                    640:                <!-- The group to switch to, if not the default.
                    641:                     If user is specified, this defaults to a group with
                    642:                     same name as user -->
                    643:                <propval name='group' type='astring' value='' />
                    644:                <!-- The pidfile to use, if not the default of
                    645:                     @quagga_statedir@ -->
                    646:                <propval name='pid_file' type='astring' value='' />
                    647:        </property_group>
                    648: 
                    649:        <property_group name='general' type='framework'>
                    650:                <!-- to start stop routing services -->
                    651:                <propval name='action_authorization' type='astring'
                    652:                         value='solaris.smf.manage.routing' />
                    653:                <propval name='value_authorization' type='astring'
                    654:                         value='solaris.smf.manage.routing' />
                    655:        </property_group>
                    656: 
                    657:        <template>
                    658:                <common_name>
                    659:                        <loctext xml:lang='C'>
                    660:                        Quagga: ospf6d, OSPFv3 IPv6 routing protocol daemon.
                    661:                        </loctext>
                    662:                </common_name>
                    663:                <documentation>
                    664:                        <manpage title='ospf6d' section='1M'
                    665:                                manpath='@mandir@' />
                    666:                        <doc_link name='quagga.net' 
                    667:                                uri='http://www.quagga.net/' />
                    668:                </documentation>
                    669:        </template>
                    670:        </instance>
                    671:        <stability value='Unstable' />
                    672: </service>
                    673: 
                    674: 
                    675: <service
                    676:        name='network/routing/bgp'
                    677:        type='service'
                    678:        version='1'>
                    679: 
                    680:        <instance name='quagga' enabled='false'>
                    681: 
                    682:        <dependency name='fs'
                    683:                grouping='require_all'
                    684:                restart_on='none'
                    685:                type='service'>
                    686:                <service_fmri
                    687:                        value='svc:/system/filesystem/usr:default' />
                    688:        </dependency>
                    689:        
                    690:        <dependency
                    691:                name='ipv6-forwarding'
                    692:                grouping='optional_all'
                    693:                restart_on='refresh'
                    694:                type='service'>
                    695:                <service_fmri value='svc:/network/ipv6-forwarding' />
                    696:        </dependency>
                    697: 
                    698:        <dependency
                    699:                name='ipv4-forwarding'
                    700:                grouping='optional_all'
                    701:                restart_on='refresh'
                    702:                type='service'>
                    703:                <service_fmri value='svc:/network/ipv4-forwarding' />
                    704:        </dependency>
                    705:        
                    706:        <!-- do not not run unless routing-setup has run -->
                    707:        <dependency
                    708:                name='network_routing_setup'
                    709:                grouping='require_all'
                    710:                restart_on='refresh'
                    711:                type='service'>
                    712:                <service_fmri value='svc:/network/routing-setup' />
                    713:        </dependency>
                    714: 
                    715:        <!-- ensure that restart of zebra is propogated to daemon -->
                    716:        <dependency
                    717:                name='zebra'
                    718:                grouping='optional_all'
                    719:                restart_on='restart'
                    720:                type='service'>
                    721:                <service_fmri value='svc:/network/routing/zebra:quagga' />
                    722:        </dependency>
                    723: 
                    724:        <exec_method
                    725:                type='method'
                    726:                name='start'
                    727:                exec='/lib/svc/method/quagga bgpd'
                    728:                timeout_seconds='60'>
                    729:                <method_context>
                    730:                  <method_credential
                    731:                   user='root' group='root'/>
                    732:                </method_context>
                    733:        </exec_method>
                    734: 
                    735:        <exec_method
                    736:                type='method'
                    737:                name='stop'
                    738:                exec=':kill'
                    739:                timeout_seconds='60' >
                    740:        </exec_method>
                    741: 
                    742:        <property_group name='startd'
                    743:                type='framework'>
                    744:                <!-- sub-process core dumps shouldn't restart session -->
                    745:                <propval name='ignore_error'
                    746:                    type='astring' value='core,signal' />
                    747:        </property_group>
                    748: 
                    749:        <!-- Properties in this group are used by routeadm (1M) -->
                    750:        <property_group name='routeadm' type='application'>
                    751:                <stability value='Unstable' />
                    752:                <!-- Identifies service as a routing service -->
                    753:                <propval name='daemon' type='astring'
                    754:                        value='@sbindir@/bgpd' />
                    755:                <propval name='legacy-daemon' type='astring'
                    756:                        value='/usr/sfw/sbin/bgpdstart' />
                    757:                <propval name='value_authorization' type='astring'
                    758:                        value='solaris.smf.value.routing' />
                    759:                <property name='protocol' type='astring'>
                    760:                        <astring_list>
                    761:                                <value_node value='ipv4'/>
                    762:                                <value_node value='ipv6'/>
                    763:                        </astring_list>
                    764:                </property>
                    765:        </property_group>
                    766:        
                    767:        <!-- Properties in this group are modifiable via routeadm (1M) -->
                    768:        <property_group name='routing' type='application'>
                    769:                <propval name='value_authorization' type='astring' 
                    770:                         value='solaris.smf.value.routing' />
                    771: 
                    772:                <!-- Options common to Quagga daemons. -->
                    773:                <!-- The config file to use, if not the default -->
                    774:                <propval name='config_file' type='astring' value=''/>
                    775:                <!-- The vty_port to listen on if not the default.
                    776:                     0 to disable --> 
                    777:                <propval name='vty_port' type='integer' value='0' />
                    778:                <!-- The address to bind the VTY interface to, if not any. -->
                    779:                <propval name='vty_address' type='astring' value='' />
                    780:                <!-- The user to switch to after startup, if not the default -->
                    781:                <propval name='user' type='astring' value='' />
                    782:                <!-- The group to switch to, if not the default.
                    783:                     If user is specified, this defaults to a group with
                    784:                     same name as user -->
                    785:                <propval name='group' type='astring' value='' />
                    786:                <!-- The pidfile to use, if not the default of
                    787:                     @quagga_statedir@ -->
                    788:                <propval name='pid_file' type='astring' value='' />
                    789: 
                    790:                <!-- Options specific to bgpd -->
                    791:                <propval name='retain' type='boolean' value='false' />
                    792:                <propval name='no_kernel' type='boolean' value='false' />
                    793:                <propval name='bgp_port' type='astring' value='' />
                    794:                
                    795:                <!--
                    796:                        If enable_zebra is false, it will not be switched
                    797:                        on by the start method.
                    798:                -->
                    799:                <propval name='enable_zebra' type='boolean' value='true' />
                    800:        </property_group>
                    801: 
                    802:        <property_group name='general' type='framework'>
                    803:                <!-- to start stop routing services -->
                    804:                <propval name='action_authorization' type='astring'
                    805:                         value='solaris.smf.manage.routing' />
                    806:                <propval name='value_authorization' type='astring'
                    807:                         value='solaris.smf.manage.routing' />
                    808:        </property_group>
                    809: 
                    810:        <template>
                    811:                <common_name>
                    812:                        <loctext xml:lang='C'>
                    813:                        Quagga: bgpd, BGP routing protocol daemon.
                    814:                        </loctext>
                    815:                </common_name>
                    816:                <documentation>
                    817:                        <manpage title='bgpd' section='1M'
                    818:                                manpath='@mandir@' />
                    819:                        <doc_link name='quagga.net' 
                    820:                                uri='http://www.quagga.net/' />
                    821:                </documentation>
                    822:        </template>
                    823:        </instance>
                    824:        <stability value='Unstable' />
                    825: </service>
                    826: </service_bundle>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>