quagga.xml.in 24 KB

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