1*c5591576SRob Johnston<?xml version="1.0"?>
2*c5591576SRob Johnston<!DOCTYPE topology SYSTEM "/usr/share/lib/xml/dtd/digraph-topology.dtd.1">
3*c5591576SRob Johnston
4*c5591576SRob Johnston<!--
5*c5591576SRob Johnston  Copyright 2020 Joyent, Inc.
6*c5591576SRob Johnston
7*c5591576SRob Johnston  This XML represents a directed graph that looks like the following:
8*c5591576SRob Johnston
9*c5591576SRob Johnston                           |===> node=2 ===
10*c5591576SRob Johnston                           |               |
11*c5591576SRob Johnston    node=0 ====> node=1 ===                |===> node=4 ==
12*c5591576SRob Johnston                           |               |              |
13*c5591576SRob Johnston                           |===> node=3 ===               |
14*c5591576SRob Johnston                                  ^  ^                    |
15*c5591576SRob Johnston    node=5                        |  |                    |
16*c5591576SRob Johnston                                  |  |                    |
17*c5591576SRob Johnston    node=6 =======================   ======================
18*c5591576SRob Johnston
19*c5591576SRob Johnston-->
20*c5591576SRob Johnston
21*c5591576SRob Johnston<topo-digraph fmri-scheme='hc' nodename='test-nodename' os-version='test-os-version' product-id='test-product-id' timestamp='2019-12-20T01:51:26Z'>
22*c5591576SRob Johnston<vertices>
23*c5591576SRob Johnston<vertex name='node' instance='0x0' fmri='hc:///node=0'>
24*c5591576SRob Johnston
25*c5591576SRob Johnston  <nvpair name='property-groups' type='nvlist-array'>
26*c5591576SRob Johnston    <nvlist>
27*c5591576SRob Johnston      <nvpair name='property-group-name' type='string' value='test-pg-1' />
28*c5591576SRob Johnston      <nvpair name='property-values' type='nvlist-array'>
29*c5591576SRob Johnston
30*c5591576SRob Johnston        <nvlist>
31*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='string-prop' />
32*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='6' />
33*c5591576SRob Johnston          <nvpair name='property-value' type='string' value='blahblahblah' />
34*c5591576SRob Johnston        </nvlist>
35*c5591576SRob Johnston
36*c5591576SRob Johnston        <nvlist>
37*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='uint64-array-prop' />
38*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='13' />
39*c5591576SRob Johnston          <nvpair name='property-value' type='uint64-array'>
40*c5591576SRob Johnston            <nvpair value='0x1' />
41*c5591576SRob Johnston            <nvpair value='0x2' />
42*c5591576SRob Johnston          </nvpair>
43*c5591576SRob Johnston        </nvlist>
44*c5591576SRob Johnston
45*c5591576SRob Johnston        <nvlist>
46*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='int64-array-prop' />
47*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='12' />
48*c5591576SRob Johnston          <nvpair name='property-value' type='int64-array'>
49*c5591576SRob Johnston            <nvpair value='1' />
50*c5591576SRob Johnston            <nvpair value='2' />
51*c5591576SRob Johnston          </nvpair>
52*c5591576SRob Johnston        </nvlist>
53*c5591576SRob Johnston
54*c5591576SRob Johnston        <nvlist>
55*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='uint32-array-prop' />
56*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='11' />
57*c5591576SRob Johnston          <nvpair name='property-value' type='uint32-array'>
58*c5591576SRob Johnston            <nvpair value='1' />
59*c5591576SRob Johnston            <nvpair value='2' />
60*c5591576SRob Johnston          </nvpair>
61*c5591576SRob Johnston        </nvlist>
62*c5591576SRob Johnston
63*c5591576SRob Johnston        <nvlist>
64*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='int32-array-prop' />
65*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='10' />
66*c5591576SRob Johnston          <nvpair name='property-value' type='int32-array'>
67*c5591576SRob Johnston            <nvpair value='1' />
68*c5591576SRob Johnston            <nvpair value='2' />
69*c5591576SRob Johnston          </nvpair>
70*c5591576SRob Johnston        </nvlist>
71*c5591576SRob Johnston
72*c5591576SRob Johnston        <nvlist>
73*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='uint64-prop' />
74*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='5' />
75*c5591576SRob Johnston          <nvpair name='property-value' type='uint64' value='0x5003048023567a00' />
76*c5591576SRob Johnston        </nvlist>
77*c5591576SRob Johnston
78*c5591576SRob Johnston        <nvlist>
79*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='uint32-prop' />
80*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='3' />
81*c5591576SRob Johnston          <nvpair name='property-value' type='uint32' value='1' />
82*c5591576SRob Johnston        </nvlist>
83*c5591576SRob Johnston
84*c5591576SRob Johnston      </nvpair> <!-- property-values -->
85*c5591576SRob Johnston    </nvlist>
86*c5591576SRob Johnston    <nvlist>
87*c5591576SRob Johnston      <nvpair name='property-group-name' type='string' value='protocol' />
88*c5591576SRob Johnston      <nvpair name='property-values' type='nvlist-array'>
89*c5591576SRob Johnston        <nvlist>
90*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='resource' />
91*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='9' />
92*c5591576SRob Johnston          <nvpair name='property-value' type='nvlist'>
93*c5591576SRob Johnston            <nvlist>
94*c5591576SRob Johnston              <nvpair name='scheme' type='string' value='hc' />
95*c5591576SRob Johnston              <nvpair name='version' type='uint8' value='0' />
96*c5591576SRob Johnston              <nvpair name='hc-list' type='nvlist-array'>
97*c5591576SRob Johnston                <nvlist>
98*c5591576SRob Johnston                  <nvpair name='hc-name' type='string' value='node' />
99*c5591576SRob Johnston                  <nvpair name='hc-id' type='string' value='0' />
100*c5591576SRob Johnston                </nvlist>
101*c5591576SRob Johnston              </nvpair>
102*c5591576SRob Johnston            </nvlist>
103*c5591576SRob Johnston          </nvpair> <!-- property-value -->
104*c5591576SRob Johnston        </nvlist>
105*c5591576SRob Johnston      </nvpair> <!-- property-values -->
106*c5591576SRob Johnston    </nvlist>
107*c5591576SRob Johnston
108*c5591576SRob Johnston  </nvpair> <!-- property-groups -->
109*c5591576SRob Johnston  <outgoing-edges>
110*c5591576SRob Johnston    <edge fmri='hc:///node=1' />
111*c5591576SRob Johnston  </outgoing-edges>
112*c5591576SRob Johnston
113*c5591576SRob Johnston</vertex>
114*c5591576SRob Johnston
115*c5591576SRob Johnston<vertex name='node' instance='0x1' fmri='hc:///node=1'>
116*c5591576SRob Johnston
117*c5591576SRob Johnston  <nvpair name='property-groups' type='nvlist-array'>
118*c5591576SRob Johnston
119*c5591576SRob Johnston    <nvlist>
120*c5591576SRob Johnston      <nvpair name='property-group-name' type='string' value='protocol' />
121*c5591576SRob Johnston      <nvpair name='property-values' type='nvlist-array'>
122*c5591576SRob Johnston        <nvlist>
123*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='resource' />
124*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='9' />
125*c5591576SRob Johnston          <nvpair name='property-value' type='nvlist'>
126*c5591576SRob Johnston            <nvlist>
127*c5591576SRob Johnston              <nvpair name='scheme' type='string' value='hc' />
128*c5591576SRob Johnston              <nvpair name='version' type='uint8' value='0' />
129*c5591576SRob Johnston              <nvpair name='hc-list' type='nvlist-array'>
130*c5591576SRob Johnston                <nvlist>
131*c5591576SRob Johnston                  <nvpair name='hc-name' type='string' value='node' />
132*c5591576SRob Johnston                  <nvpair name='hc-id' type='string' value='1' />
133*c5591576SRob Johnston                </nvlist>
134*c5591576SRob Johnston              </nvpair>
135*c5591576SRob Johnston            </nvlist>
136*c5591576SRob Johnston          </nvpair> <!-- property-value -->
137*c5591576SRob Johnston        </nvlist>
138*c5591576SRob Johnston      </nvpair> <!-- property-values -->
139*c5591576SRob Johnston    </nvlist>
140*c5591576SRob Johnston  </nvpair> <!-- property-groups -->
141*c5591576SRob Johnston  <outgoing-edges>
142*c5591576SRob Johnston    <edge fmri='hc:///node=2' />
143*c5591576SRob Johnston    <edge fmri='hc:///node=3' />
144*c5591576SRob Johnston  </outgoing-edges>
145*c5591576SRob Johnston
146*c5591576SRob Johnston</vertex>
147*c5591576SRob Johnston
148*c5591576SRob Johnston<vertex name='node' instance='0x2' fmri='hc:///node=2'>
149*c5591576SRob Johnston
150*c5591576SRob Johnston  <nvpair name='property-groups' type='nvlist-array'>
151*c5591576SRob Johnston
152*c5591576SRob Johnston    <nvlist>
153*c5591576SRob Johnston      <nvpair name='property-group-name' type='string' value='protocol' />
154*c5591576SRob Johnston      <nvpair name='property-values' type='nvlist-array'>
155*c5591576SRob Johnston        <nvlist>
156*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='resource' />
157*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='9' />
158*c5591576SRob Johnston          <nvpair name='property-value' type='nvlist'>
159*c5591576SRob Johnston            <nvlist>
160*c5591576SRob Johnston              <nvpair name='scheme' type='string' value='hc' />
161*c5591576SRob Johnston              <nvpair name='version' type='uint8' value='0' />
162*c5591576SRob Johnston              <nvpair name='hc-list' type='nvlist-array'>
163*c5591576SRob Johnston                <nvlist>
164*c5591576SRob Johnston                  <nvpair name='hc-name' type='string' value='node' />
165*c5591576SRob Johnston                  <nvpair name='hc-id' type='string' value='2' />
166*c5591576SRob Johnston                </nvlist>
167*c5591576SRob Johnston              </nvpair>
168*c5591576SRob Johnston            </nvlist>
169*c5591576SRob Johnston          </nvpair> <!-- property-value -->
170*c5591576SRob Johnston        </nvlist>
171*c5591576SRob Johnston      </nvpair> <!-- property-values -->
172*c5591576SRob Johnston    </nvlist>
173*c5591576SRob Johnston
174*c5591576SRob Johnston  </nvpair> <!-- property-groups -->
175*c5591576SRob Johnston  <outgoing-edges>
176*c5591576SRob Johnston    <edge fmri='hc:///node=4' />
177*c5591576SRob Johnston  </outgoing-edges>
178*c5591576SRob Johnston
179*c5591576SRob Johnston</vertex>
180*c5591576SRob Johnston
181*c5591576SRob Johnston<vertex name='node' instance='0x3' fmri='hc:///node=3'>
182*c5591576SRob Johnston
183*c5591576SRob Johnston  <nvpair name='property-groups' type='nvlist-array'>
184*c5591576SRob Johnston
185*c5591576SRob Johnston    <nvlist>
186*c5591576SRob Johnston      <nvpair name='property-group-name' type='string' value='protocol' />
187*c5591576SRob Johnston      <nvpair name='property-values' type='nvlist-array'>
188*c5591576SRob Johnston        <nvlist>
189*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='resource' />
190*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='9' />
191*c5591576SRob Johnston          <nvpair name='property-value' type='nvlist'>
192*c5591576SRob Johnston            <nvlist>
193*c5591576SRob Johnston              <nvpair name='scheme' type='string' value='hc' />
194*c5591576SRob Johnston              <nvpair name='version' type='uint8' value='0' />
195*c5591576SRob Johnston              <nvpair name='hc-list' type='nvlist-array'>
196*c5591576SRob Johnston                <nvlist>
197*c5591576SRob Johnston                  <nvpair name='hc-name' type='string' value='node' />
198*c5591576SRob Johnston                  <nvpair name='hc-id' type='string' value='3' />
199*c5591576SRob Johnston                </nvlist>
200*c5591576SRob Johnston              </nvpair>
201*c5591576SRob Johnston            </nvlist>
202*c5591576SRob Johnston          </nvpair> <!-- property-value -->
203*c5591576SRob Johnston        </nvlist>
204*c5591576SRob Johnston      </nvpair> <!-- property-values -->
205*c5591576SRob Johnston    </nvlist>
206*c5591576SRob Johnston
207*c5591576SRob Johnston  </nvpair> <!-- property-groups -->
208*c5591576SRob Johnston  <outgoing-edges>
209*c5591576SRob Johnston    <edge fmri='hc:///node=4' />
210*c5591576SRob Johnston  </outgoing-edges>
211*c5591576SRob Johnston
212*c5591576SRob Johnston</vertex>
213*c5591576SRob Johnston
214*c5591576SRob Johnston<vertex name='node' instance='0x4' fmri='hc:///node=4'>
215*c5591576SRob Johnston
216*c5591576SRob Johnston  <nvpair name='property-groups' type='nvlist-array'>
217*c5591576SRob Johnston    <nvlist>
218*c5591576SRob Johnston      <nvpair name='property-group-name' type='string' value='protocol' />
219*c5591576SRob Johnston      <nvpair name='property-values' type='nvlist-array'>
220*c5591576SRob Johnston        <nvlist>
221*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='resource' />
222*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='9' />
223*c5591576SRob Johnston          <nvpair name='property-value' type='nvlist'>
224*c5591576SRob Johnston            <nvlist>
225*c5591576SRob Johnston              <nvpair name='scheme' type='string' value='hc' />
226*c5591576SRob Johnston              <nvpair name='version' type='uint8' value='0' />
227*c5591576SRob Johnston              <nvpair name='hc-list' type='nvlist-array'>
228*c5591576SRob Johnston                <nvlist>
229*c5591576SRob Johnston                  <nvpair name='hc-name' type='string' value='node' />
230*c5591576SRob Johnston                  <nvpair name='hc-id' type='string' value='4' />
231*c5591576SRob Johnston                </nvlist>
232*c5591576SRob Johnston              </nvpair>
233*c5591576SRob Johnston            </nvlist>
234*c5591576SRob Johnston          </nvpair> <!-- property-value -->
235*c5591576SRob Johnston        </nvlist>
236*c5591576SRob Johnston      </nvpair> <!-- property-values -->
237*c5591576SRob Johnston    </nvlist>
238*c5591576SRob Johnston
239*c5591576SRob Johnston  </nvpair> <!-- property-groups -->
240*c5591576SRob Johnston  <outgoing-edges>
241*c5591576SRob Johnston    <edge fmri='hc:///node=3' />
242*c5591576SRob Johnston  </outgoing-edges>
243*c5591576SRob Johnston
244*c5591576SRob Johnston</vertex>
245*c5591576SRob Johnston
246*c5591576SRob Johnston<vertex name='node' instance='0x5' fmri='hc:///node=5'>
247*c5591576SRob Johnston
248*c5591576SRob Johnston  <nvpair name='property-groups' type='nvlist-array'>
249*c5591576SRob Johnston    <nvlist>
250*c5591576SRob Johnston      <nvpair name='property-group-name' type='string' value='protocol' />
251*c5591576SRob Johnston      <nvpair name='property-values' type='nvlist-array'>
252*c5591576SRob Johnston        <nvlist>
253*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='resource' />
254*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='9' />
255*c5591576SRob Johnston          <nvpair name='property-value' type='nvlist'>
256*c5591576SRob Johnston            <nvlist>
257*c5591576SRob Johnston              <nvpair name='scheme' type='string' value='hc' />
258*c5591576SRob Johnston              <nvpair name='version' type='uint8' value='0' />
259*c5591576SRob Johnston              <nvpair name='hc-list' type='nvlist-array'>
260*c5591576SRob Johnston                <nvlist>
261*c5591576SRob Johnston                  <nvpair name='hc-name' type='string' value='node' />
262*c5591576SRob Johnston                  <nvpair name='hc-id' type='string' value='5' />
263*c5591576SRob Johnston                </nvlist>
264*c5591576SRob Johnston              </nvpair>
265*c5591576SRob Johnston            </nvlist>
266*c5591576SRob Johnston          </nvpair> <!-- property-value -->
267*c5591576SRob Johnston        </nvlist>
268*c5591576SRob Johnston      </nvpair> <!-- property-values -->
269*c5591576SRob Johnston    </nvlist>
270*c5591576SRob Johnston
271*c5591576SRob Johnston  </nvpair> <!-- property-groups -->
272*c5591576SRob Johnston
273*c5591576SRob Johnston</vertex>
274*c5591576SRob Johnston
275*c5591576SRob Johnston<vertex name='node' instance='0x6' fmri='hc:///node=6'>
276*c5591576SRob Johnston
277*c5591576SRob Johnston  <nvpair name='property-groups' type='nvlist-array'>
278*c5591576SRob Johnston    <nvlist>
279*c5591576SRob Johnston      <nvpair name='property-group-name' type='string' value='protocol' />
280*c5591576SRob Johnston      <nvpair name='property-values' type='nvlist-array'>
281*c5591576SRob Johnston        <nvlist>
282*c5591576SRob Johnston          <nvpair name='property-name' type='string' value='resource' />
283*c5591576SRob Johnston          <nvpair name='property-type' type='uint32' value='9' />
284*c5591576SRob Johnston          <nvpair name='property-value' type='nvlist'>
285*c5591576SRob Johnston            <nvlist>
286*c5591576SRob Johnston              <nvpair name='scheme' type='string' value='hc' />
287*c5591576SRob Johnston              <nvpair name='version' type='uint8' value='0' />
288*c5591576SRob Johnston              <nvpair name='hc-list' type='nvlist-array'>
289*c5591576SRob Johnston                <nvlist>
290*c5591576SRob Johnston                  <nvpair name='hc-name' type='string' value='node' />
291*c5591576SRob Johnston                  <nvpair name='hc-id' type='string' value='6' />
292*c5591576SRob Johnston                </nvlist>
293*c5591576SRob Johnston              </nvpair>
294*c5591576SRob Johnston            </nvlist>
295*c5591576SRob Johnston          </nvpair> <!-- property-value -->
296*c5591576SRob Johnston        </nvlist>
297*c5591576SRob Johnston      </nvpair> <!-- property-values -->
298*c5591576SRob Johnston    </nvlist>
299*c5591576SRob Johnston
300*c5591576SRob Johnston  </nvpair> <!-- property-groups -->
301*c5591576SRob Johnston  <outgoing-edges>
302*c5591576SRob Johnston    <edge fmri='hc:///node=3' />
303*c5591576SRob Johnston  </outgoing-edges>
304*c5591576SRob Johnston
305*c5591576SRob Johnston</vertex>
306*c5591576SRob Johnston
307*c5591576SRob Johnston</vertices>
308*c5591576SRob Johnston</topo-digraph>
309