Import Upstream version 1.2.2
[quagga-debian.git] / solaris / quagga.xml.in
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     Copyright 2015 Joyent, Inc.
25
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'
194                 grouping='require_all'
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'
325                 grouping='require_all'
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'
454                 grouping='require_all'
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'
585                 grouping='require_all'
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'
720                 grouping='require_all'
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>