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

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

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