2 * Routines for LBMC Packet dissection
4 * Copyright (c) 2005-2014 Informatica Corporation. All Rights Reserved.
6 * Wireshark - Network traffic analyzer
7 * By Gerald Combs <gerald@wireshark.org>
8 * Copyright 1998 Gerald Combs
10 * SPDX-License-Identifier: GPL-2.0-or-later
14 #include <epan/packet.h>
15 #include <epan/prefs.h>
16 #include <epan/expert.h>
17 #include <epan/sequence_analysis.h>
18 #include <epan/to_str.h>
20 #include "packet-lbm.h"
21 #include "packet-lbttcp.h"
24 void proto_register_lbmc(void);
25 void proto_reg_handoff_lbmc(void);
27 /*----------------------------------------------------------------------------*/
28 /* Stream management. */
29 /*----------------------------------------------------------------------------*/
31 /* Instance stream structures. */
32 struct lbm_istream_entry_t_stct
;
33 typedef struct lbm_istream_entry_t_stct lbm_istream_entry_t
;
34 struct lbm_istream_substream_entry_t_stct
;
35 typedef struct lbm_istream_substream_entry_t_stct lbm_istream_substream_entry_t
;
37 struct lbm_istream_substream_entry_t_stct
43 uint32_t lbm_stream_id
;
44 lbm_istream_entry_t
* parent
;
45 uint32_t substream_id
;
52 struct lbm_istream_entry_t_stct
54 uint8_t ctxinst_1
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
55 uint8_t ctxinst_2
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
57 uint32_t next_substream_id
;
62 wmem_tree_t
* substream_list
;
65 /* Domain stream structures */
66 struct lbm_dstream_entry_t_stct
;
67 typedef struct lbm_dstream_entry_t_stct lbm_dstream_entry_t
;
68 struct lbm_dstream_substream_entry_t_stct
;
69 typedef struct lbm_dstream_substream_entry_t_stct lbm_dstream_substream_entry_t
;
71 struct lbm_dstream_substream_entry_t_stct
77 uint32_t lbm_stream_id
;
78 lbm_dstream_entry_t
* parent
;
79 uint32_t substream_id
;
86 struct lbm_dstream_entry_t_stct
95 uint32_t next_substream_id
;
100 wmem_tree_t
* substream_list
;
103 /* Instance stream variables */
104 #define LBM_ISTREAM_STREAM_KEY_ELEMENT_COUNT 4
105 #define LBM_ISTREAM_STREAM_KEY_ELEMENT_CTXINST1_HIGH 0
106 #define LBM_ISTREAM_STREAM_KEY_ELEMENT_CTXINST1_LOW 1
107 #define LBM_ISTREAM_STREAM_KEY_ELEMENT_CTXINST2_HIGH 2
108 #define LBM_ISTREAM_STREAM_KEY_ELEMENT_CTXINST2_LOW 3
110 #define LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_COUNT 5
111 #define LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_SRC_ADDR 0
112 #define LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_SRC_PORT 1
113 #define LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_DST_ADDR 2
114 #define LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_DST_PORT 3
115 #define LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_LBM_STREAM_ID 4
117 static wmem_tree_t
* instance_stream_table
;
119 /* Domain stream variables */
120 #define LBM_DSTREAM_STREAM_KEY_ELEMENT_COUNT 6
121 #define LBM_DSTREAM_STREAM_KEY_ELEMENT_DOMAIN_1 0
122 #define LBM_DSTREAM_STREAM_KEY_ELEMENT_ADDR_1 1
123 #define LBM_DSTREAM_STREAM_KEY_ELEMENT_DOMAIN_2 2
124 #define LBM_DSTREAM_STREAM_KEY_ELEMENT_ADDR_2 3
125 #define LBM_DSTREAM_STREAM_KEY_ELEMENT_PORT_1 4
126 #define LBM_DSTREAM_STREAM_KEY_ELEMENT_PORT_2 5
128 #define LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_COUNT 5
129 #define LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_SRC_ADDR 0
130 #define LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_SRC_PORT 1
131 #define LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_DST_ADDR 2
132 #define LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_DST_PORT 3
133 #define LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_LBM_STREAM_ID 4
135 static wmem_tree_t
* domain_stream_table
;
137 static void lbm_stream_init(void)
139 instance_stream_table
= wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
140 domain_stream_table
= wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
143 static void lbm_istream_stream_build_key(uint32_t * key_value
, wmem_tree_key_t
* key
, const lbm_istream_entry_t
* stream
)
147 /* Note: ctxinst_1 and ctxinst_2 are 8-byte blocks, not guaranteed to be aligned. So we memcpy them 4 bytes
148 at a time to an intermediate variable, to prevent any alignment issues with assigning to a 32-bit unsigned int
149 on certain platforms.
151 memcpy((void *) &val
, (const void *) stream
->ctxinst_1
, sizeof(uint32_t));
152 key_value
[LBM_ISTREAM_STREAM_KEY_ELEMENT_CTXINST1_HIGH
] = val
;
153 memcpy((void *) &val
, (const void *) (stream
->ctxinst_1
+ sizeof(uint32_t)), sizeof(uint32_t));
154 key_value
[LBM_ISTREAM_STREAM_KEY_ELEMENT_CTXINST1_LOW
] = val
;
155 memcpy((void *) &val
, (const void *) stream
->ctxinst_2
, sizeof(uint32_t));
156 key_value
[LBM_ISTREAM_STREAM_KEY_ELEMENT_CTXINST2_HIGH
] = val
;
157 memcpy((void *) &val
, (const void *) (stream
->ctxinst_2
+ sizeof(uint32_t)), sizeof(uint32_t));
158 key_value
[LBM_ISTREAM_STREAM_KEY_ELEMENT_CTXINST2_LOW
] = val
;
159 key
[0].length
= LBM_ISTREAM_STREAM_KEY_ELEMENT_COUNT
;
160 key
[0].key
= key_value
;
165 static void lbm_stream_order_istream_key(lbm_istream_entry_t
* stream
)
167 uint8_t ctxinst
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
169 if (memcmp((void *)stream
->ctxinst_1
, (void *)stream
->ctxinst_2
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
) > 0)
171 memcpy((void *)ctxinst
, (const void *)stream
->ctxinst_1
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
172 memcpy((void *)stream
->ctxinst_1
, (const void *)stream
->ctxinst_2
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
173 memcpy((void *)stream
->ctxinst_2
, (const void *)ctxinst
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
177 static lbm_istream_entry_t
* lbm_stream_istream_find(const uint8_t * instance1
, const uint8_t * instance2
)
179 lbm_istream_entry_t key
;
180 lbm_istream_entry_t
* entry
= NULL
;
181 uint32_t keyval
[LBM_ISTREAM_STREAM_KEY_ELEMENT_COUNT
];
182 wmem_tree_key_t tkey
[2];
184 memset((void *)&key
, 0, sizeof(lbm_istream_entry_t
));
185 memcpy((void *)key
.ctxinst_1
, (const void *)instance1
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
186 memcpy((void *)key
.ctxinst_2
, (const void *)instance2
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
187 lbm_stream_order_istream_key(&key
);
188 lbm_istream_stream_build_key(keyval
, tkey
, &key
);
189 entry
= (lbm_istream_entry_t
*) wmem_tree_lookup32_array(instance_stream_table
, tkey
);
193 static lbm_istream_entry_t
* lbm_stream_istream_add(const uint8_t * instance1
, const uint8_t * instance2
)
195 lbm_istream_entry_t
* entry
;
196 uint32_t keyval
[LBM_ISTREAM_STREAM_KEY_ELEMENT_COUNT
];
197 wmem_tree_key_t tkey
[2];
199 entry
= lbm_stream_istream_find(instance1
, instance2
);
204 entry
= wmem_new(wmem_file_scope(), lbm_istream_entry_t
);
205 memcpy((void *)entry
->ctxinst_1
, (const void *)instance1
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
206 memcpy((void *)entry
->ctxinst_2
, (const void *)instance2
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
207 lbm_stream_order_istream_key(entry
);
208 entry
->channel
= lbm_channel_assign(LBM_CHANNEL_STREAM_TCP
);
209 entry
->next_substream_id
= 1;
210 entry
->first_frame
= ~((uint32_t)0);
211 entry
->last_frame
= 0;
214 entry
->substream_list
= wmem_tree_new(wmem_file_scope());
215 lbm_istream_stream_build_key(keyval
, tkey
, entry
);
216 wmem_tree_insert32_array(instance_stream_table
, tkey
, (void *) entry
);
220 static void lbm_istream_substream_build_key(uint32_t * key_value
, wmem_tree_key_t
* key
, const lbm_istream_substream_entry_t
* substream
)
224 /* Note: for the time being we only support IPv4 addresses (currently enforced in the dissectors), so
225 assume it's an IPv4 address. memcpy to an intermediate value (don't know for sure the address.data field
226 has any particular alignment) to prevent any alignment issues with assigning to a 32-bit unsigned int
227 on certain platforms.
229 memcpy((void *) &val
, (const void *) substream
->src_addr
.data
, sizeof(uint32_t));
230 key_value
[LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_SRC_ADDR
] = val
;
231 key_value
[LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_SRC_PORT
] = (uint32_t) substream
->src_port
;
232 memcpy((void *) &val
, (const void *) substream
->dst_addr
.data
, sizeof(uint32_t));
233 key_value
[LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_DST_ADDR
] = val
;
234 key_value
[LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_DST_PORT
] = (uint32_t) substream
->dst_port
;
235 key_value
[LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_LBM_STREAM_ID
] = substream
->lbm_stream_id
;
236 key
[0].length
= LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_COUNT
;
237 key
[0].key
= key_value
;
242 static lbm_istream_substream_entry_t
* lbm_stream_istream_substream_find(lbm_istream_entry_t
* stream
, const address
* src_addr
, uint16_t src_port
, const address
* dst_addr
, uint16_t dst_port
, uint32_t stream_id
)
244 lbm_istream_substream_entry_t key
;
245 lbm_istream_substream_entry_t
* entry
= NULL
;
246 uint32_t keyval
[LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_COUNT
];
247 wmem_tree_key_t tkey
[2];
249 memset((void *)&key
, 0, sizeof(lbm_istream_substream_entry_t
));
250 copy_address_shallow(&(key
.src_addr
), src_addr
);
251 key
.src_port
= src_port
;
252 copy_address_shallow(&(key
.dst_addr
), dst_addr
);
253 key
.dst_port
= dst_port
;
254 key
.lbm_stream_id
= stream_id
;
255 lbm_istream_substream_build_key(keyval
, tkey
, &key
);
256 entry
= (lbm_istream_substream_entry_t
*) wmem_tree_lookup32_array(stream
->substream_list
, tkey
);
260 static lbm_istream_substream_entry_t
* lbm_stream_istream_substream_add(lbm_istream_entry_t
* stream
, const address
* src_addr
, uint16_t src_port
, const address
* dst_addr
, uint16_t dst_port
, uint32_t stream_id
)
262 lbm_istream_substream_entry_t
* entry
;
263 uint32_t keyval
[LBM_ISTREAM_SUBSTREAM_KEY_ELEMENT_COUNT
];
264 wmem_tree_key_t tkey
[2];
266 entry
= lbm_stream_istream_substream_find(stream
, src_addr
, src_port
, dst_addr
, dst_port
, stream_id
);
271 entry
= wmem_new(wmem_file_scope(), lbm_istream_substream_entry_t
);
272 copy_address_wmem(wmem_file_scope(), &(entry
->src_addr
), src_addr
);
273 entry
->src_port
= src_port
;
274 copy_address_wmem(wmem_file_scope(), &(entry
->dst_addr
), dst_addr
);
275 entry
->dst_port
= dst_port
;
276 entry
->lbm_stream_id
= stream_id
;
277 entry
->parent
= stream
;
278 entry
->substream_id
= stream
->next_substream_id
++;
279 entry
->first_frame
= ~((uint32_t)0);
280 entry
->last_frame
= 0;
283 lbm_istream_substream_build_key(keyval
, tkey
, entry
);
284 wmem_tree_insert32_array(stream
->substream_list
, tkey
, (void *) entry
);
288 static void lbm_stream_istream_substream_update(lbm_istream_substream_entry_t
* substream
, uint16_t length
, uint32_t frame
)
290 substream
->messages
++;
291 substream
->parent
->messages
++;
292 substream
->bytes
+= (uint32_t)length
;
293 substream
->parent
->bytes
+= (uint32_t)length
;
294 if (frame
< substream
->first_frame
)
296 substream
->first_frame
= frame
;
298 if (frame
< substream
->parent
->first_frame
)
300 substream
->parent
->first_frame
= frame
;
302 if (frame
> substream
->last_frame
)
304 substream
->last_frame
= frame
;
306 if (frame
> substream
->parent
->last_frame
)
308 substream
->parent
->last_frame
= frame
;
312 static void lbm_dstream_stream_build_key(uint32_t * key_value
, wmem_tree_key_t
* key
, const lbm_dstream_entry_t
* stream
)
316 /* Note: for the time being we only support IPv4 addresses (currently enforced in the dissectors), so
317 assume it's an IPv4 address. memcpy to an intermediate value (don't know for sure the address.data field
318 has any particular alignment) to prevent any alignment issues with assigning to a 32-bit unsigned int
319 on certain platforms.
321 key_value
[LBM_DSTREAM_STREAM_KEY_ELEMENT_DOMAIN_1
] = stream
->domain_1
;
322 memcpy((void *) &val
, (const void *) (stream
->addr_1
.data
), sizeof(uint32_t));
323 key_value
[LBM_DSTREAM_STREAM_KEY_ELEMENT_ADDR_1
] = val
;
324 key_value
[LBM_DSTREAM_STREAM_KEY_ELEMENT_DOMAIN_2
] = stream
->domain_2
;
325 memcpy((void *) &val
, (const void *) (stream
->addr_2
.data
), sizeof(uint32_t));
326 key_value
[LBM_DSTREAM_STREAM_KEY_ELEMENT_ADDR_2
] = val
;
327 key_value
[LBM_DSTREAM_STREAM_KEY_ELEMENT_PORT_1
] = (uint32_t) stream
->port_1
;
328 key_value
[LBM_DSTREAM_STREAM_KEY_ELEMENT_PORT_2
] = (uint32_t) stream
->port_2
;
329 key
[0].length
= LBM_DSTREAM_STREAM_KEY_ELEMENT_COUNT
;
330 key
[0].key
= key_value
;
335 static void lbm_stream_order_dstream_key(lbm_dstream_entry_t
* stream
)
337 bool swap_items
= false;
342 if (stream
->domain_1
> stream
->domain_2
)
346 else if (stream
->domain_1
== stream
->domain_2
)
350 compare
= cmp_address(&(stream
->addr_1
), &(stream
->addr_2
));
355 else if (compare
== 0)
357 if (stream
->port_1
> stream
->port_2
)
365 domain
= stream
->domain_1
;
366 copy_address_shallow(&addr
, &(stream
->addr_1
));
367 port
= stream
->port_1
;
369 stream
->domain_1
= stream
->domain_2
;
370 copy_address_shallow(&(stream
->addr_1
), &(stream
->addr_2
));
371 stream
->port_1
= stream
->port_2
;
373 stream
->domain_2
= domain
;
374 copy_address_shallow(&(stream
->addr_2
), &addr
);
375 stream
->port_2
= port
;
379 static lbm_dstream_entry_t
* lbm_stream_dstream_find(const lbm_uim_stream_destination_t
* endpoint_a
, const lbm_uim_stream_destination_t
* endpoint_b
)
381 lbm_dstream_entry_t key
;
382 lbm_dstream_entry_t
* entry
= NULL
;
383 uint32_t keyval
[LBM_DSTREAM_STREAM_KEY_ELEMENT_COUNT
];
384 wmem_tree_key_t tkey
[2];
386 key
.domain_1
= endpoint_a
->domain
;
387 copy_address_shallow(&(key
.addr_1
), &(endpoint_a
->addr
));
388 key
.port_1
= endpoint_a
->port
;
389 key
.domain_2
= endpoint_b
->domain
;
390 copy_address_shallow(&(key
.addr_2
), &(endpoint_b
->addr
));
391 key
.port_2
= endpoint_b
->port
;
392 lbm_stream_order_dstream_key(&key
);
393 lbm_dstream_stream_build_key(keyval
, tkey
, &key
);
394 entry
= (lbm_dstream_entry_t
*) wmem_tree_lookup32_array(domain_stream_table
, tkey
);
398 static lbm_dstream_entry_t
* lbm_stream_dstream_add(const lbm_uim_stream_destination_t
* endpoint_a
, const lbm_uim_stream_destination_t
* endpoint_b
)
400 lbm_dstream_entry_t
* entry
;
401 uint32_t keyval
[LBM_DSTREAM_STREAM_KEY_ELEMENT_COUNT
];
402 wmem_tree_key_t tkey
[2];
404 entry
= lbm_stream_dstream_find(endpoint_a
, endpoint_b
);
409 entry
= wmem_new(wmem_file_scope(), lbm_dstream_entry_t
);
410 entry
->domain_1
= endpoint_a
->domain
;
411 copy_address_wmem(wmem_file_scope(), &(entry
->addr_1
), &(endpoint_a
->addr
));
412 entry
->port_1
= endpoint_a
->port
;
413 entry
->domain_2
= endpoint_b
->domain
;
414 copy_address_wmem(wmem_file_scope(), &(entry
->addr_2
), &(endpoint_b
->addr
));
415 entry
->port_2
= endpoint_b
->port
;
416 lbm_stream_order_dstream_key(entry
);
417 entry
->channel
= lbm_channel_assign(LBM_CHANNEL_STREAM_TCP
);
418 entry
->next_substream_id
= 1;
419 entry
->first_frame
= ~((uint32_t)0);
420 entry
->last_frame
= 0;
423 entry
->substream_list
= wmem_tree_new(wmem_file_scope());
424 lbm_dstream_stream_build_key(keyval
, tkey
, entry
);
425 wmem_tree_insert32_array(domain_stream_table
, tkey
, (void *) entry
);
429 static void lbm_dstream_substream_build_key(uint32_t * key_value
, wmem_tree_key_t
* key
, const lbm_dstream_substream_entry_t
* substream
)
433 /* Note: for the time being we only support IPv4 addresses (currently enforced in the dissectors), so
434 assume it's an IPv4 address. memcpy to an intermediate value (don't know for sure the address.data field
435 has any particular alignment) to prevent any alignment issues with assigning to a 32-bit unsigned int
436 on certain platforms.
438 memcpy((void *) &val
, (const void *) substream
->src_addr
.data
, sizeof(uint32_t));
439 key_value
[LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_SRC_ADDR
] = val
;
440 key_value
[LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_SRC_PORT
] = (uint32_t) substream
->src_port
;
441 memcpy((void *) &val
, (const void *) substream
->dst_addr
.data
, sizeof(uint32_t));
442 key_value
[LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_DST_ADDR
] = val
;
443 key_value
[LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_DST_PORT
] = (uint32_t) substream
->dst_port
;
444 key_value
[LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_LBM_STREAM_ID
] = substream
->lbm_stream_id
;
445 key
[0].length
= LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_COUNT
;
446 key
[0].key
= key_value
;
451 static lbm_dstream_substream_entry_t
* lbm_stream_dstream_substream_find(lbm_dstream_entry_t
* stream
, const address
* src_addr
, uint16_t src_port
, const address
* dst_addr
, uint16_t dst_port
, uint32_t stream_id
)
453 lbm_dstream_substream_entry_t key
;
454 lbm_dstream_substream_entry_t
* entry
= NULL
;
455 uint32_t keyval
[LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_COUNT
];
456 wmem_tree_key_t tkey
[2];
458 memset((void *)&key
, 0, sizeof(lbm_dstream_substream_entry_t
));
459 copy_address_shallow(&(key
.src_addr
), src_addr
);
460 key
.src_port
= src_port
;
461 copy_address_shallow(&(key
.dst_addr
), dst_addr
);
462 key
.dst_port
= dst_port
;
463 key
.lbm_stream_id
= stream_id
;
464 lbm_dstream_substream_build_key(keyval
, tkey
, &key
);
465 entry
= (lbm_dstream_substream_entry_t
*) wmem_tree_lookup32_array(stream
->substream_list
, tkey
);
469 static lbm_dstream_substream_entry_t
* lbm_stream_dstream_substream_add(lbm_dstream_entry_t
* stream
, const address
* src_addr
, uint16_t src_port
, const address
* dst_addr
, uint16_t dst_port
, uint32_t stream_id
)
471 lbm_dstream_substream_entry_t
* entry
;
472 uint32_t keyval
[LBM_DSTREAM_SUBSTREAM_KEY_ELEMENT_COUNT
];
473 wmem_tree_key_t tkey
[2];
475 entry
= lbm_stream_dstream_substream_find(stream
, src_addr
, src_port
, dst_addr
, dst_port
, stream_id
);
480 entry
= wmem_new(wmem_file_scope(), lbm_dstream_substream_entry_t
);
481 copy_address_wmem(wmem_file_scope(), &(entry
->src_addr
), src_addr
);
482 entry
->src_port
= src_port
;
483 copy_address_wmem(wmem_file_scope(), &(entry
->dst_addr
), dst_addr
);
484 entry
->dst_port
= dst_port
;
485 entry
->lbm_stream_id
= stream_id
;
486 entry
->parent
= stream
;
487 entry
->substream_id
= stream
->next_substream_id
++;
488 entry
->first_frame
= ~((uint32_t)0);
489 entry
->last_frame
= 0;
492 lbm_dstream_substream_build_key(keyval
, tkey
, entry
);
493 wmem_tree_insert32_array(stream
->substream_list
, tkey
, (void *) entry
);
497 static void lbm_stream_dstream_substream_update(lbm_dstream_substream_entry_t
* substream
, uint16_t length
, uint32_t frame
)
499 substream
->messages
++;
500 substream
->parent
->messages
++;
501 substream
->bytes
+= (uint32_t)length
;
502 substream
->parent
->bytes
+= (uint32_t)length
;
503 if (frame
< substream
->first_frame
)
505 substream
->first_frame
= frame
;
507 if (frame
< substream
->parent
->first_frame
)
509 substream
->parent
->first_frame
= frame
;
511 if (frame
> substream
->last_frame
)
513 substream
->last_frame
= frame
;
515 if (frame
> substream
->parent
->last_frame
)
517 substream
->parent
->last_frame
= frame
;
521 /*----------------------------------------------------------------------------*/
522 /* Packet layouts. */
523 /*----------------------------------------------------------------------------*/
528 lbm_uint8_t ver_type
;
529 lbm_uint8_t next_hdr
;
534 #define O_LBMC_HDR_T_VER_TYPE OFFSETOF(lbmc_hdr_t, ver_type)
535 #define L_LBMC_HDR_T_VER_TYPE SIZEOF(lbmc_hdr_t, ver_type)
536 #define O_LBMC_HDR_T_NEXT_HDR OFFSETOF(lbmc_hdr_t, next_hdr)
537 #define L_LBMC_HDR_T_NEXT_HDR SIZEOF(lbmc_hdr_t, next_hdr)
538 #define O_LBMC_HDR_T_MSGLEN OFFSETOF(lbmc_hdr_t, msglen)
539 #define L_LBMC_HDR_T_MSGLEN SIZEOF(lbmc_hdr_t, msglen)
540 #define O_LBMC_HDR_T_TIDX OFFSETOF(lbmc_hdr_t, tidx)
541 #define L_LBMC_HDR_T_TIDX SIZEOF(lbmc_hdr_t, tidx)
542 #define O_LBMC_HDR_T_SQN OFFSETOF(lbmc_hdr_t, sqn)
543 #define L_LBMC_HDR_T_SQN SIZEOF(lbmc_hdr_t, sqn)
544 #define L_LBMC_HDR_T (int) sizeof(lbmc_hdr_t)
546 /* LBMC control header */
549 lbm_uint8_t ver_type
;
550 lbm_uint8_t next_hdr
;
553 #define O_LBMC_CNTL_HDR_T_VER_TYPE OFFSETOF(lbmc_cntl_hdr_t, ver_type)
554 #define L_LBMC_CNTL_HDR_T_VER_TYPE SIZEOF(lbmc_cntl_hdr_t, ver_type)
555 #define O_LBMC_CNTL_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_hdr_t, next_hdr)
556 #define L_LBMC_CNTL_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_hdr_t, next_hdr)
557 #define O_LBMC_CNTL_HDR_T_MSGLEN OFFSETOF(lbmc_cntl_hdr_t, msglen)
558 #define L_LBMC_CNTL_HDR_T_MSGLEN SIZEOF(lbmc_cntl_hdr_t, msglen)
559 #define L_LBMC_CNTL_HDR_T (int) sizeof(lbmc_cntl_hdr_t)
561 #define LBMC_HDR_VER_TYPE_VER_MASK 0xF0
562 #define LBMC_HDR_VER_TYPE_TYPE_MASK 0x0F
564 /* Minimal LBMC header */
567 lbm_uint8_t ver_type
;
568 lbm_uint8_t next_hdr
;
570 } lbmc_minimal_hdr_t
;
571 #define O_LBMC_MINIMAL_HDR_T_VER_TYPE OFFSETOF(lbmc_minimal_hdr_t, ver_type)
572 #define L_LBMC_MINIMAL_HDR_T_VER_TYPE SIZEOF(lbmc_minimal_hdr_t, ver_type)
573 #define O_LBMC_MINIMAL_HDR_T_NEXT_HDR OFFSETOF(lbmc_minimal_hdr_t, next_hdr)
574 #define L_LBMC_MINIMAL_HDR_T_NEXT_HDR SIZEOF(lbmc_minimal_hdr_t, next_hdr)
575 #define O_LBMC_MINIMAL_HDR_T_MSGLEN OFFSETOF(lbmc_minimal_hdr_t, msglen)
576 #define L_LBMC_MINIMAL_HDR_T_MSGLEN SIZEOF(lbmc_minimal_hdr_t, msglen)
577 #define L_LBMC_MINIMAL_HDR_T (int) sizeof(lbmc_minimal_hdr_t)
579 #define LBMC_HDR_VER(x) (x >> 4)
580 #define LBMC_HDR_TYPE(x) (x & 0xF)
582 /* LBMC basic header */
585 lbm_uint8_t next_hdr
;
589 #define O_LBMC_BASIC_HDR_T_NEXT_HDR OFFSETOF(lbmc_basic_hdr_t, next_hdr)
590 #define L_LBMC_BASIC_HDR_T_NEXT_HDR SIZEOF(lbmc_basic_hdr_t, next_hdr)
591 #define O_LBMC_BASIC_HDR_T_HDR_LEN OFFSETOF(lbmc_basic_hdr_t, hdr_len)
592 #define L_LBMC_BASIC_HDR_T_HDR_LEN SIZEOF(lbmc_basic_hdr_t, hdr_len)
593 #define O_LBMC_BASIC_HDR_T_RES OFFSETOF(lbmc_basic_hdr_t, res)
594 #define L_LBMC_BASIC_HDR_T_RES SIZEOF(lbmc_basic_hdr_t, res)
595 #define L_LBMC_BASIC_HDR_T (int) sizeof(lbmc_basic_hdr_t)
597 /* LBMC fragment header */
600 lbm_uint8_t next_hdr
;
603 lbm_uint32_t first_sqn
;
607 #define O_LBMC_FRAG_HDR_T_NEXT_HDR OFFSETOF(lbmc_frag_hdr_t, next_hdr)
608 #define L_LBMC_FRAG_HDR_T_NEXT_HDR SIZEOF(lbmc_frag_hdr_t, next_hdr)
609 #define O_LBMC_FRAG_HDR_T_HDR_LEN OFFSETOF(lbmc_frag_hdr_t, hdr_len)
610 #define L_LBMC_FRAG_HDR_T_HDR_LEN SIZEOF(lbmc_frag_hdr_t, hdr_len)
611 #define O_LBMC_FRAG_HDR_T_FLAGS OFFSETOF(lbmc_frag_hdr_t, flags)
612 #define L_LBMC_FRAG_HDR_T_FLAGS SIZEOF(lbmc_frag_hdr_t, flags)
613 #define O_LBMC_FRAG_HDR_T_FIRST_SQN OFFSETOF(lbmc_frag_hdr_t, first_sqn)
614 #define L_LBMC_FRAG_HDR_T_FIRST_SQN SIZEOF(lbmc_frag_hdr_t, first_sqn)
615 #define O_LBMC_FRAG_HDR_T_OFFSET OFFSETOF(lbmc_frag_hdr_t, offset)
616 #define L_LBMC_FRAG_HDR_T_OFFSET SIZEOF(lbmc_frag_hdr_t, offset)
617 #define O_LBMC_FRAG_HDR_T_LEN OFFSETOF(lbmc_frag_hdr_t, len)
618 #define L_LBMC_FRAG_HDR_T_LEN SIZEOF(lbmc_frag_hdr_t, len)
619 #define L_LBMC_FRAG_HDR_T (int) sizeof(lbmc_frag_hdr_t)
621 /* LBMC batch header */
624 lbm_uint8_t next_hdr
;
628 #define O_LBMC_BATCH_HDR_T_NEXT_HDR OFFSETOF(lbmc_batch_hdr_t, next_hdr)
629 #define L_LBMC_BATCH_HDR_T_NEXT_HDR SIZEOF(lbmc_batch_hdr_t, next_hdr)
630 #define O_LBMC_BATCH_HDR_T_HDR_LEN OFFSETOF(lbmc_batch_hdr_t, hdr_len)
631 #define L_LBMC_BATCH_HDR_T_HDR_LEN SIZEOF(lbmc_batch_hdr_t, hdr_len)
632 #define O_LBMC_BATCH_HDR_T_FLAGS OFFSETOF(lbmc_batch_hdr_t, flags)
633 #define L_LBMC_BATCH_HDR_T_FLAGS SIZEOF(lbmc_batch_hdr_t, flags)
634 #define L_LBMC_BATCH_HDR_T (int) sizeof(lbmc_batch_hdr_t)
636 /* LBMC TCP request header */
639 lbm_uint8_t next_hdr
;
642 lbm_uint8_t transport
;
645 lbm_uint16_t reserved
;
647 } lbmc_tcp_request_hdr_t
;
648 #define O_LBMC_TCP_REQUEST_HDR_T_NEXT_HDR OFFSETOF(lbmc_tcp_request_hdr_t, next_hdr)
649 #define L_LBMC_TCP_REQUEST_HDR_T_NEXT_HDR SIZEOF(lbmc_tcp_request_hdr_t, next_hdr)
650 #define O_LBMC_TCP_REQUEST_HDR_T_HDR_LEN OFFSETOF(lbmc_tcp_request_hdr_t, hdr_len)
651 #define L_LBMC_TCP_REQUEST_HDR_T_HDR_LEN SIZEOF(lbmc_tcp_request_hdr_t, hdr_len)
652 #define O_LBMC_TCP_REQUEST_HDR_T_FLAGS OFFSETOF(lbmc_tcp_request_hdr_t, res)
653 #define L_LBMC_TCP_REQUEST_HDR_T_FLAGS SIZEOF(lbmc_tcp_request_hdr_t, res)
654 #define O_LBMC_TCP_REQUEST_HDR_T_TRANSPORT OFFSETOF(lbmc_tcp_request_hdr_t, transport)
655 #define L_LBMC_TCP_REQUEST_HDR_T_TRANSPORT SIZEOF(lbmc_tcp_request_hdr_t, transport)
656 #define O_LBMC_TCP_REQUEST_HDR_T_QIDX OFFSETOF(lbmc_tcp_request_hdr_t, qidx)
657 #define L_LBMC_TCP_REQUEST_HDR_T_QIDX SIZEOF(lbmc_tcp_request_hdr_t, qidx)
658 #define O_LBMC_TCP_REQUEST_HDR_T_PORT OFFSETOF(lbmc_tcp_request_hdr_t, port)
659 #define L_LBMC_TCP_REQUEST_HDR_T_PORT SIZEOF(lbmc_tcp_request_hdr_t, port)
660 #define O_LBMC_TCP_REQUEST_HDR_T_RESERVED OFFSETOF(lbmc_tcp_request_hdr_t, reserved)
661 #define L_LBMC_TCP_REQUEST_HDR_T_RESERVED SIZEOF(lbmc_tcp_request_hdr_t, reserved)
662 #define O_LBMC_TCP_REQUEST_HDR_T_IPADDR OFFSETOF(lbmc_tcp_request_hdr_t, ipaddr)
663 #define L_LBMC_TCP_REQUEST_HDR_T_IPADDR SIZEOF(lbmc_tcp_request_hdr_t, ipaddr)
664 #define L_LBMC_TCP_REQUEST_HDR_T (int) sizeof(lbmc_tcp_request_hdr_t)
666 /* LBMC topicname header (an extension to lbmc_basic_hdr_t) */
667 #define O_LBMC_TOPICNAME_HDR_T_NEXT_HDR OFFSETOF(lbmc_basic_hdr_t, next_hdr)
668 #define L_LBMC_TOPICNAME_HDR_T_NEXT_HDR SIZEOF(lbmc_basic_hdr_t, next_hdr)
669 #define O_LBMC_TOPICNAME_HDR_T_HDR_LEN OFFSETOF(lbmc_basic_hdr_t, hdr_len)
670 #define L_LBMC_TOPICNAME_HDR_T_HDR_LEN SIZEOF(lbmc_basic_hdr_t, hdr_len)
671 #define O_LBMC_TOPICNAME_HDR_T_FLAGS OFFSETOF(lbmc_basic_hdr_t, res)
672 #define L_LBMC_TOPICNAME_HDR_T_FLAGS SIZEOF(lbmc_basic_hdr_t, res)
673 #define O_LBMC_TOPICNAME_HDR_T_TOPIC (OFFSETOF(lbmc_basic_hdr_t, res) + SIZEOF(lbmc_basic_hdr_t, res))
675 /* LBMC appheader header. */
676 #define O_LBMC_APPHDR_HDR_T_NEXT_HDR OFFSETOF(lbmc_basic_hdr_t, next_hdr)
677 #define L_LBMC_APPHDR_HDR_T_NEXT_HDR SIZEOF(lbmc_basic_hdr_t, next_hdr)
678 #define O_LBMC_APPHDR_HDR_T_HDR_LEN OFFSETOF(lbmc_basic_hdr_t, hdr_len)
679 #define L_LBMC_APPHDR_HDR_T_HDR_LEN SIZEOF(lbmc_basic_hdr_t, hdr_len)
680 #define O_LBMC_APPHDR_HDR_T_CODE OFFSETOF(lbmc_basic_hdr_t, res)
681 #define L_LBMC_APPHDR_HDR_T_CODE SIZEOF(lbmc_basic_hdr_t, res)
682 #define O_LBMC_APPHDR_HDR_T_DATA (OFFSETOF(lbmc_basic_hdr_t, res) + SIZEOF(lbmc_basic_hdr_t, res))
684 #define LBMC_APPHDR_CODE_MASK 0x7fff
686 /* LBMC appheader chain element */
689 lbm_uint8_t next_hdr
;
692 } lbmc_apphdr_chain_element_t
;
693 #define O_LBMC_APPHDR_CHAIN_ELEMENT_T_NEXT_HDR OFFSETOF(lbmc_apphdr_chain_element_t, next_hdr)
694 #define L_LBMC_APPHDR_CHAIN_ELEMENT_T_NEXT_HDR SIZEOF(lbmc_apphdr_chain_element_t, next_hdr)
695 #define O_LBMC_APPHDR_CHAIN_ELEMENT_T_HDR_LEN OFFSETOF(lbmc_apphdr_chain_element_t, hdr_len)
696 #define L_LBMC_APPHDR_CHAIN_ELEMENT_T_HDR_LEN SIZEOF(lbmc_apphdr_chain_element_t, hdr_len)
697 #define O_LBMC_APPHDR_CHAIN_ELEMENT_T_RES OFFSETOF(lbmc_apphdr_chain_element_t, res)
698 #define L_LBMC_APPHDR_CHAIN_ELEMENT_T_RES SIZEOF(lbmc_apphdr_chain_element_t, res)
699 #define L_LBMC_APPHDR_CHAIN_ELEMENT_T_MIN (int) sizeof(lbmc_apphdr_chain_element_t)
701 /* LBMC appheader chain message properties element */
704 lbm_uint8_t next_hdr
;
708 } lbmc_apphdr_chain_msgprop_element_t
;
709 #define O_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_NEXT_HDR OFFSETOF(lbmc_apphdr_chain_msgprop_element_t, next_hdr)
710 #define L_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_NEXT_HDR SIZEOF(lbmc_apphdr_chain_msgprop_element_t, next_hdr)
711 #define O_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_HDR_LEN OFFSETOF(lbmc_apphdr_chain_msgprop_element_t, hdr_len)
712 #define L_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_HDR_LEN SIZEOF(lbmc_apphdr_chain_msgprop_element_t, hdr_len)
713 #define O_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_RES OFFSETOF(lbmc_apphdr_chain_msgprop_element_t, res)
714 #define L_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_RES SIZEOF(lbmc_apphdr_chain_msgprop_element_t, res)
715 #define O_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_LEN OFFSETOF(lbmc_apphdr_chain_msgprop_element_t, len)
716 #define L_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_LEN SIZEOF(lbmc_apphdr_chain_msgprop_element_t, len)
717 #define L_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T (int) sizeof(lbmc_apphdr_chain_msgprop_element_t)
719 /* LBMC appheader chain header */
722 lbm_uint8_t next_hdr
;
725 lbm_uint8_t first_chain_hdr
;
726 } lbmc_apphdr_chain_hdr_t
;
727 #define O_LBMC_APPHDR_CHAIN_HDR_T_NEXT_HDR OFFSETOF(lbmc_apphdr_chain_hdr_t, next_hdr)
728 #define L_LBMC_APPHDR_CHAIN_HDR_T_NEXT_HDR SIZEOF(lbmc_apphdr_chain_hdr_t, next_hdr)
729 #define O_LBMC_APPHDR_CHAIN_HDR_T_HDR_LEN OFFSETOF(lbmc_apphdr_chain_hdr_t, hdr_len)
730 #define L_LBMC_APPHDR_CHAIN_HDR_T_HDR_LEN SIZEOF(lbmc_apphdr_chain_hdr_t, hdr_len)
731 #define O_LBMC_APPHDR_CHAIN_HDR_T_RES OFFSETOF(lbmc_apphdr_chain_hdr_t, res)
732 #define L_LBMC_APPHDR_CHAIN_HDR_T_RES SIZEOF(lbmc_apphdr_chain_hdr_t, res)
733 #define O_LBMC_APPHDR_CHAIN_HDR_T_FIRST_CHAIN_HDR OFFSETOF(lbmc_apphdr_chain_hdr_t, first_chain_hdr)
734 #define L_LBMC_APPHDR_CHAIN_HDR_T_FIRST_CHAIN_HDR SIZEOF(lbmc_apphdr_chain_hdr_t, first_chain_hdr)
735 #define L_LBMC_APPHDR_CHAIN_HDR_T (int) sizeof(lbmc_apphdr_chain_hdr_t)
737 /* LBMC UMQ Message ID header */
740 lbm_uint8_t next_hdr
;
743 lbm_uint8_t msgid_regid
[8];
744 lbm_uint8_t msgid_stamp
[8];
745 } lbmc_umq_msgid_hdr_t
;
746 #define O_LBMC_UMQ_MSGID_HDR_T_NEXT_HDR OFFSETOF(lbmc_umq_msgid_hdr_t, next_hdr)
747 #define L_LBMC_UMQ_MSGID_HDR_T_NEXT_HDR SIZEOF(lbmc_umq_msgid_hdr_t, next_hdr)
748 #define O_LBMC_UMQ_MSGID_HDR_T_HDR_LEN OFFSETOF(lbmc_umq_msgid_hdr_t, hdr_len)
749 #define L_LBMC_UMQ_MSGID_HDR_T_HDR_LEN SIZEOF(lbmc_umq_msgid_hdr_t, hdr_len)
750 #define O_LBMC_UMQ_MSGID_HDR_T_FLAGS OFFSETOF(lbmc_umq_msgid_hdr_t, flags)
751 #define L_LBMC_UMQ_MSGID_HDR_T_FLAGS SIZEOF(lbmc_umq_msgid_hdr_t, flags)
752 #define O_LBMC_UMQ_MSGID_HDR_T_MSGID_REGID OFFSETOF(lbmc_umq_msgid_hdr_t, msgid_regid)
753 #define L_LBMC_UMQ_MSGID_HDR_T_MSGID_REGID SIZEOF(lbmc_umq_msgid_hdr_t, msgid_regid)
754 #define O_LBMC_UMQ_MSGID_HDR_T_MSGID_STAMP OFFSETOF(lbmc_umq_msgid_hdr_t, msgid_stamp)
755 #define L_LBMC_UMQ_MSGID_HDR_T_MSGID_STAMP SIZEOF(lbmc_umq_msgid_hdr_t, msgid_stamp)
756 #define L_LBMC_UMQ_MSGID_HDR_T (int) sizeof(lbmc_umq_msgid_hdr_t)
758 /* LBMC UMQ SQD receive header */
761 lbm_uint8_t next_hdr
;
764 lbm_uint32_t queue_id
;
765 lbm_uint32_t queue_ver
;
766 lbm_uint32_t rcr_idx
;
767 lbm_uint32_t assign_id
;
768 } lbmc_umq_sqd_rcv_hdr_t
;
769 #define O_LBMC_UMQ_SQD_RCV_HDR_T_NEXT_HDR OFFSETOF(lbmc_umq_sqd_rcv_hdr_t, next_hdr)
770 #define L_LBMC_UMQ_SQD_RCV_HDR_T_NEXT_HDR SIZEOF(lbmc_umq_sqd_rcv_hdr_t, next_hdr)
771 #define O_LBMC_UMQ_SQD_RCV_HDR_T_HDR_LEN OFFSETOF(lbmc_umq_sqd_rcv_hdr_t, hdr_len)
772 #define L_LBMC_UMQ_SQD_RCV_HDR_T_HDR_LEN SIZEOF(lbmc_umq_sqd_rcv_hdr_t, hdr_len)
773 #define O_LBMC_UMQ_SQD_RCV_HDR_T_FLAGS OFFSETOF(lbmc_umq_sqd_rcv_hdr_t, flags)
774 #define L_LBMC_UMQ_SQD_RCV_HDR_T_FLAGS SIZEOF(lbmc_umq_sqd_rcv_hdr_t, flags)
775 #define O_LBMC_UMQ_SQD_RCV_HDR_T_QUEUE_ID OFFSETOF(lbmc_umq_sqd_rcv_hdr_t, queue_id)
776 #define L_LBMC_UMQ_SQD_RCV_HDR_T_QUEUE_ID SIZEOF(lbmc_umq_sqd_rcv_hdr_t, queue_id)
777 #define O_LBMC_UMQ_SQD_RCV_HDR_T_QUEUE_VER OFFSETOF(lbmc_umq_sqd_rcv_hdr_t, queue_ver)
778 #define L_LBMC_UMQ_SQD_RCV_HDR_T_QUEUE_VER SIZEOF(lbmc_umq_sqd_rcv_hdr_t, queue_ver)
779 #define O_LBMC_UMQ_SQD_RCV_HDR_T_RCR_IDX OFFSETOF(lbmc_umq_sqd_rcv_hdr_t, rcr_idx)
780 #define L_LBMC_UMQ_SQD_RCV_HDR_T_RCR_IDX SIZEOF(lbmc_umq_sqd_rcv_hdr_t, rcr_idx)
781 #define O_LBMC_UMQ_SQD_RCV_HDR_T_ASSIGN_ID OFFSETOF(lbmc_umq_sqd_rcv_hdr_t, assign_id)
782 #define L_LBMC_UMQ_SQD_RCV_HDR_T_ASSIGN_ID SIZEOF(lbmc_umq_sqd_rcv_hdr_t, assign_id)
783 #define L_LBMC_UMQ_SQD_RCV_HDR_T (int) sizeof(lbmc_umq_sqd_rcv_hdr_t)
785 /* LBMC UMQ resubmission header */
788 lbm_uint8_t next_hdr
;
791 lbm_uint32_t rcr_idx
;
792 lbm_uint32_t resp_ip
;
793 lbm_uint16_t resp_port
;
794 lbm_uint16_t appset_idx
;
795 } lbmc_umq_resub_hdr_t
;
796 #define O_LBMC_UMQ_RESUB_HDR_T_NEXT_HDR OFFSETOF(lbmc_umq_resub_hdr_t, next_hdr)
797 #define L_LBMC_UMQ_RESUB_HDR_T_NEXT_HDR SIZEOF(lbmc_umq_resub_hdr_t, next_hdr)
798 #define O_LBMC_UMQ_RESUB_HDR_T_HDR_LEN OFFSETOF(lbmc_umq_resub_hdr_t, hdr_len)
799 #define L_LBMC_UMQ_RESUB_HDR_T_HDR_LEN SIZEOF(lbmc_umq_resub_hdr_t, hdr_len)
800 #define O_LBMC_UMQ_RESUB_HDR_T_FLAGS OFFSETOF(lbmc_umq_resub_hdr_t, flags)
801 #define L_LBMC_UMQ_RESUB_HDR_T_FLAGS SIZEOF(lbmc_umq_resub_hdr_t, flags)
802 #define O_LBMC_UMQ_RESUB_HDR_T_RCR_IDX OFFSETOF(lbmc_umq_resub_hdr_t, rcr_idx)
803 #define L_LBMC_UMQ_RESUB_HDR_T_RCR_IDX SIZEOF(lbmc_umq_resub_hdr_t, rcr_idx)
804 #define O_LBMC_UMQ_RESUB_HDR_T_RESP_IP OFFSETOF(lbmc_umq_resub_hdr_t, resp_ip)
805 #define L_LBMC_UMQ_RESUB_HDR_T_RESP_IP SIZEOF(lbmc_umq_resub_hdr_t, resp_ip)
806 #define O_LBMC_UMQ_RESUB_HDR_T_RESP_PORT OFFSETOF(lbmc_umq_resub_hdr_t, resp_port)
807 #define L_LBMC_UMQ_RESUB_HDR_T_RESP_PORT SIZEOF(lbmc_umq_resub_hdr_t, resp_port)
808 #define O_LBMC_UMQ_RESUB_HDR_T_APPSET_IDX OFFSETOF(lbmc_umq_resub_hdr_t, appset_idx)
809 #define L_LBMC_UMQ_RESUB_HDR_T_APPSET_IDX SIZEOF(lbmc_umq_resub_hdr_t, appset_idx)
810 #define L_LBMC_UMQ_RESUB_HDR_T (int) sizeof(lbmc_umq_resub_hdr_t)
812 /* LBMC originating transport ID header */
815 lbm_uint8_t next_hdr
;
818 lbm_uint8_t otid
[LBM_OTID_BLOCK_SZ
];
820 #define O_LBMC_OTID_HDR_T_NEXT_HDR OFFSETOF(lbmc_otid_hdr_t, next_hdr)
821 #define L_LBMC_OTID_HDR_T_NEXT_HDR SIZEOF(lbmc_otid_hdr_t, next_hdr)
822 #define O_LBMC_OTID_HDR_T_HDR_LEN OFFSETOF(lbmc_otid_hdr_t, hdr_len)
823 #define L_LBMC_OTID_HDR_T_HDR_LEN SIZEOF(lbmc_otid_hdr_t, hdr_len)
824 #define O_LBMC_OTID_HDR_T_FLAGS OFFSETOF(lbmc_otid_hdr_t, flags)
825 #define L_LBMC_OTID_HDR_T_FLAGS SIZEOF(lbmc_otid_hdr_t, flags)
826 #define O_LBMC_OTID_HDR_T_OTID OFFSETOF(lbmc_otid_hdr_t, otid)
827 #define L_LBMC_OTID_HDR_T_OTID SIZEOF(lbmc_otid_hdr_t, otid)
828 #define L_LBMC_OTID_HDR_T (int) sizeof(lbmc_otid_hdr_t)
830 /* LBMC context instance header(s) */
833 lbm_uint8_t next_hdr
;
836 lbm_uint8_t ctxinst
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
837 } lbmc_ctxinst_hdr_t
;
838 #define O_LBMC_CTXINST_HDR_T_NEXT_HDR OFFSETOF(lbmc_ctxinst_hdr_t, next_hdr)
839 #define L_LBMC_CTXINST_HDR_T_NEXT_HDR SIZEOF(lbmc_ctxinst_hdr_t, next_hdr)
840 #define O_LBMC_CTXINST_HDR_T_HDR_LEN OFFSETOF(lbmc_ctxinst_hdr_t, hdr_len)
841 #define L_LBMC_CTXINST_HDR_T_HDR_LEN SIZEOF(lbmc_ctxinst_hdr_t, hdr_len)
842 #define O_LBMC_CTXINST_HDR_T_FLAGS OFFSETOF(lbmc_ctxinst_hdr_t, flags)
843 #define L_LBMC_CTXINST_HDR_T_FLAGS SIZEOF(lbmc_ctxinst_hdr_t, flags)
844 #define O_LBMC_CTXINST_HDR_T_CTXINST OFFSETOF(lbmc_ctxinst_hdr_t, ctxinst)
845 #define L_LBMC_CTXINST_HDR_T_CTXINST SIZEOF(lbmc_ctxinst_hdr_t, ctxinst)
846 #define L_LBMC_CTXINST_HDR_T (int) sizeof(lbmc_ctxinst_hdr_t)
848 /* LBMC source index header */
851 lbm_uint8_t next_hdr
;
856 #define O_LBMC_SRCIDX_HDR_T_NEXT_HDR OFFSETOF(lbmc_srcidx_hdr_t, next_hdr)
857 #define L_LBMC_SRCIDX_HDR_T_NEXT_HDR SIZEOF(lbmc_srcidx_hdr_t, next_hdr)
858 #define O_LBMC_SRCIDX_HDR_T_HDR_LEN OFFSETOF(lbmc_srcidx_hdr_t, hdr_len)
859 #define L_LBMC_SRCIDX_HDR_T_HDR_LEN SIZEOF(lbmc_srcidx_hdr_t, hdr_len)
860 #define O_LBMC_SRCIDX_HDR_T_FLAGS OFFSETOF(lbmc_srcidx_hdr_t, flags)
861 #define L_LBMC_SRCIDX_HDR_T_FLAGS SIZEOF(lbmc_srcidx_hdr_t, flags)
862 #define O_LBMC_SRCIDX_HDR_T_SRCIDX OFFSETOF(lbmc_srcidx_hdr_t, srcidx)
863 #define L_LBMC_SRCIDX_HDR_T_SRCIDX SIZEOF(lbmc_srcidx_hdr_t, srcidx)
864 #define L_LBMC_SRCIDX_HDR_T (int) sizeof(lbmc_srcidx_hdr_t)
866 /* LBMC UMQ ULB message header */
869 lbm_uint8_t next_hdr
;
872 lbm_uint32_t queue_id
;
873 lbm_uint32_t ulb_src_id
;
874 lbm_uint32_t assign_id
;
875 lbm_uint16_t appset_idx
;
876 lbm_uint16_t num_ras
;
877 } lbmc_umq_ulb_msg_hdr_t
;
878 #define O_LBMC_UMQ_ULB_MSG_HDR_T_NEXT_HDR OFFSETOF(lbmc_umq_ulb_msg_hdr_t, next_hdr)
879 #define L_LBMC_UMQ_ULB_MSG_HDR_T_NEXT_HDR SIZEOF(lbmc_umq_ulb_msg_hdr_t, next_hdr)
880 #define O_LBMC_UMQ_ULB_MSG_HDR_T_HDR_LEN OFFSETOF(lbmc_umq_ulb_msg_hdr_t, hdr_len)
881 #define L_LBMC_UMQ_ULB_MSG_HDR_T_HDR_LEN SIZEOF(lbmc_umq_ulb_msg_hdr_t, hdr_len)
882 #define O_LBMC_UMQ_ULB_MSG_HDR_T_FLAGS OFFSETOF(lbmc_umq_ulb_msg_hdr_t, flags)
883 #define L_LBMC_UMQ_ULB_MSG_HDR_T_FLAGS SIZEOF(lbmc_umq_ulb_msg_hdr_t, flags)
884 #define O_LBMC_UMQ_ULB_MSG_HDR_T_QUEUE_ID OFFSETOF(lbmc_umq_ulb_msg_hdr_t, queue_id)
885 #define L_LBMC_UMQ_ULB_MSG_HDR_T_QUEUE_ID SIZEOF(lbmc_umq_ulb_msg_hdr_t, queue_id)
886 #define O_LBMC_UMQ_ULB_MSG_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_umq_ulb_msg_hdr_t, ulb_src_id)
887 #define L_LBMC_UMQ_ULB_MSG_HDR_T_ULB_SRC_ID SIZEOF(lbmc_umq_ulb_msg_hdr_t, ulb_src_id)
888 #define O_LBMC_UMQ_ULB_MSG_HDR_T_ASSIGN_ID OFFSETOF(lbmc_umq_ulb_msg_hdr_t, assign_id)
889 #define L_LBMC_UMQ_ULB_MSG_HDR_T_ASSIGN_ID SIZEOF(lbmc_umq_ulb_msg_hdr_t, assign_id)
890 #define O_LBMC_UMQ_ULB_MSG_HDR_T_APPSET_IDX OFFSETOF(lbmc_umq_ulb_msg_hdr_t, appset_idx)
891 #define L_LBMC_UMQ_ULB_MSG_HDR_T_APPSET_IDX SIZEOF(lbmc_umq_ulb_msg_hdr_t, appset_idx)
892 #define O_LBMC_UMQ_ULB_MSG_HDR_T_NUM_RAS OFFSETOF(lbmc_umq_ulb_msg_hdr_t, num_ras)
893 #define L_LBMC_UMQ_ULB_MSG_HDR_T_NUM_RAS SIZEOF(lbmc_umq_ulb_msg_hdr_t, num_ras)
894 #define L_LBMC_UMQ_ULB_MSG_HDR_T (int) sizeof(lbmc_umq_ulb_msg_hdr_t)
896 /* LBMC control source-side filtering initialization header */
899 lbm_uint8_t next_hdr
;
902 lbm_uint8_t transport
;
903 lbm_uint32_t transport_idx
;
904 lbm_uint32_t client_idx
;
905 lbm_uint16_t ssf_port
;
908 } lbmc_cntl_ssf_init_hdr_t
;
909 #define O_LBMC_CNTL_SSF_INIT_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ssf_init_hdr_t, next_hdr)
910 #define L_LBMC_CNTL_SSF_INIT_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ssf_init_hdr_t, next_hdr)
911 #define O_LBMC_CNTL_SSF_INIT_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ssf_init_hdr_t, hdr_len)
912 #define L_LBMC_CNTL_SSF_INIT_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ssf_init_hdr_t, hdr_len)
913 #define O_LBMC_CNTL_SSF_INIT_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ssf_init_hdr_t, flags)
914 #define L_LBMC_CNTL_SSF_INIT_HDR_T_FLAGS SIZEOF(lbmc_cntl_ssf_init_hdr_t, flags)
915 #define O_LBMC_CNTL_SSF_INIT_HDR_T_TRANSPORT OFFSETOF(lbmc_cntl_ssf_init_hdr_t, transport)
916 #define L_LBMC_CNTL_SSF_INIT_HDR_T_TRANSPORT SIZEOF(lbmc_cntl_ssf_init_hdr_t, transport)
917 #define O_LBMC_CNTL_SSF_INIT_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_ssf_init_hdr_t, transport_idx)
918 #define L_LBMC_CNTL_SSF_INIT_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_ssf_init_hdr_t, transport_idx)
919 #define O_LBMC_CNTL_SSF_INIT_HDR_T_CLIENT_IDX OFFSETOF(lbmc_cntl_ssf_init_hdr_t, client_idx)
920 #define L_LBMC_CNTL_SSF_INIT_HDR_T_CLIENT_IDX SIZEOF(lbmc_cntl_ssf_init_hdr_t, client_idx)
921 #define O_LBMC_CNTL_SSF_INIT_HDR_T_SSF_PORT OFFSETOF(lbmc_cntl_ssf_init_hdr_t, ssf_port)
922 #define L_LBMC_CNTL_SSF_INIT_HDR_T_SSF_PORT SIZEOF(lbmc_cntl_ssf_init_hdr_t, ssf_port)
923 #define O_LBMC_CNTL_SSF_INIT_HDR_T_RES OFFSETOF(lbmc_cntl_ssf_init_hdr_t, res)
924 #define L_LBMC_CNTL_SSF_INIT_HDR_T_RES SIZEOF(lbmc_cntl_ssf_init_hdr_t, res)
925 #define O_LBMC_CNTL_SSF_INIT_HDR_T_SSF_IP OFFSETOF(lbmc_cntl_ssf_init_hdr_t, ssf_ip)
926 #define L_LBMC_CNTL_SSF_INIT_HDR_T_SSF_IP SIZEOF(lbmc_cntl_ssf_init_hdr_t, ssf_ip)
927 #define L_LBMC_CNTL_SSF_INIT_HDR_T (int) sizeof(lbmc_cntl_ssf_init_hdr_t)
929 /* LBMC control source-side filtering control request header */
932 lbm_uint8_t next_hdr
;
936 lbm_uint32_t transport_idx
;
937 lbm_uint32_t topic_idx
;
938 lbm_uint32_t client_idx
;
939 } lbmc_cntl_ssf_creq_hdr_t
;
940 #define O_LBMC_CNTL_SSF_CREQ_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ssf_creq_hdr_t, next_hdr)
941 #define L_LBMC_CNTL_SSF_CREQ_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ssf_creq_hdr_t, next_hdr)
942 #define O_LBMC_CNTL_SSF_CREQ_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ssf_creq_hdr_t, hdr_len)
943 #define L_LBMC_CNTL_SSF_CREQ_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ssf_creq_hdr_t, hdr_len)
944 #define O_LBMC_CNTL_SSF_CREQ_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ssf_creq_hdr_t, res)
945 #define L_LBMC_CNTL_SSF_CREQ_HDR_T_FLAGS SIZEOF(lbmc_cntl_ssf_creq_hdr_t, res)
946 #define O_LBMC_CNTL_SSF_CREQ_HDR_T_MODE OFFSETOF(lbmc_cntl_ssf_creq_hdr_t, mode)
947 #define L_LBMC_CNTL_SSF_CREQ_HDR_T_MODE SIZEOF(lbmc_cntl_ssf_creq_hdr_t, mode)
948 #define O_LBMC_CNTL_SSF_CREQ_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_ssf_creq_hdr_t, transport_idx)
949 #define L_LBMC_CNTL_SSF_CREQ_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_ssf_creq_hdr_t, transport_idx)
950 #define O_LBMC_CNTL_SSF_CREQ_HDR_T_TOPIC_IDX OFFSETOF(lbmc_cntl_ssf_creq_hdr_t, topic_idx)
951 #define L_LBMC_CNTL_SSF_CREQ_HDR_T_TOPIC_IDX SIZEOF(lbmc_cntl_ssf_creq_hdr_t, topic_idx)
952 #define O_LBMC_CNTL_SSF_CREQ_HDR_T_CLIENT_IDX OFFSETOF(lbmc_cntl_ssf_creq_hdr_t, client_idx)
953 #define L_LBMC_CNTL_SSF_CREQ_HDR_T_CLIENT_IDX SIZEOF(lbmc_cntl_ssf_creq_hdr_t, client_idx)
954 #define L_LBMC_CNTL_SSF_CREQ_HDR_T (int) sizeof(lbmc_cntl_ssf_creq_hdr_t)
956 /* LBMC control UME persistent registration header */
959 lbm_uint8_t next_hdr
;
964 lbm_uint32_t transport_idx
;
965 lbm_uint32_t topic_idx
;
966 lbm_uint32_t src_reg_id
;
967 lbm_uint16_t resp_port
;
969 lbm_uint32_t resp_ip
;
970 } lbmc_cntl_ume_preg_hdr_t
;
971 #define O_LBMC_CNTL_UME_PREG_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_preg_hdr_t, next_hdr)
972 #define L_LBMC_CNTL_UME_PREG_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_preg_hdr_t, next_hdr)
973 #define O_LBMC_CNTL_UME_PREG_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_preg_hdr_t, hdr_len)
974 #define L_LBMC_CNTL_UME_PREG_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_preg_hdr_t, hdr_len)
975 #define O_LBMC_CNTL_UME_PREG_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_preg_hdr_t, flags)
976 #define L_LBMC_CNTL_UME_PREG_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_preg_hdr_t, flags)
977 #define O_LBMC_CNTL_UME_PREG_HDR_T_MARKER OFFSETOF(lbmc_cntl_ume_preg_hdr_t, marker)
978 #define L_LBMC_CNTL_UME_PREG_HDR_T_MARKER SIZEOF(lbmc_cntl_ume_preg_hdr_t, marker)
979 #define O_LBMC_CNTL_UME_PREG_HDR_T_REG_ID OFFSETOF(lbmc_cntl_ume_preg_hdr_t, reg_id)
980 #define L_LBMC_CNTL_UME_PREG_HDR_T_REG_ID SIZEOF(lbmc_cntl_ume_preg_hdr_t, reg_id)
981 #define O_LBMC_CNTL_UME_PREG_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_ume_preg_hdr_t, transport_idx)
982 #define L_LBMC_CNTL_UME_PREG_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_ume_preg_hdr_t, transport_idx)
983 #define O_LBMC_CNTL_UME_PREG_HDR_T_TOPIC_IDX OFFSETOF(lbmc_cntl_ume_preg_hdr_t, topic_idx)
984 #define L_LBMC_CNTL_UME_PREG_HDR_T_TOPIC_IDX SIZEOF(lbmc_cntl_ume_preg_hdr_t, topic_idx)
985 #define O_LBMC_CNTL_UME_PREG_HDR_T_SRC_REG_ID OFFSETOF(lbmc_cntl_ume_preg_hdr_t, src_reg_id)
986 #define L_LBMC_CNTL_UME_PREG_HDR_T_SRC_REG_ID SIZEOF(lbmc_cntl_ume_preg_hdr_t, src_reg_id)
987 #define O_LBMC_CNTL_UME_PREG_HDR_T_RESP_PORT OFFSETOF(lbmc_cntl_ume_preg_hdr_t, resp_port)
988 #define L_LBMC_CNTL_UME_PREG_HDR_T_RESP_PORT SIZEOF(lbmc_cntl_ume_preg_hdr_t, resp_port)
989 #define O_LBMC_CNTL_UME_PREG_HDR_T_RES2 OFFSETOF(lbmc_cntl_ume_preg_hdr_t, res2)
990 #define L_LBMC_CNTL_UME_PREG_HDR_T_RES2 SIZEOF(lbmc_cntl_ume_preg_hdr_t, res2)
991 #define O_LBMC_CNTL_UME_PREG_HDR_T_RESP_IP OFFSETOF(lbmc_cntl_ume_preg_hdr_t, resp_ip)
992 #define L_LBMC_CNTL_UME_PREG_HDR_T_RESP_IP SIZEOF(lbmc_cntl_ume_preg_hdr_t, resp_ip)
993 #define L_LBMC_CNTL_UME_PREG_HDR_T (int) sizeof(lbmc_cntl_ume_preg_hdr_t)
995 #define LBMC_CNTL_UME_PREG_MARKER(x) (x & 0x7F)
996 #define LBMC_CNTL_UME_PREG_MARKER_MASK 0x7F
998 /* LBMC control UME persistent registration response header */
1001 lbm_uint8_t next_hdr
;
1002 lbm_uint8_t hdr_len
;
1005 lbm_uint32_t reg_id
;
1006 lbm_uint32_t transport_idx
;
1007 lbm_uint32_t topic_idx
;
1008 lbm_uint32_t low_seqnum
;
1009 lbm_uint32_t high_seqnum
;
1010 } lbmc_cntl_ume_preg_resp_hdr_t
;
1011 #define O_LBMC_CNTL_UME_PREG_RESP_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_preg_resp_hdr_t, next_hdr)
1012 #define L_LBMC_CNTL_UME_PREG_RESP_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_preg_resp_hdr_t, next_hdr)
1013 #define O_LBMC_CNTL_UME_PREG_RESP_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_preg_resp_hdr_t, hdr_len)
1014 #define L_LBMC_CNTL_UME_PREG_RESP_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_preg_resp_hdr_t, hdr_len)
1015 #define O_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE OFFSETOF(lbmc_cntl_ume_preg_resp_hdr_t, code)
1016 #define L_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE SIZEOF(lbmc_cntl_ume_preg_resp_hdr_t, code)
1017 #define O_LBMC_CNTL_UME_PREG_RESP_HDR_T_MARKER OFFSETOF(lbmc_cntl_ume_preg_resp_hdr_t, marker)
1018 #define L_LBMC_CNTL_UME_PREG_RESP_HDR_T_MARKER SIZEOF(lbmc_cntl_ume_preg_resp_hdr_t, marker)
1019 #define O_LBMC_CNTL_UME_PREG_RESP_HDR_T_REG_ID OFFSETOF(lbmc_cntl_ume_preg_resp_hdr_t, reg_id)
1020 #define L_LBMC_CNTL_UME_PREG_RESP_HDR_T_REG_ID SIZEOF(lbmc_cntl_ume_preg_resp_hdr_t, reg_id)
1021 #define O_LBMC_CNTL_UME_PREG_RESP_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_ume_preg_resp_hdr_t, transport_idx)
1022 #define L_LBMC_CNTL_UME_PREG_RESP_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_ume_preg_resp_hdr_t, transport_idx)
1023 #define O_LBMC_CNTL_UME_PREG_RESP_HDR_T_TOPIC_IDX OFFSETOF(lbmc_cntl_ume_preg_resp_hdr_t, topic_idx)
1024 #define L_LBMC_CNTL_UME_PREG_RESP_HDR_T_TOPIC_IDX SIZEOF(lbmc_cntl_ume_preg_resp_hdr_t, topic_idx)
1025 #define O_LBMC_CNTL_UME_PREG_RESP_HDR_T_LOW_SEQNUM OFFSETOF(lbmc_cntl_ume_preg_resp_hdr_t, low_seqnum)
1026 #define L_LBMC_CNTL_UME_PREG_RESP_HDR_T_LOW_SEQNUM SIZEOF(lbmc_cntl_ume_preg_resp_hdr_t, low_seqnum)
1027 #define O_LBMC_CNTL_UME_PREG_RESP_HDR_T_HIGH_SEQNUM OFFSETOF(lbmc_cntl_ume_preg_resp_hdr_t, high_seqnum)
1028 #define L_LBMC_CNTL_UME_PREG_RESP_HDR_T_HIGH_SEQNUM SIZEOF(lbmc_cntl_ume_preg_resp_hdr_t, high_seqnum)
1029 #define L_LBMC_CNTL_UME_PREG_RESP_HDR_T (int) sizeof(lbmc_cntl_ume_preg_resp_hdr_t)
1031 #define LBMC_CNTL_UME_PREG_RESP_CODE(x) (x & 0x0F)
1032 #define LBMC_CNTL_UME_PREG_RESP_CODE_MASK 0x0F
1034 /* LBMC control UME acknowledgement header */
1037 lbm_uint8_t next_hdr
;
1038 lbm_uint8_t hdr_len
;
1041 lbm_uint32_t transport_idx
;
1043 lbm_uint32_t rcv_reg_id
;
1044 lbm_uint32_t seqnum
;
1045 } lbmc_cntl_ume_ack_hdr_t
;
1046 #define O_LBMC_CNTL_UME_ACK_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_ack_hdr_t, next_hdr)
1047 #define L_LBMC_CNTL_UME_ACK_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_ack_hdr_t, next_hdr)
1048 #define O_LBMC_CNTL_UME_ACK_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_ack_hdr_t, hdr_len)
1049 #define L_LBMC_CNTL_UME_ACK_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_ack_hdr_t, hdr_len)
1050 #define O_LBMC_CNTL_UME_ACK_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_ack_hdr_t, flags)
1051 #define L_LBMC_CNTL_UME_ACK_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_ack_hdr_t, flags)
1052 #define O_LBMC_CNTL_UME_ACK_HDR_T_TYPE OFFSETOF(lbmc_cntl_ume_ack_hdr_t, type)
1053 #define L_LBMC_CNTL_UME_ACK_HDR_T_TYPE SIZEOF(lbmc_cntl_ume_ack_hdr_t, type)
1054 #define O_LBMC_CNTL_UME_ACK_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_ume_ack_hdr_t, transport_idx)
1055 #define L_LBMC_CNTL_UME_ACK_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_ume_ack_hdr_t, transport_idx)
1056 #define O_LBMC_CNTL_UME_ACK_HDR_T_ID_2 OFFSETOF(lbmc_cntl_ume_ack_hdr_t, id_2)
1057 #define L_LBMC_CNTL_UME_ACK_HDR_T_ID_2 SIZEOF(lbmc_cntl_ume_ack_hdr_t, id_2)
1058 #define O_LBMC_CNTL_UME_ACK_HDR_T_RCV_REG_ID OFFSETOF(lbmc_cntl_ume_ack_hdr_t, rcv_reg_id)
1059 #define L_LBMC_CNTL_UME_ACK_HDR_T_RCV_REG_ID SIZEOF(lbmc_cntl_ume_ack_hdr_t, rcv_reg_id)
1060 #define O_LBMC_CNTL_UME_ACK_HDR_T_SEQNUM OFFSETOF(lbmc_cntl_ume_ack_hdr_t, seqnum)
1061 #define L_LBMC_CNTL_UME_ACK_HDR_T_SEQNUM SIZEOF(lbmc_cntl_ume_ack_hdr_t, seqnum)
1062 #define L_LBMC_CNTL_UME_ACK_HDR_T (int) sizeof(lbmc_cntl_ume_ack_hdr_t)
1064 /* LBMC control UME ranged acknowledgement header */
1067 lbm_uint8_t next_hdr
;
1068 lbm_uint8_t hdr_len
;
1070 lbm_uint32_t first_seqnum
;
1071 lbm_uint32_t last_seqnum
;
1072 } lbmc_cntl_ume_ranged_ack_hdr_t
;
1073 #define O_LBMC_CNTL_UME_RANGED_ACK_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_ranged_ack_hdr_t, next_hdr)
1074 #define L_LBMC_CNTL_UME_RANGED_ACK_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_ranged_ack_hdr_t, next_hdr)
1075 #define O_LBMC_CNTL_UME_RANGED_ACK_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_ranged_ack_hdr_t, hdr_len)
1076 #define L_LBMC_CNTL_UME_RANGED_ACK_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_ranged_ack_hdr_t, hdr_len)
1077 #define O_LBMC_CNTL_UME_RANGED_ACK_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_ranged_ack_hdr_t, flags)
1078 #define L_LBMC_CNTL_UME_RANGED_ACK_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_ranged_ack_hdr_t, flags)
1079 #define O_LBMC_CNTL_UME_RANGED_ACK_HDR_T_FIRST_SEQNUM OFFSETOF(lbmc_cntl_ume_ranged_ack_hdr_t, first_seqnum)
1080 #define L_LBMC_CNTL_UME_RANGED_ACK_HDR_T_FIRST_SEQNUM SIZEOF(lbmc_cntl_ume_ranged_ack_hdr_t, first_seqnum)
1081 #define O_LBMC_CNTL_UME_RANGED_ACK_HDR_T_LAST_SEQNUM OFFSETOF(lbmc_cntl_ume_ranged_ack_hdr_t, last_seqnum)
1082 #define L_LBMC_CNTL_UME_RANGED_ACK_HDR_T_LAST_SEQNUM SIZEOF(lbmc_cntl_ume_ranged_ack_hdr_t, last_seqnum)
1083 #define L_LBMC_CNTL_UME_RANGED_ACK_HDR_T (int) sizeof(lbmc_cntl_ume_ranged_ack_hdr_t)
1085 /* LBMC control UME acknowledgement ID header */
1088 lbm_uint8_t next_hdr
;
1089 lbm_uint8_t hdr_len
;
1092 } lbmc_cntl_ume_ack_id_hdr_t
;
1093 #define O_LBMC_CNTL_UME_ACK_ID_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_ack_id_hdr_t, next_hdr)
1094 #define L_LBMC_CNTL_UME_ACK_ID_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_ack_id_hdr_t, next_hdr)
1095 #define O_LBMC_CNTL_UME_ACK_ID_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_ack_id_hdr_t, hdr_len)
1096 #define L_LBMC_CNTL_UME_ACK_ID_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_ack_id_hdr_t, hdr_len)
1097 #define O_LBMC_CNTL_UME_ACK_ID_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_ack_id_hdr_t, flags)
1098 #define L_LBMC_CNTL_UME_ACK_ID_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_ack_id_hdr_t, flags)
1099 #define O_LBMC_CNTL_UME_ACK_ID_HDR_T_ID OFFSETOF(lbmc_cntl_ume_ack_id_hdr_t, id)
1100 #define L_LBMC_CNTL_UME_ACK_ID_HDR_T_ID SIZEOF(lbmc_cntl_ume_ack_id_hdr_t, id)
1101 #define L_LBMC_CNTL_UME_ACK_ID_HDR_T (int) sizeof(lbmc_cntl_ume_ack_id_hdr_t)
1103 /* LBMC control UME retransmission request header */
1106 lbm_uint8_t next_hdr
;
1107 lbm_uint8_t hdr_len
;
1109 lbm_uint32_t request_idx
;
1110 lbm_uint32_t transport_idx
;
1112 lbm_uint32_t seqnum
;
1113 lbm_uint16_t rx_port
;
1116 } lbmc_cntl_ume_rxreq_hdr_t
;
1117 #define O_LBMC_CNTL_UME_RXREQ_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_rxreq_hdr_t, next_hdr)
1118 #define L_LBMC_CNTL_UME_RXREQ_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_rxreq_hdr_t, next_hdr)
1119 #define O_LBMC_CNTL_UME_RXREQ_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_rxreq_hdr_t, hdr_len)
1120 #define L_LBMC_CNTL_UME_RXREQ_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_rxreq_hdr_t, hdr_len)
1121 #define O_LBMC_CNTL_UME_RXREQ_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_rxreq_hdr_t, flags)
1122 #define L_LBMC_CNTL_UME_RXREQ_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_rxreq_hdr_t, flags)
1123 #define O_LBMC_CNTL_UME_RXREQ_HDR_T_REQUEST_IDX OFFSETOF(lbmc_cntl_ume_rxreq_hdr_t, request_idx)
1124 #define L_LBMC_CNTL_UME_RXREQ_HDR_T_REQUEST_IDX SIZEOF(lbmc_cntl_ume_rxreq_hdr_t, request_idx)
1125 #define O_LBMC_CNTL_UME_RXREQ_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_ume_rxreq_hdr_t, transport_idx)
1126 #define L_LBMC_CNTL_UME_RXREQ_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_ume_rxreq_hdr_t, transport_idx)
1127 #define O_LBMC_CNTL_UME_RXREQ_HDR_T_ID_2 OFFSETOF(lbmc_cntl_ume_rxreq_hdr_t, id_2)
1128 #define L_LBMC_CNTL_UME_RXREQ_HDR_T_ID_2 SIZEOF(lbmc_cntl_ume_rxreq_hdr_t, id_2)
1129 #define O_LBMC_CNTL_UME_RXREQ_HDR_T_SEQNUM OFFSETOF(lbmc_cntl_ume_rxreq_hdr_t, seqnum)
1130 #define L_LBMC_CNTL_UME_RXREQ_HDR_T_SEQNUM SIZEOF(lbmc_cntl_ume_rxreq_hdr_t, seqnum)
1131 #define O_LBMC_CNTL_UME_RXREQ_HDR_T_RX_PORT OFFSETOF(lbmc_cntl_ume_rxreq_hdr_t, rx_port)
1132 #define L_LBMC_CNTL_UME_RXREQ_HDR_T_RX_PORT SIZEOF(lbmc_cntl_ume_rxreq_hdr_t, rx_port)
1133 #define O_LBMC_CNTL_UME_RXREQ_HDR_T_RES OFFSETOF(lbmc_cntl_ume_rxreq_hdr_t, res)
1134 #define L_LBMC_CNTL_UME_RXREQ_HDR_T_RES SIZEOF(lbmc_cntl_ume_rxreq_hdr_t, res)
1135 #define O_LBMC_CNTL_UME_RXREQ_HDR_T_RX_IP OFFSETOF(lbmc_cntl_ume_rxreq_hdr_t, rx_ip)
1136 #define L_LBMC_CNTL_UME_RXREQ_HDR_T_RX_IP SIZEOF(lbmc_cntl_ume_rxreq_hdr_t, rx_ip)
1137 #define L_LBMC_CNTL_UME_RXREQ_HDR_T (int) sizeof(lbmc_cntl_ume_rxreq_hdr_t)
1139 /* LBMC control late join initiation request */
1142 lbm_uint8_t next_hdr
;
1143 lbm_uint8_t hdr_len
;
1145 lbm_uint32_t request_idx
;
1146 lbm_uint32_t transport_idx
;
1147 lbm_uint32_t topic_idx
;
1148 lbm_uint32_t req_ip
;
1149 lbm_uint16_t req_port
;
1151 lbm_uint32_t tx_low_sqn
;
1152 lbm_uint32_t rx_req_max
;
1153 lbm_uint32_t rx_req_outstanding_max
;
1154 } lbmc_cntl_lji_req_hdr_t
;
1155 #define O_LBMC_CNTL_LJI_REQ_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_lji_req_hdr_t, next_hdr)
1156 #define L_LBMC_CNTL_LJI_REQ_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_lji_req_hdr_t, next_hdr)
1157 #define O_LBMC_CNTL_LJI_REQ_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_lji_req_hdr_t, hdr_len)
1158 #define L_LBMC_CNTL_LJI_REQ_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_lji_req_hdr_t, hdr_len)
1159 #define O_LBMC_CNTL_LJI_REQ_HDR_T_FLAGS OFFSETOF(lbmc_cntl_lji_req_hdr_t, flags)
1160 #define L_LBMC_CNTL_LJI_REQ_HDR_T_FLAGS SIZEOF(lbmc_cntl_lji_req_hdr_t, flags)
1161 #define O_LBMC_CNTL_LJI_REQ_HDR_T_REQUEST_IDX OFFSETOF(lbmc_cntl_lji_req_hdr_t, request_idx)
1162 #define L_LBMC_CNTL_LJI_REQ_HDR_T_REQUEST_IDX SIZEOF(lbmc_cntl_lji_req_hdr_t, request_idx)
1163 #define O_LBMC_CNTL_LJI_REQ_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_lji_req_hdr_t, transport_idx)
1164 #define L_LBMC_CNTL_LJI_REQ_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_lji_req_hdr_t, transport_idx)
1165 #define O_LBMC_CNTL_LJI_REQ_HDR_T_TOPIC_IDX OFFSETOF(lbmc_cntl_lji_req_hdr_t, topic_idx)
1166 #define L_LBMC_CNTL_LJI_REQ_HDR_T_TOPIC_IDX SIZEOF(lbmc_cntl_lji_req_hdr_t, topic_idx)
1167 #define O_LBMC_CNTL_LJI_REQ_HDR_T_REQ_IP OFFSETOF(lbmc_cntl_lji_req_hdr_t, req_ip)
1168 #define L_LBMC_CNTL_LJI_REQ_HDR_T_REQ_IP SIZEOF(lbmc_cntl_lji_req_hdr_t, req_ip)
1169 #define O_LBMC_CNTL_LJI_REQ_HDR_T_REQ_PORT OFFSETOF(lbmc_cntl_lji_req_hdr_t, req_port)
1170 #define L_LBMC_CNTL_LJI_REQ_HDR_T_REQ_PORT SIZEOF(lbmc_cntl_lji_req_hdr_t, req_port)
1171 #define O_LBMC_CNTL_LJI_REQ_HDR_T_RES OFFSETOF(lbmc_cntl_lji_req_hdr_t, res)
1172 #define L_LBMC_CNTL_LJI_REQ_HDR_T_RES SIZEOF(lbmc_cntl_lji_req_hdr_t, res)
1173 #define O_LBMC_CNTL_LJI_REQ_HDR_T_TX_LOW_SQN OFFSETOF(lbmc_cntl_lji_req_hdr_t, tx_low_sqn)
1174 #define L_LBMC_CNTL_LJI_REQ_HDR_T_TX_LOW_SQN SIZEOF(lbmc_cntl_lji_req_hdr_t, tx_low_sqn)
1175 #define O_LBMC_CNTL_LJI_REQ_HDR_T_RX_REQ_MAX OFFSETOF(lbmc_cntl_lji_req_hdr_t, rx_req_max)
1176 #define L_LBMC_CNTL_LJI_REQ_HDR_T_RX_REQ_MAX SIZEOF(lbmc_cntl_lji_req_hdr_t, rx_req_max)
1177 #define O_LBMC_CNTL_LJI_REQ_HDR_T_RX_REQ_OUTSTANDING_MAX OFFSETOF(lbmc_cntl_lji_req_hdr_t, rx_req_outstanding_max)
1178 #define L_LBMC_CNTL_LJI_REQ_HDR_T_RX_REQ_OUTSTANDING_MAX SIZEOF(lbmc_cntl_lji_req_hdr_t, rx_req_outstanding_max)
1179 #define O_LBMC_CNTL_LJI_REQ_HDR_T_FLAGS OFFSETOF(lbmc_cntl_lji_req_hdr_t, flags)
1180 #define L_LBMC_CNTL_LJI_REQ_HDR_T_FLAGS SIZEOF(lbmc_cntl_lji_req_hdr_t, flags)
1181 #define L_LBMC_CNTL_LJI_REQ_HDR_T (int) sizeof(lbmc_cntl_lji_req_hdr_t)
1183 /* LBMC control UME keepalive header */
1186 lbm_uint8_t next_hdr
;
1187 lbm_uint8_t hdr_len
;
1190 lbm_uint32_t transport_idx
;
1191 lbm_uint32_t topic_idx
;
1192 lbm_uint32_t reg_id
;
1193 } lbmc_cntl_ume_keepalive_hdr_t
;
1194 #define O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_keepalive_hdr_t, next_hdr)
1195 #define L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_keepalive_hdr_t, next_hdr)
1196 #define O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_keepalive_hdr_t, hdr_len)
1197 #define L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_keepalive_hdr_t, hdr_len)
1198 #define O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_keepalive_hdr_t, flags)
1199 #define L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_keepalive_hdr_t, flags)
1200 #define O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TYPE OFFSETOF(lbmc_cntl_ume_keepalive_hdr_t, type)
1201 #define L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TYPE SIZEOF(lbmc_cntl_ume_keepalive_hdr_t, type)
1202 #define O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_ume_keepalive_hdr_t, transport_idx)
1203 #define L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_ume_keepalive_hdr_t, transport_idx)
1204 #define O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TOPIC_IDX OFFSETOF(lbmc_cntl_ume_keepalive_hdr_t, topic_idx)
1205 #define L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TOPIC_IDX SIZEOF(lbmc_cntl_ume_keepalive_hdr_t, topic_idx)
1206 #define O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_REG_ID OFFSETOF(lbmc_cntl_ume_keepalive_hdr_t, reg_id)
1207 #define L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_REG_ID SIZEOF(lbmc_cntl_ume_keepalive_hdr_t, reg_id)
1208 #define L_LBMC_CNTL_UME_KEEPALIVE_HDR_T (int) sizeof(lbmc_cntl_ume_keepalive_hdr_t)
1210 /* LBMC control UME store ID header */
1213 lbm_uint8_t next_hdr
;
1214 lbm_uint8_t hdr_len
;
1215 lbm_uint16_t store_id
;
1216 } lbmc_cntl_ume_storeid_hdr_t
;
1217 #define O_LBMC_CNTL_UME_STOREID_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_storeid_hdr_t, next_hdr)
1218 #define L_LBMC_CNTL_UME_STOREID_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_storeid_hdr_t, next_hdr)
1219 #define O_LBMC_CNTL_UME_STOREID_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_storeid_hdr_t, hdr_len)
1220 #define L_LBMC_CNTL_UME_STOREID_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_storeid_hdr_t, hdr_len)
1221 #define O_LBMC_CNTL_UME_STOREID_HDR_T_STORE_ID OFFSETOF(lbmc_cntl_ume_storeid_hdr_t, store_id)
1222 #define L_LBMC_CNTL_UME_STOREID_HDR_T_STORE_ID SIZEOF(lbmc_cntl_ume_storeid_hdr_t, store_id)
1223 #define L_LBMC_CNTL_UME_STOREID_HDR_T (int) sizeof(lbmc_cntl_ume_storeid_hdr_t)
1225 #define LBMC_CNTL_UME_STOREID_STOREID(x) (x & 0x7FFF)
1226 #define LBMC_CNTL_UME_STOREID_STOREID_MASK 0x7FFF
1228 /* LBMC control UME capability header */
1231 lbm_uint8_t next_hdr
;
1232 lbm_uint8_t hdr_len
;
1234 } lbmc_cntl_ume_capability_hdr_t
;
1235 #define O_LBMC_CNTL_UME_CAPABILITY_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_capability_hdr_t, next_hdr)
1236 #define L_LBMC_CNTL_UME_CAPABILITY_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_capability_hdr_t, next_hdr)
1237 #define O_LBMC_CNTL_UME_CAPABILITY_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_capability_hdr_t, hdr_len)
1238 #define L_LBMC_CNTL_UME_CAPABILITY_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_capability_hdr_t, hdr_len)
1239 #define O_LBMC_CNTL_UME_CAPABILITY_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_capability_hdr_t, flags)
1240 #define L_LBMC_CNTL_UME_CAPABILITY_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_capability_hdr_t, flags)
1241 #define L_LBMC_CNTL_UME_CAPABILITY_HDR_T (int) sizeof(lbmc_cntl_ume_capability_hdr_t)
1243 /* LBMC control UME Proxy Source header */
1246 lbm_uint8_t next_hdr
;
1247 lbm_uint8_t hdr_len
;
1249 } lbmc_cntl_ume_proxy_src_hdr_t
;
1250 #define O_LBMC_CNTL_UME_PROXY_SRC_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_proxy_src_hdr_t, next_hdr)
1251 #define L_LBMC_CNTL_UME_PROXY_SRC_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_proxy_src_hdr_t, next_hdr)
1252 #define O_LBMC_CNTL_UME_PROXY_SRC_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_proxy_src_hdr_t, hdr_len)
1253 #define L_LBMC_CNTL_UME_PROXY_SRC_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_proxy_src_hdr_t, hdr_len)
1254 #define O_LBMC_CNTL_UME_PROXY_SRC_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_proxy_src_hdr_t, flags)
1255 #define L_LBMC_CNTL_UME_PROXY_SRC_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_proxy_src_hdr_t, flags)
1256 #define L_LBMC_CNTL_UME_PROXY_SRC_HDR_T (int) sizeof(lbmc_cntl_ume_proxy_src_hdr_t)
1258 /* LBMC control UME Store header */
1261 lbm_uint8_t next_hdr
;
1262 lbm_uint8_t hdr_len
;
1264 lbm_uint8_t grp_idx
;
1265 lbm_uint16_t store_tcp_port
;
1266 lbm_uint16_t store_idx
;
1267 lbm_uint32_t store_ip_addr
;
1268 lbm_uint32_t src_reg_id
;
1269 } lbmc_cntl_ume_store_hdr_t
;
1270 #define O_LBMC_CNTL_UME_STORE_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_store_hdr_t, next_hdr)
1271 #define L_LBMC_CNTL_UME_STORE_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_store_hdr_t, next_hdr)
1272 #define O_LBMC_CNTL_UME_STORE_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_store_hdr_t, hdr_len)
1273 #define L_LBMC_CNTL_UME_STORE_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_store_hdr_t, hdr_len)
1274 #define O_LBMC_CNTL_UME_STORE_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_store_hdr_t, flags)
1275 #define L_LBMC_CNTL_UME_STORE_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_store_hdr_t, flags)
1276 #define O_LBMC_CNTL_UME_STORE_HDR_T_GRP_IDX OFFSETOF(lbmc_cntl_ume_store_hdr_t, grp_idx)
1277 #define L_LBMC_CNTL_UME_STORE_HDR_T_GRP_IDX SIZEOF(lbmc_cntl_ume_store_hdr_t, grp_idx)
1278 #define O_LBMC_CNTL_UME_STORE_HDR_T_STORE_TCP_PORT OFFSETOF(lbmc_cntl_ume_store_hdr_t, store_tcp_port)
1279 #define L_LBMC_CNTL_UME_STORE_HDR_T_STORE_TCP_PORT SIZEOF(lbmc_cntl_ume_store_hdr_t, store_tcp_port)
1280 #define O_LBMC_CNTL_UME_STORE_HDR_T_STORE_IDX OFFSETOF(lbmc_cntl_ume_store_hdr_t, store_idx)
1281 #define L_LBMC_CNTL_UME_STORE_HDR_T_STORE_IDX SIZEOF(lbmc_cntl_ume_store_hdr_t, store_idx)
1282 #define O_LBMC_CNTL_UME_STORE_HDR_T_STORE_IP_ADDR OFFSETOF(lbmc_cntl_ume_store_hdr_t, store_ip_addr)
1283 #define L_LBMC_CNTL_UME_STORE_HDR_T_STORE_IP_ADDR SIZEOF(lbmc_cntl_ume_store_hdr_t, store_ip_addr)
1284 #define O_LBMC_CNTL_UME_STORE_HDR_T_SRC_REG_ID OFFSETOF(lbmc_cntl_ume_store_hdr_t, src_reg_id)
1285 #define L_LBMC_CNTL_UME_STORE_HDR_T_SRC_REG_ID SIZEOF(lbmc_cntl_ume_store_hdr_t, src_reg_id)
1286 #define L_LBMC_CNTL_UME_STORE_HDR_T (int) sizeof(lbmc_cntl_ume_store_hdr_t)
1288 /* LBMC control UME Store Extended header */
1291 lbm_uint8_t next_hdr
;
1292 lbm_uint8_t hdr_len
;
1294 lbm_uint8_t grp_idx
;
1295 lbm_uint16_t store_tcp_port
;
1296 lbm_uint16_t store_idx
;
1297 lbm_uint32_t store_ip_addr
;
1298 lbm_uint32_t src_reg_id
;
1299 lbm_uint32_t domain_id
;
1300 lbm_uint32_t version
;
1301 } lbmc_cntl_ume_store_ext_hdr_t
;
1302 #define O_LBMC_CNTL_UME_STORE_EXT_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_store_ext_hdr_t, next_hdr)
1303 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_store_ext_hdr_t, next_hdr)
1304 #define O_LBMC_CNTL_UME_STORE_EXT_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_store_ext_hdr_t, hdr_len)
1305 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_store_ext_hdr_t, hdr_len)
1306 #define O_LBMC_CNTL_UME_STORE_EXT_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_store_ext_hdr_t, flags)
1307 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_store_ext_hdr_t, flags)
1308 #define O_LBMC_CNTL_UME_STORE_EXT_HDR_T_GRP_IDX OFFSETOF(lbmc_cntl_ume_store_ext_hdr_t, grp_idx)
1309 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T_GRP_IDX SIZEOF(lbmc_cntl_ume_store_ext_hdr_t, grp_idx)
1310 #define O_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_TCP_PORT OFFSETOF(lbmc_cntl_ume_store_ext_hdr_t, store_tcp_port)
1311 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_TCP_PORT SIZEOF(lbmc_cntl_ume_store_ext_hdr_t, store_tcp_port)
1312 #define O_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_IDX OFFSETOF(lbmc_cntl_ume_store_ext_hdr_t, store_idx)
1313 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_IDX SIZEOF(lbmc_cntl_ume_store_ext_hdr_t, store_idx)
1314 #define O_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_IP_ADDR OFFSETOF(lbmc_cntl_ume_store_ext_hdr_t, store_ip_addr)
1315 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_IP_ADDR SIZEOF(lbmc_cntl_ume_store_ext_hdr_t, store_ip_addr)
1316 #define O_LBMC_CNTL_UME_STORE_EXT_HDR_T_SRC_REG_ID OFFSETOF(lbmc_cntl_ume_store_ext_hdr_t, src_reg_id)
1317 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T_SRC_REG_ID SIZEOF(lbmc_cntl_ume_store_ext_hdr_t, src_reg_id)
1318 #define O_LBMC_CNTL_UME_STORE_EXT_HDR_T_DOMAIN_ID OFFSETOF(lbmc_cntl_ume_store_ext_hdr_t, domain_id)
1319 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T_DOMAIN_ID SIZEOF(lbmc_cntl_ume_store_ext_hdr_t, domain_id)
1320 #define O_LBMC_CNTL_UME_STORE_EXT_HDR_T_VERSION OFFSETOF(lbmc_cntl_ume_store_ext_hdr_t, version)
1321 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T_VERSION SIZEOF(lbmc_cntl_ume_store_ext_hdr_t, version)
1322 #define L_LBMC_CNTL_UME_STORE_EXT_HDR_T (int) sizeof(lbmc_cntl_ume_store_ext_hdr_t)
1324 /* LBMC control UME Late Join info header */
1327 lbm_uint8_t next_hdr
;
1328 lbm_uint8_t hdr_len
;
1330 lbm_uint32_t low_seqnum
;
1331 lbm_uint32_t high_seqnum
;
1333 } lbmc_cntl_ume_lj_info_hdr_t
;
1334 #define O_LBMC_CNTL_UME_LJ_INFO_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_lj_info_hdr_t, next_hdr)
1335 #define L_LBMC_CNTL_UME_LJ_INFO_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_lj_info_hdr_t, next_hdr)
1336 #define O_LBMC_CNTL_UME_LJ_INFO_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_lj_info_hdr_t, hdr_len)
1337 #define L_LBMC_CNTL_UME_LJ_INFO_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_lj_info_hdr_t, hdr_len)
1338 #define O_LBMC_CNTL_UME_LJ_INFO_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_lj_info_hdr_t, flags)
1339 #define L_LBMC_CNTL_UME_LJ_INFO_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_lj_info_hdr_t, flags)
1340 #define O_LBMC_CNTL_UME_LJ_INFO_HDR_T_LOW_SEQNUM OFFSETOF(lbmc_cntl_ume_lj_info_hdr_t, low_seqnum)
1341 #define L_LBMC_CNTL_UME_LJ_INFO_HDR_T_LOW_SEQNUM SIZEOF(lbmc_cntl_ume_lj_info_hdr_t, low_seqnum)
1342 #define O_LBMC_CNTL_UME_LJ_INFO_HDR_T_HIGH_SEQNUM OFFSETOF(lbmc_cntl_ume_lj_info_hdr_t, high_seqnum)
1343 #define L_LBMC_CNTL_UME_LJ_INFO_HDR_T_HIGH_SEQNUM SIZEOF(lbmc_cntl_ume_lj_info_hdr_t, high_seqnum)
1344 #define O_LBMC_CNTL_UME_LJ_INFO_HDR_T_QIDX OFFSETOF(lbmc_cntl_ume_lj_info_hdr_t, qidx)
1345 #define L_LBMC_CNTL_UME_LJ_INFO_HDR_T_QIDX SIZEOF(lbmc_cntl_ume_lj_info_hdr_t, qidx)
1346 #define L_LBMC_CNTL_UME_LJ_INFO_HDR_T (int) sizeof(lbmc_cntl_ume_lj_info_hdr_t)
1348 /* LBMC control UME Store Group header */
1351 lbm_uint8_t next_hdr
;
1352 lbm_uint8_t hdr_len
;
1354 lbm_uint8_t grp_idx
;
1355 lbm_uint16_t grp_sz
;
1357 } lbmc_cntl_ume_store_group_hdr_t
;
1358 #define O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_store_group_hdr_t, next_hdr)
1359 #define L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_store_group_hdr_t, next_hdr)
1360 #define O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_store_group_hdr_t, hdr_len)
1361 #define L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_store_group_hdr_t, hdr_len)
1362 #define O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_store_group_hdr_t, flags)
1363 #define L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_store_group_hdr_t, flags)
1364 #define O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_GRP_IDX OFFSETOF(lbmc_cntl_ume_store_group_hdr_t, grp_idx)
1365 #define L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_GRP_IDX SIZEOF(lbmc_cntl_ume_store_group_hdr_t, grp_idx)
1366 #define O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_GRP_SZ OFFSETOF(lbmc_cntl_ume_store_group_hdr_t, grp_sz)
1367 #define L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_GRP_SZ SIZEOF(lbmc_cntl_ume_store_group_hdr_t, grp_sz)
1368 #define O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_RES1 OFFSETOF(lbmc_cntl_ume_store_group_hdr_t, res1)
1369 #define L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_RES1 SIZEOF(lbmc_cntl_ume_store_group_hdr_t, res1)
1370 #define L_LBMC_CNTL_UME_STORE_GROUP_HDR_T (int) sizeof(lbmc_cntl_ume_store_group_hdr_t)
1372 /* LBMC control TSNI header */
1375 lbm_uint8_t next_hdr
;
1376 lbm_uint8_t hdr_len
;
1377 lbm_uint16_t num_recs
;
1378 } lbmc_cntl_tsni_hdr_t
;
1379 #define O_LBMC_CNTL_TSNI_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_tsni_hdr_t, next_hdr)
1380 #define L_LBMC_CNTL_TSNI_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_tsni_hdr_t, next_hdr)
1381 #define O_LBMC_CNTL_TSNI_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_tsni_hdr_t, hdr_len)
1382 #define L_LBMC_CNTL_TSNI_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_tsni_hdr_t, hdr_len)
1383 #define O_LBMC_CNTL_TSNI_HDR_T_NUM_RECS OFFSETOF(lbmc_cntl_tsni_hdr_t, num_recs)
1384 #define L_LBMC_CNTL_TSNI_HDR_T_NUM_RECS SIZEOF(lbmc_cntl_tsni_hdr_t, num_recs)
1385 #define L_LBMC_CNTL_TSNI_HDR_T (int) sizeof(lbmc_cntl_tsni_hdr_t)
1387 #define LBMC_CNTL_TSNI_NUM_RECS_MASK 0x7fff
1393 } lbmc_cntl_tsni_rec_hdr_t
;
1394 #define O_LBMC_CNTL_TSNI_REC_HDR_T_TIDX OFFSETOF(lbmc_cntl_tsni_rec_hdr_t, tidx)
1395 #define L_LBMC_CNTL_TSNI_REC_HDR_T_TIDX SIZEOF(lbmc_cntl_tsni_rec_hdr_t, tidx)
1396 #define O_LBMC_CNTL_TSNI_REC_HDR_T_SQN OFFSETOF(lbmc_cntl_tsni_rec_hdr_t, sqn)
1397 #define L_LBMC_CNTL_TSNI_REC_HDR_T_SQN SIZEOF(lbmc_cntl_tsni_rec_hdr_t, sqn)
1398 #define L_LBMC_CNTL_TSNI_REC_HDR_T (int) sizeof(lbmc_cntl_tsni_rec_hdr_t)
1400 /* LBMC control UMQ registration header(s) */
1404 lbm_uint16_t reserved
;
1406 lbm_uint32_t capabilities
;
1407 } lbmc_cntl_umq_reg_ctx_hdr_t
;
1408 #define O_LBMC_CNTL_UMQ_REG_CTX_HDR_T_PORT OFFSETOF(lbmc_cntl_umq_reg_ctx_hdr_t, port)
1409 #define L_LBMC_CNTL_UMQ_REG_CTX_HDR_T_PORT SIZEOF(lbmc_cntl_umq_reg_ctx_hdr_t, port)
1410 #define O_LBMC_CNTL_UMQ_REG_CTX_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_reg_ctx_hdr_t, reserved)
1411 #define L_LBMC_CNTL_UMQ_REG_CTX_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_reg_ctx_hdr_t, reserved)
1412 #define O_LBMC_CNTL_UMQ_REG_CTX_HDR_T_IP OFFSETOF(lbmc_cntl_umq_reg_ctx_hdr_t, ip)
1413 #define L_LBMC_CNTL_UMQ_REG_CTX_HDR_T_IP SIZEOF(lbmc_cntl_umq_reg_ctx_hdr_t, ip)
1414 #define O_LBMC_CNTL_UMQ_REG_CTX_HDR_T_CAPABILITIES OFFSETOF(lbmc_cntl_umq_reg_ctx_hdr_t, capabilities)
1415 #define L_LBMC_CNTL_UMQ_REG_CTX_HDR_T_CAPABILITIES SIZEOF(lbmc_cntl_umq_reg_ctx_hdr_t, capabilities)
1416 #define L_LBMC_CNTL_UMQ_REG_CTX_HDR_T (int) sizeof(lbmc_cntl_umq_reg_ctx_hdr_t)
1420 lbm_uint32_t transport_idx
;
1421 lbm_uint32_t topic_idx
;
1422 } lbmc_cntl_umq_reg_src_hdr_t
;
1423 #define O_LBMC_CNTL_UMQ_REG_SRC_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_umq_reg_src_hdr_t, transport_idx)
1424 #define L_LBMC_CNTL_UMQ_REG_SRC_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_umq_reg_src_hdr_t, transport_idx)
1425 #define O_LBMC_CNTL_UMQ_REG_SRC_HDR_T_TOPIC_IDX OFFSETOF(lbmc_cntl_umq_reg_src_hdr_t, topic_idx)
1426 #define L_LBMC_CNTL_UMQ_REG_SRC_HDR_T_TOPIC_IDX SIZEOF(lbmc_cntl_umq_reg_src_hdr_t, topic_idx)
1427 #define L_LBMC_CNTL_UMQ_REG_SRC_HDR_T (int) sizeof(lbmc_cntl_umq_reg_src_hdr_t)
1431 lbm_uint32_t assign_id
;
1432 lbm_uint32_t rcv_type_id
;
1433 lbm_uint32_t last_topic_rcr_tsp
;
1434 } lbmc_cntl_umq_reg_rcv_hdr_t
;
1435 #define O_LBMC_CNTL_UMQ_REG_RCV_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_reg_rcv_hdr_t, assign_id)
1436 #define L_LBMC_CNTL_UMQ_REG_RCV_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_reg_rcv_hdr_t, assign_id)
1437 #define O_LBMC_CNTL_UMQ_REG_RCV_HDR_T_RCV_TYPE_ID OFFSETOF(lbmc_cntl_umq_reg_rcv_hdr_t, rcv_type_id)
1438 #define L_LBMC_CNTL_UMQ_REG_RCV_HDR_T_RCV_TYPE_ID SIZEOF(lbmc_cntl_umq_reg_rcv_hdr_t, rcv_type_id)
1439 #define O_LBMC_CNTL_UMQ_REG_RCV_HDR_T_LAST_TOPIC_RCR_TSP OFFSETOF(lbmc_cntl_umq_reg_rcv_hdr_t, last_topic_rcr_tsp)
1440 #define L_LBMC_CNTL_UMQ_REG_RCV_HDR_T_LAST_TOPIC_RCR_TSP SIZEOF(lbmc_cntl_umq_reg_rcv_hdr_t, last_topic_rcr_tsp)
1441 #define L_LBMC_CNTL_UMQ_REG_RCV_HDR_T (int) sizeof(lbmc_cntl_umq_reg_rcv_hdr_t)
1445 lbm_uint32_t rcr_idx
;
1446 lbm_uint32_t assign_id
;
1447 } lbmc_cntl_umq_rcv_dereg_hdr_t
;
1448 #define O_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_rcv_dereg_hdr_t, rcr_idx)
1449 #define L_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_rcv_dereg_hdr_t, rcr_idx)
1450 #define O_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rcv_dereg_hdr_t, assign_id)
1451 #define L_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rcv_dereg_hdr_t, assign_id)
1452 #define L_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T (int) sizeof(lbmc_cntl_umq_rcv_dereg_hdr_t)
1456 lbm_uint32_t ulb_src_id
;
1457 lbm_uint32_t assign_id
;
1458 lbm_uint32_t rcv_type_id
;
1460 lbm_uint16_t reserved
;
1462 lbm_uint32_t capabilities
;
1463 } lbmc_cntl_umq_reg_ulb_rcv_hdr_t
;
1464 #define O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, ulb_src_id)
1465 #define L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, ulb_src_id)
1466 #define O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, assign_id)
1467 #define L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, assign_id)
1468 #define O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_RCV_TYPE_ID OFFSETOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, rcv_type_id)
1469 #define L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_RCV_TYPE_ID SIZEOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, rcv_type_id)
1470 #define O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_PORT OFFSETOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, port)
1471 #define L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_PORT SIZEOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, port)
1472 #define O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, reserved)
1473 #define L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, reserved)
1474 #define O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_IP OFFSETOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, ip)
1475 #define L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_IP SIZEOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, ip)
1476 #define O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_CAPABILITIES OFFSETOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, capabilities)
1477 #define L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_CAPABILITIES SIZEOF(lbmc_cntl_umq_reg_ulb_rcv_hdr_t, capabilities)
1478 #define L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T (int) sizeof(lbmc_cntl_umq_reg_ulb_rcv_hdr_t)
1482 lbm_uint32_t ulb_src_id
;
1483 lbm_uint32_t assign_id
;
1484 } lbmc_cntl_umq_ulb_rcv_dereg_hdr_t
;
1485 #define O_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_ulb_rcv_dereg_hdr_t, ulb_src_id)
1486 #define L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_ulb_rcv_dereg_hdr_t, ulb_src_id)
1487 #define O_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ulb_rcv_dereg_hdr_t, assign_id)
1488 #define L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ulb_rcv_dereg_hdr_t, assign_id)
1489 #define L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T (int) sizeof(lbmc_cntl_umq_ulb_rcv_dereg_hdr_t)
1493 lbm_uint32_t assign_id
;
1494 lbm_uint32_t rcv_type_id
;
1495 lbm_uint32_t last_topic_rcr_tsp
;
1496 } lbmc_cntl_umq_reg_observer_rcv_hdr_t
;
1497 #define O_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_reg_observer_rcv_hdr_t, assign_id)
1498 #define L_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_reg_observer_rcv_hdr_t, assign_id)
1499 #define O_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_RCV_TYPE_ID OFFSETOF(lbmc_cntl_umq_reg_observer_rcv_hdr_t, rcv_type_id)
1500 #define L_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_RCV_TYPE_ID SIZEOF(lbmc_cntl_umq_reg_observer_rcv_hdr_t, rcv_type_id)
1501 #define O_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_LAST_TOPIC_RCR_TSP OFFSETOF(lbmc_cntl_umq_reg_observer_rcv_hdr_t, last_topic_rcr_tsp)
1502 #define L_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_LAST_TOPIC_RCR_TSP SIZEOF(lbmc_cntl_umq_reg_observer_rcv_hdr_t, last_topic_rcr_tsp)
1503 #define L_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T (int) sizeof(lbmc_cntl_umq_reg_observer_rcv_hdr_t)
1507 lbm_uint32_t rcr_idx
;
1508 lbm_uint32_t assign_id
;
1509 } lbmc_cntl_umq_observer_rcv_dereg_hdr_t
;
1510 #define O_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_observer_rcv_dereg_hdr_t, rcr_idx)
1511 #define L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_observer_rcv_dereg_hdr_t, rcr_idx)
1512 #define O_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_observer_rcv_dereg_hdr_t, assign_id)
1513 #define L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_observer_rcv_dereg_hdr_t, assign_id)
1514 #define L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T (int) sizeof(lbmc_cntl_umq_observer_rcv_dereg_hdr_t)
1518 lbm_uint8_t next_hdr
;
1519 lbm_uint8_t hdr_len
;
1521 lbm_uint8_t reg_type
;
1522 lbm_uint32_t queue_id
;
1523 lbm_uint16_t cmd_id
;
1524 lbm_uint16_t inst_idx
;
1525 lbm_uint8_t regid
[8];
1526 } lbmc_cntl_umq_reg_hdr_t
;
1527 #define O_LBMC_CNTL_UMQ_REG_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_reg_hdr_t, next_hdr)
1528 #define L_LBMC_CNTL_UMQ_REG_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_reg_hdr_t, next_hdr)
1529 #define O_LBMC_CNTL_UMQ_REG_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_reg_hdr_t, hdr_len)
1530 #define L_LBMC_CNTL_UMQ_REG_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_reg_hdr_t, hdr_len)
1531 #define O_LBMC_CNTL_UMQ_REG_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_reg_hdr_t, flags)
1532 #define L_LBMC_CNTL_UMQ_REG_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_reg_hdr_t, flags)
1533 #define O_LBMC_CNTL_UMQ_REG_HDR_T_REG_TYPE OFFSETOF(lbmc_cntl_umq_reg_hdr_t, reg_type)
1534 #define L_LBMC_CNTL_UMQ_REG_HDR_T_REG_TYPE SIZEOF(lbmc_cntl_umq_reg_hdr_t, reg_type)
1535 #define O_LBMC_CNTL_UMQ_REG_HDR_T_QUEUE_ID OFFSETOF(lbmc_cntl_umq_reg_hdr_t, queue_id)
1536 #define L_LBMC_CNTL_UMQ_REG_HDR_T_QUEUE_ID SIZEOF(lbmc_cntl_umq_reg_hdr_t, queue_id)
1537 #define O_LBMC_CNTL_UMQ_REG_HDR_T_CMD_ID OFFSETOF(lbmc_cntl_umq_reg_hdr_t, cmd_id)
1538 #define L_LBMC_CNTL_UMQ_REG_HDR_T_CMD_ID SIZEOF(lbmc_cntl_umq_reg_hdr_t, cmd_id)
1539 #define O_LBMC_CNTL_UMQ_REG_HDR_T_INST_IDX OFFSETOF(lbmc_cntl_umq_reg_hdr_t, inst_idx)
1540 #define L_LBMC_CNTL_UMQ_REG_HDR_T_INST_IDX SIZEOF(lbmc_cntl_umq_reg_hdr_t, inst_idx)
1541 #define O_LBMC_CNTL_UMQ_REG_HDR_T_REGID OFFSETOF(lbmc_cntl_umq_reg_hdr_t, regid)
1542 #define L_LBMC_CNTL_UMQ_REG_HDR_T_REGID SIZEOF(lbmc_cntl_umq_reg_hdr_t, regid)
1543 #define L_LBMC_CNTL_UMQ_REG_HDR_T (int) sizeof(lbmc_cntl_umq_reg_hdr_t)
1545 /* LBMC control UMQ registration response header(s) */
1548 lbm_uint32_t capabilities
;
1549 } lbmc_cntl_umq_reg_resp_ctx_hdr_t
;
1550 #define O_LBMC_CNTL_UMQ_REG_RESP_CTX_HDR_T_CAPABILITIES OFFSETOF(lbmc_cntl_umq_reg_resp_ctx_hdr_t, capabilities)
1551 #define L_LBMC_CNTL_UMQ_REG_RESP_CTX_HDR_T_CAPABILITIES SIZEOF(lbmc_cntl_umq_reg_resp_ctx_hdr_t, capabilities)
1552 #define L_LBMC_CNTL_UMQ_REG_RESP_CTX_HDR_T (int) sizeof(lbmc_cntl_umq_reg_resp_ctx_hdr_t)
1556 lbm_uint32_t capabilities
;
1557 lbm_uint16_t reserved
;
1559 lbm_uint8_t stamp
[8];
1560 } lbmc_cntl_umq_reg_resp_ctx_ex_hdr_t
;
1561 #define O_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_CAPABILITIES OFFSETOF(lbmc_cntl_umq_reg_resp_ctx_ex_hdr_t, capabilities)
1562 #define L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_CAPABILITIES SIZEOF(lbmc_cntl_umq_reg_resp_ctx_ex_hdr_t, capabilities)
1563 #define O_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_reg_resp_ctx_ex_hdr_t, reserved)
1564 #define L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_reg_resp_ctx_ex_hdr_t, reserved)
1565 #define O_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_reg_resp_ctx_ex_hdr_t, flags)
1566 #define L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_reg_resp_ctx_ex_hdr_t, flags)
1567 #define O_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_STAMP OFFSETOF(lbmc_cntl_umq_reg_resp_ctx_ex_hdr_t, stamp)
1568 #define L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_STAMP SIZEOF(lbmc_cntl_umq_reg_resp_ctx_ex_hdr_t, stamp)
1569 #define L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T (int) sizeof(lbmc_cntl_umq_reg_resp_ctx_ex_hdr_t)
1573 lbm_uint16_t reserved
;
1575 } lbmc_cntl_umq_reg_resp_err_hdr_t
;
1576 #define O_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_reg_resp_err_hdr_t, reserved)
1577 #define L_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_reg_resp_err_hdr_t, reserved)
1578 #define O_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T_CODE OFFSETOF(lbmc_cntl_umq_reg_resp_err_hdr_t, code)
1579 #define L_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T_CODE SIZEOF(lbmc_cntl_umq_reg_resp_err_hdr_t, code)
1580 #define L_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T (int) sizeof(lbmc_cntl_umq_reg_resp_err_hdr_t)
1584 lbm_uint32_t rcr_idx
;
1585 } lbmc_cntl_umq_reg_resp_src_hdr_t
;
1586 #define O_LBMC_CNTL_UMQ_REG_RESP_SRC_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_reg_resp_src_hdr_t, rcr_idx)
1587 #define L_LBMC_CNTL_UMQ_REG_RESP_SRC_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_reg_resp_src_hdr_t, rcr_idx)
1588 #define L_LBMC_CNTL_UMQ_REG_RESP_SRC_HDR_T (int) sizeof(lbmc_cntl_umq_reg_resp_src_hdr_t)
1592 lbm_uint32_t rcr_idx
;
1593 lbm_uint32_t assign_id
;
1594 lbm_uint16_t appset_idx
;
1595 lbm_uint16_t reserved
;
1596 } lbmc_cntl_umq_reg_resp_rcv_hdr_t
;
1597 #define O_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_reg_resp_rcv_hdr_t, rcr_idx)
1598 #define L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_reg_resp_rcv_hdr_t, rcr_idx)
1599 #define O_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_reg_resp_rcv_hdr_t, assign_id)
1600 #define L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_reg_resp_rcv_hdr_t, assign_id)
1601 #define O_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_reg_resp_rcv_hdr_t, appset_idx)
1602 #define L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_reg_resp_rcv_hdr_t, appset_idx)
1603 #define O_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_reg_resp_rcv_hdr_t, reserved)
1604 #define L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_reg_resp_rcv_hdr_t, reserved)
1605 #define L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T (int) sizeof(lbmc_cntl_umq_reg_resp_rcv_hdr_t)
1609 lbm_uint32_t rcr_idx
;
1610 lbm_uint32_t assign_id
;
1611 } lbmc_cntl_umq_rcv_dereg_resp_hdr_t
;
1612 #define O_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_rcv_dereg_resp_hdr_t, rcr_idx)
1613 #define L_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_rcv_dereg_resp_hdr_t, rcr_idx)
1614 #define O_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rcv_dereg_resp_hdr_t, assign_id)
1615 #define L_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rcv_dereg_resp_hdr_t, assign_id)
1616 #define L_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T (int) sizeof(lbmc_cntl_umq_rcv_dereg_resp_hdr_t)
1620 lbm_uint32_t ulb_src_id
;
1621 lbm_uint32_t assign_id
;
1622 lbm_uint16_t appset_idx
;
1623 lbm_uint16_t reserved
;
1624 lbm_uint32_t capabilities
;
1625 } lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t
;
1626 #define O_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t, ulb_src_id)
1627 #define L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t, ulb_src_id)
1628 #define O_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t, assign_id)
1629 #define L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t, assign_id)
1630 #define O_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t, appset_idx)
1631 #define L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t, appset_idx)
1632 #define O_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t, reserved)
1633 #define L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t, reserved)
1634 #define O_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_CAPABILITIES OFFSETOF(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t, capabilities)
1635 #define L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_CAPABILITIES SIZEOF(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t, capabilities)
1636 #define L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T (int) sizeof(lbmc_cntl_umq_reg_resp_ulb_rcv_hdr_t)
1640 lbm_uint32_t ulb_src_id
;
1641 lbm_uint32_t assign_id
;
1642 } lbmc_cntl_umq_ulb_rcv_dereg_resp_hdr_t
;
1643 #define O_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_ulb_rcv_dereg_resp_hdr_t, ulb_src_id)
1644 #define L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_ulb_rcv_dereg_resp_hdr_t, ulb_src_id)
1645 #define O_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ulb_rcv_dereg_resp_hdr_t, assign_id)
1646 #define L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ulb_rcv_dereg_resp_hdr_t, assign_id)
1647 #define L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T (int) sizeof(lbmc_cntl_umq_ulb_rcv_dereg_resp_hdr_t)
1651 lbm_uint32_t rcr_idx
;
1652 lbm_uint32_t assign_id
;
1653 lbm_uint16_t appset_idx
;
1654 lbm_uint16_t reserved
;
1655 } lbmc_cntl_umq_reg_resp_observer_rcv_hdr_t
;
1656 #define O_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_reg_resp_observer_rcv_hdr_t, rcr_idx)
1657 #define L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_reg_resp_observer_rcv_hdr_t, rcr_idx)
1658 #define O_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_reg_resp_observer_rcv_hdr_t, assign_id)
1659 #define L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_reg_resp_observer_rcv_hdr_t, assign_id)
1660 #define O_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_reg_resp_observer_rcv_hdr_t, appset_idx)
1661 #define L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_reg_resp_observer_rcv_hdr_t, appset_idx)
1662 #define O_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_reg_resp_observer_rcv_hdr_t, reserved)
1663 #define L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_reg_resp_observer_rcv_hdr_t, reserved)
1664 #define L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T (int) sizeof(lbmc_cntl_umq_reg_resp_observer_rcv_hdr_t)
1668 lbm_uint32_t rcr_idx
;
1669 lbm_uint32_t assign_id
;
1670 } lbmc_cntl_umq_observer_rcv_dereg_resp_hdr_t
;
1671 #define O_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_observer_rcv_dereg_resp_hdr_t, rcr_idx)
1672 #define L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_observer_rcv_dereg_resp_hdr_t, rcr_idx)
1673 #define O_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_observer_rcv_dereg_resp_hdr_t, assign_id)
1674 #define L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_observer_rcv_dereg_resp_hdr_t, assign_id)
1675 #define L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T (int) sizeof(lbmc_cntl_umq_observer_rcv_dereg_resp_hdr_t)
1679 lbm_uint8_t next_hdr
;
1680 lbm_uint8_t hdr_len
;
1682 lbm_uint8_t resp_type
;
1683 lbm_uint32_t queue_id
;
1684 lbm_uint16_t cmd_id
;
1685 lbm_uint16_t inst_idx
;
1686 lbm_uint8_t regid
[8];
1687 } lbmc_cntl_umq_reg_resp_hdr_t
;
1688 #define O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_reg_resp_hdr_t, next_hdr)
1689 #define L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_reg_resp_hdr_t, next_hdr)
1690 #define O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_reg_resp_hdr_t, hdr_len)
1691 #define L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_reg_resp_hdr_t, hdr_len)
1692 #define O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_reg_resp_hdr_t, flags)
1693 #define L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_reg_resp_hdr_t, flags)
1694 #define O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_REG_RESP_TYPE OFFSETOF(lbmc_cntl_umq_reg_resp_hdr_t, resp_type)
1695 #define L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_REG_RESP_TYPE SIZEOF(lbmc_cntl_umq_reg_resp_hdr_t, resp_type)
1696 #define O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_QUEUE_ID OFFSETOF(lbmc_cntl_umq_reg_resp_hdr_t, queue_id)
1697 #define L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_QUEUE_ID SIZEOF(lbmc_cntl_umq_reg_resp_hdr_t, queue_id)
1698 #define O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_CMD_ID OFFSETOF(lbmc_cntl_umq_reg_resp_hdr_t, cmd_id)
1699 #define L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_CMD_ID SIZEOF(lbmc_cntl_umq_reg_resp_hdr_t, cmd_id)
1700 #define O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_INST_IDX OFFSETOF(lbmc_cntl_umq_reg_resp_hdr_t, inst_idx)
1701 #define L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_INST_IDX SIZEOF(lbmc_cntl_umq_reg_resp_hdr_t, inst_idx)
1702 #define O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_REG_RESPID OFFSETOF(lbmc_cntl_umq_reg_resp_hdr_t, regid)
1703 #define L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_REG_RESPID SIZEOF(lbmc_cntl_umq_reg_resp_hdr_t, regid)
1704 #define L_LBMC_CNTL_UMQ_REG_RESP_HDR_T (int) sizeof(lbmc_cntl_umq_reg_resp_hdr_t)
1706 /* LBMC control UMQ ACK header(s) */
1709 lbm_uint8_t regid
[8];
1710 lbm_uint8_t stamp
[8];
1711 } lbmc_cntl_umq_ack_msgid_hdr_t
;
1712 #define O_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T_REGID OFFSETOF(lbmc_cntl_umq_ack_msgid_hdr_t, regid)
1713 #define L_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T_REGID SIZEOF(lbmc_cntl_umq_ack_msgid_hdr_t, regid)
1714 #define O_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T_STAMP OFFSETOF(lbmc_cntl_umq_ack_msgid_hdr_t, stamp)
1715 #define L_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T_STAMP SIZEOF(lbmc_cntl_umq_ack_msgid_hdr_t, stamp)
1716 #define L_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T (int) sizeof(lbmc_cntl_umq_ack_msgid_hdr_t)
1720 lbm_uint32_t queue_id
;
1721 lbm_uint16_t inst_idx
;
1722 lbm_uint16_t reserved
;
1723 } lbmc_cntl_umq_ack_stable_hdr_t
;
1724 #define O_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_QUEUE_ID OFFSETOF(lbmc_cntl_umq_ack_stable_hdr_t, queue_id)
1725 #define L_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_QUEUE_ID SIZEOF(lbmc_cntl_umq_ack_stable_hdr_t, queue_id)
1726 #define O_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_INST_IDX OFFSETOF(lbmc_cntl_umq_ack_stable_hdr_t, inst_idx)
1727 #define L_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_INST_IDX SIZEOF(lbmc_cntl_umq_ack_stable_hdr_t, inst_idx)
1728 #define O_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_ack_stable_hdr_t, reserved)
1729 #define L_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_ack_stable_hdr_t, reserved)
1730 #define L_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T (int) sizeof(lbmc_cntl_umq_ack_stable_hdr_t)
1734 lbm_uint32_t rcr_idx
;
1735 lbm_uint32_t assign_id
;
1736 lbm_uint16_t appset_idx
;
1737 lbm_uint16_t reserved
;
1738 } lbmc_cntl_umq_ack_cr_hdr_t
;
1739 #define O_LBMC_CNTL_UMQ_ACK_CR_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_ack_cr_hdr_t, rcr_idx)
1740 #define L_LBMC_CNTL_UMQ_ACK_CR_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_ack_cr_hdr_t, rcr_idx)
1741 #define O_LBMC_CNTL_UMQ_ACK_CR_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ack_cr_hdr_t, assign_id)
1742 #define L_LBMC_CNTL_UMQ_ACK_CR_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ack_cr_hdr_t, assign_id)
1743 #define O_LBMC_CNTL_UMQ_ACK_CR_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_ack_cr_hdr_t, appset_idx)
1744 #define L_LBMC_CNTL_UMQ_ACK_CR_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_ack_cr_hdr_t, appset_idx)
1745 #define O_LBMC_CNTL_UMQ_ACK_CR_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_ack_cr_hdr_t, reserved)
1746 #define L_LBMC_CNTL_UMQ_ACK_CR_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_ack_cr_hdr_t, reserved)
1747 #define L_LBMC_CNTL_UMQ_ACK_CR_HDR_T (int) sizeof(lbmc_cntl_umq_ack_cr_hdr_t)
1751 lbm_uint32_t ulb_src_id
;
1752 lbm_uint32_t assign_id
;
1753 lbm_uint16_t appset_idx
;
1754 lbm_uint16_t reserved
;
1755 } lbmc_cntl_umq_ack_ulb_cr_hdr_t
;
1756 #define O_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_ack_ulb_cr_hdr_t, ulb_src_id)
1757 #define L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_ack_ulb_cr_hdr_t, ulb_src_id)
1758 #define O_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ack_ulb_cr_hdr_t, assign_id)
1759 #define L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ack_ulb_cr_hdr_t, assign_id)
1760 #define O_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_ack_ulb_cr_hdr_t, appset_idx)
1761 #define L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_ack_ulb_cr_hdr_t, appset_idx)
1762 #define O_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_ack_ulb_cr_hdr_t, reserved)
1763 #define L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_ack_ulb_cr_hdr_t, reserved)
1764 #define L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T (int) sizeof(lbmc_cntl_umq_ack_ulb_cr_hdr_t)
1768 lbm_uint8_t next_hdr
;
1769 lbm_uint8_t hdr_len
;
1771 lbm_uint8_t ack_type
;
1772 } lbmc_cntl_umq_ack_hdr_t
;
1773 #define O_LBMC_CNTL_UMQ_ACK_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_ack_hdr_t, next_hdr)
1774 #define L_LBMC_CNTL_UMQ_ACK_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_ack_hdr_t, next_hdr)
1775 #define O_LBMC_CNTL_UMQ_ACK_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_ack_hdr_t, hdr_len)
1776 #define L_LBMC_CNTL_UMQ_ACK_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_ack_hdr_t, hdr_len)
1777 #define O_LBMC_CNTL_UMQ_ACK_HDR_T_MSGS OFFSETOF(lbmc_cntl_umq_ack_hdr_t, msgs)
1778 #define L_LBMC_CNTL_UMQ_ACK_HDR_T_MSGS SIZEOF(lbmc_cntl_umq_ack_hdr_t, msgs)
1779 #define O_LBMC_CNTL_UMQ_ACK_HDR_T_ACK_TYPE OFFSETOF(lbmc_cntl_umq_ack_hdr_t, ack_type)
1780 #define L_LBMC_CNTL_UMQ_ACK_HDR_T_ACK_TYPE SIZEOF(lbmc_cntl_umq_ack_hdr_t, ack_type)
1781 #define L_LBMC_CNTL_UMQ_ACK_HDR_T (int) sizeof(lbmc_cntl_umq_ack_hdr_t)
1783 /* UMQ control receiver control record header */
1786 lbm_uint8_t next_hdr
;
1787 lbm_uint8_t hdr_len
;
1789 lbm_uint32_t queue_id
;
1790 lbm_uint32_t rcr_idx
;
1791 lbm_uint8_t msgid_regid
[8];
1792 lbm_uint8_t msgid_stamp
[8];
1793 lbm_uint32_t topic_tsp
;
1795 lbm_uint32_t assign_id
;
1796 lbm_uint16_t appset_idx
;
1797 lbm_uint16_t num_ras
;
1798 lbm_uint32_t queue_ver
;
1799 } lbmc_cntl_umq_rcr_hdr_t
;
1800 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, next_hdr)
1801 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_rcr_hdr_t, next_hdr)
1802 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, hdr_len)
1803 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_rcr_hdr_t, hdr_len)
1804 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, flags)
1805 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_rcr_hdr_t, flags)
1806 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_QUEUE_ID OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, queue_id)
1807 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_QUEUE_ID SIZEOF(lbmc_cntl_umq_rcr_hdr_t, queue_id)
1808 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, rcr_idx)
1809 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_rcr_hdr_t, rcr_idx)
1810 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_MSGID_REGID OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, msgid_regid)
1811 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_MSGID_REGID SIZEOF(lbmc_cntl_umq_rcr_hdr_t, msgid_regid)
1812 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_MSGID_STAMP OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, msgid_stamp)
1813 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_MSGID_STAMP SIZEOF(lbmc_cntl_umq_rcr_hdr_t, msgid_stamp)
1814 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_TOPIC_TSP OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, topic_tsp)
1815 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_TOPIC_TSP SIZEOF(lbmc_cntl_umq_rcr_hdr_t, topic_tsp)
1816 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_Q_TSP OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, q_tsp)
1817 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_Q_TSP SIZEOF(lbmc_cntl_umq_rcr_hdr_t, q_tsp)
1818 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, assign_id)
1819 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rcr_hdr_t, assign_id)
1820 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, appset_idx)
1821 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_rcr_hdr_t, appset_idx)
1822 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_NUM_RAS OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, num_ras)
1823 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_NUM_RAS SIZEOF(lbmc_cntl_umq_rcr_hdr_t, num_ras)
1824 #define O_LBMC_CNTL_UMQ_RCR_HDR_T_QUEUE_VER OFFSETOF(lbmc_cntl_umq_rcr_hdr_t, queue_ver)
1825 #define L_LBMC_CNTL_UMQ_RCR_HDR_T_QUEUE_VER SIZEOF(lbmc_cntl_umq_rcr_hdr_t, queue_ver)
1826 #define L_LBMC_CNTL_UMQ_RCR_HDR_T (int) sizeof(lbmc_cntl_umq_rcr_hdr_t)
1828 /* LBMC control UMQ keepalive header(s) */
1831 lbm_uint32_t transport_idx
;
1832 lbm_uint32_t topic_idx
;
1833 } lbmc_cntl_umq_ka_src_hdr_t
;
1834 #define O_LBMC_CNTL_UMQ_KA_SRC_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_umq_ka_src_hdr_t, transport_idx)
1835 #define L_LBMC_CNTL_UMQ_KA_SRC_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_umq_ka_src_hdr_t, transport_idx)
1836 #define O_LBMC_CNTL_UMQ_KA_SRC_HDR_T_TOPIC_IDX OFFSETOF(lbmc_cntl_umq_ka_src_hdr_t, topic_idx)
1837 #define L_LBMC_CNTL_UMQ_KA_SRC_HDR_T_TOPIC_IDX SIZEOF(lbmc_cntl_umq_ka_src_hdr_t, topic_idx)
1838 #define L_LBMC_CNTL_UMQ_KA_SRC_HDR_T (int) sizeof(lbmc_cntl_umq_ka_src_hdr_t)
1842 lbm_uint32_t rcr_idx
;
1843 lbm_uint32_t assign_id
;
1844 } lbmc_cntl_umq_ka_rcv_hdr_t
;
1845 #define O_LBMC_CNTL_UMQ_KA_RCV_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_ka_rcv_hdr_t, rcr_idx)
1846 #define L_LBMC_CNTL_UMQ_KA_RCV_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_ka_rcv_hdr_t, rcr_idx)
1847 #define O_LBMC_CNTL_UMQ_KA_RCV_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ka_rcv_hdr_t, assign_id)
1848 #define L_LBMC_CNTL_UMQ_KA_RCV_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ka_rcv_hdr_t, assign_id)
1849 #define L_LBMC_CNTL_UMQ_KA_RCV_HDR_T (int) sizeof(lbmc_cntl_umq_ka_rcv_hdr_t)
1853 lbm_uint32_t ulb_src_id
;
1854 lbm_uint32_t assign_id
;
1855 } lbmc_cntl_umq_ka_ulb_rcv_hdr_t
;
1856 #define O_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_ka_ulb_rcv_hdr_t, ulb_src_id)
1857 #define L_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_ka_ulb_rcv_hdr_t, ulb_src_id)
1858 #define O_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ka_ulb_rcv_hdr_t, assign_id)
1859 #define L_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ka_ulb_rcv_hdr_t, assign_id)
1860 #define L_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T (int) sizeof(lbmc_cntl_umq_ka_ulb_rcv_hdr_t)
1864 lbm_uint32_t ulb_src_id
;
1865 lbm_uint32_t assign_id
;
1866 lbm_uint16_t appset_idx
;
1867 lbm_uint16_t reserved
;
1868 } lbmc_cntl_umq_ka_ulb_rcv_resp_hdr_t
;
1869 #define O_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_ka_ulb_rcv_resp_hdr_t, ulb_src_id)
1870 #define L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_ka_ulb_rcv_resp_hdr_t, ulb_src_id)
1871 #define O_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ka_ulb_rcv_resp_hdr_t, assign_id)
1872 #define L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ka_ulb_rcv_resp_hdr_t, assign_id)
1873 #define O_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_ka_ulb_rcv_resp_hdr_t, appset_idx)
1874 #define L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_ka_ulb_rcv_resp_hdr_t, appset_idx)
1875 #define O_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_ka_ulb_rcv_resp_hdr_t, reserved)
1876 #define L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_ka_ulb_rcv_resp_hdr_t, reserved)
1877 #define L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T (int) sizeof(lbmc_cntl_umq_ka_ulb_rcv_resp_hdr_t)
1881 lbm_uint8_t next_hdr
;
1882 lbm_uint8_t hdr_len
;
1884 lbm_uint8_t ka_type
;
1885 lbm_uint32_t queue_id
;
1886 lbm_uint8_t regid
[8];
1887 lbm_uint16_t inst_idx
;
1888 lbm_uint16_t reserved
;
1889 } lbmc_cntl_umq_ka_hdr_t
;
1890 #define O_LBMC_CNTL_UMQ_KA_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_ka_hdr_t, next_hdr)
1891 #define L_LBMC_CNTL_UMQ_KA_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_ka_hdr_t, next_hdr)
1892 #define O_LBMC_CNTL_UMQ_KA_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_ka_hdr_t, hdr_len)
1893 #define L_LBMC_CNTL_UMQ_KA_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_ka_hdr_t, hdr_len)
1894 #define O_LBMC_CNTL_UMQ_KA_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_ka_hdr_t, flags)
1895 #define L_LBMC_CNTL_UMQ_KA_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_ka_hdr_t, flags)
1896 #define O_LBMC_CNTL_UMQ_KA_HDR_T_KA_TYPE OFFSETOF(lbmc_cntl_umq_ka_hdr_t, ka_type)
1897 #define L_LBMC_CNTL_UMQ_KA_HDR_T_KA_TYPE SIZEOF(lbmc_cntl_umq_ka_hdr_t, ka_type)
1898 #define O_LBMC_CNTL_UMQ_KA_HDR_T_QUEUE_ID OFFSETOF(lbmc_cntl_umq_ka_hdr_t, queue_id)
1899 #define L_LBMC_CNTL_UMQ_KA_HDR_T_QUEUE_ID SIZEOF(lbmc_cntl_umq_ka_hdr_t, queue_id)
1900 #define O_LBMC_CNTL_UMQ_KA_HDR_T_REGID OFFSETOF(lbmc_cntl_umq_ka_hdr_t, regid)
1901 #define L_LBMC_CNTL_UMQ_KA_HDR_T_REGID SIZEOF(lbmc_cntl_umq_ka_hdr_t, regid)
1902 #define O_LBMC_CNTL_UMQ_KA_HDR_T_INST_IDX OFFSETOF(lbmc_cntl_umq_ka_hdr_t, inst_idx)
1903 #define L_LBMC_CNTL_UMQ_KA_HDR_T_INST_IDX SIZEOF(lbmc_cntl_umq_ka_hdr_t, inst_idx)
1904 #define O_LBMC_CNTL_UMQ_KA_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_ka_hdr_t, reserved)
1905 #define L_LBMC_CNTL_UMQ_KA_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_ka_hdr_t, reserved)
1906 #define L_LBMC_CNTL_UMQ_KA_HDR_T (int) sizeof(lbmc_cntl_umq_ka_hdr_t)
1908 /* LBMC control UMQ retransmission request header(s) */
1911 lbm_uint8_t regid
[8];
1912 } lbmc_cntl_umq_rxreq_regid_resp_hdr_t
;
1913 #define O_LBMC_CNTL_UMQ_RXREQ_REGID_RESP_HDR_T_REGID OFFSETOF(lbmc_cntl_umq_rxreq_regid_resp_hdr_t, regid)
1914 #define L_LBMC_CNTL_UMQ_RXREQ_REGID_RESP_HDR_T_REGID SIZEOF(lbmc_cntl_umq_rxreq_regid_resp_hdr_t, regid)
1915 #define L_LBMC_CNTL_UMQ_RXREQ_REGID_RESP_HDR_T (int) sizeof(lbmc_cntl_umq_rxreq_regid_resp_hdr_t)
1921 lbm_uint16_t reserved
;
1922 } lbmc_cntl_umq_rxreq_addr_resp_hdr_t
;
1923 #define O_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_IP OFFSETOF(lbmc_cntl_umq_rxreq_addr_resp_hdr_t, ip)
1924 #define L_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_IP SIZEOF(lbmc_cntl_umq_rxreq_addr_resp_hdr_t, ip)
1925 #define O_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_PORT OFFSETOF(lbmc_cntl_umq_rxreq_addr_resp_hdr_t, port)
1926 #define L_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_PORT SIZEOF(lbmc_cntl_umq_rxreq_addr_resp_hdr_t, port)
1927 #define O_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_rxreq_addr_resp_hdr_t, reserved)
1928 #define L_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_rxreq_addr_resp_hdr_t, reserved)
1929 #define L_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T (int) sizeof(lbmc_cntl_umq_rxreq_addr_resp_hdr_t)
1933 lbm_uint32_t assign_id
;
1934 lbm_uint8_t msgid_regid
[8];
1935 lbm_uint8_t msgid_stamp
[8];
1936 } lbmc_cntl_umq_rxreq_mr_hdr_t
;
1937 #define O_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rxreq_mr_hdr_t, assign_id)
1938 #define L_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rxreq_mr_hdr_t, assign_id)
1939 #define O_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_MSGID_REGID OFFSETOF(lbmc_cntl_umq_rxreq_mr_hdr_t, msgid_regid)
1940 #define L_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_MSGID_REGID SIZEOF(lbmc_cntl_umq_rxreq_mr_hdr_t, msgid_regid)
1941 #define O_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_MSGID_STAMP OFFSETOF(lbmc_cntl_umq_rxreq_mr_hdr_t, msgid_stamp)
1942 #define L_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_MSGID_STAMP SIZEOF(lbmc_cntl_umq_rxreq_mr_hdr_t, msgid_stamp)
1943 #define L_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T (int) sizeof(lbmc_cntl_umq_rxreq_mr_hdr_t)
1947 lbm_uint32_t ulb_src_id
;
1948 lbm_uint32_t assign_id
;
1949 lbm_uint16_t appset_idx
;
1950 lbm_uint16_t reserved
;
1951 lbm_uint8_t msgid_regid
[8];
1952 lbm_uint8_t msgid_stamp
[8];
1953 } lbmc_cntl_umq_rxreq_ulb_mr_hdr_t
;
1954 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, ulb_src_id)
1955 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, ulb_src_id)
1956 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, assign_id)
1957 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, assign_id)
1958 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, appset_idx)
1959 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, appset_idx)
1960 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, reserved)
1961 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, reserved)
1962 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_MSGID_REGID OFFSETOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, msgid_regid)
1963 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_MSGID_REGID SIZEOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, msgid_regid)
1964 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_MSGID_STAMP OFFSETOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, msgid_stamp)
1965 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_MSGID_STAMP SIZEOF(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t, msgid_stamp)
1966 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T (int) sizeof(lbmc_cntl_umq_rxreq_ulb_mr_hdr_t)
1970 lbm_uint32_t ulb_src_id
;
1971 lbm_uint32_t assign_id
;
1972 lbm_uint8_t msgid_regid
[8];
1973 lbm_uint8_t msgid_stamp
[8];
1974 } lbmc_cntl_umq_rxreq_ulb_mr_abort_hdr_t
;
1975 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_rxreq_ulb_mr_abort_hdr_t, ulb_src_id)
1976 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_rxreq_ulb_mr_abort_hdr_t, ulb_src_id)
1977 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rxreq_ulb_mr_abort_hdr_t, assign_id)
1978 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rxreq_ulb_mr_abort_hdr_t, assign_id)
1979 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_MSGID_REGID OFFSETOF(lbmc_cntl_umq_rxreq_ulb_mr_abort_hdr_t, msgid_regid)
1980 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_MSGID_REGID SIZEOF(lbmc_cntl_umq_rxreq_ulb_mr_abort_hdr_t, msgid_regid)
1981 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_MSGID_STAMP OFFSETOF(lbmc_cntl_umq_rxreq_ulb_mr_abort_hdr_t, msgid_stamp)
1982 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_MSGID_STAMP SIZEOF(lbmc_cntl_umq_rxreq_ulb_mr_abort_hdr_t, msgid_stamp)
1983 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T (int) sizeof(lbmc_cntl_umq_rxreq_ulb_mr_abort_hdr_t)
1988 } lbmc_cntl_umq_rxreq_qrcrr_hdr_t
;
1989 #define O_LBMC_CNTL_UMQ_RXREQ_QRCRR_HDR_T_TSP OFFSETOF(lbmc_cntl_umq_rxreq_qrcrr_hdr_t, tsp)
1990 #define L_LBMC_CNTL_UMQ_RXREQ_QRCRR_HDR_T_TSP SIZEOF(lbmc_cntl_umq_rxreq_qrcrr_hdr_t, tsp)
1991 #define L_LBMC_CNTL_UMQ_RXREQ_QRCRR_HDR_T (int) sizeof(lbmc_cntl_umq_rxreq_qrcrr_hdr_t)
1995 lbm_uint32_t rcr_idx
;
1997 } lbmc_cntl_umq_rxreq_trcrr_hdr_t
;
1998 #define O_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_rxreq_trcrr_hdr_t, rcr_idx)
1999 #define L_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_rxreq_trcrr_hdr_t, rcr_idx)
2000 #define O_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T_TSP OFFSETOF(lbmc_cntl_umq_rxreq_trcrr_hdr_t, tsp)
2001 #define L_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T_TSP SIZEOF(lbmc_cntl_umq_rxreq_trcrr_hdr_t, tsp)
2002 #define L_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T (int) sizeof(lbmc_cntl_umq_rxreq_trcrr_hdr_t)
2006 lbm_uint32_t ulb_src_id
;
2007 lbm_uint32_t assign_id
;
2009 } lbmc_cntl_umq_rxreq_ulb_trcrr_hdr_t
;
2010 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_rxreq_ulb_trcrr_hdr_t, ulb_src_id)
2011 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_rxreq_ulb_trcrr_hdr_t, ulb_src_id)
2012 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rxreq_ulb_trcrr_hdr_t, assign_id)
2013 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rxreq_ulb_trcrr_hdr_t, assign_id)
2014 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_TSP OFFSETOF(lbmc_cntl_umq_rxreq_ulb_trcrr_hdr_t, tsp)
2015 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_TSP SIZEOF(lbmc_cntl_umq_rxreq_ulb_trcrr_hdr_t, tsp)
2016 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T (int) sizeof(lbmc_cntl_umq_rxreq_ulb_trcrr_hdr_t)
2020 lbm_uint32_t ulb_src_id
;
2021 lbm_uint32_t assign_id
;
2023 } lbmc_cntl_umq_rxreq_ulb_trcrr_abort_hdr_t
;
2024 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_rxreq_ulb_trcrr_abort_hdr_t, ulb_src_id)
2025 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_rxreq_ulb_trcrr_abort_hdr_t, ulb_src_id)
2026 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rxreq_ulb_trcrr_abort_hdr_t, assign_id)
2027 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rxreq_ulb_trcrr_abort_hdr_t, assign_id)
2028 #define O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_TSP OFFSETOF(lbmc_cntl_umq_rxreq_ulb_trcrr_abort_hdr_t, tsp)
2029 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_TSP SIZEOF(lbmc_cntl_umq_rxreq_ulb_trcrr_abort_hdr_t, tsp)
2030 #define L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T (int) sizeof(lbmc_cntl_umq_rxreq_ulb_trcrr_abort_hdr_t)
2034 lbm_uint8_t next_hdr
;
2035 lbm_uint8_t hdr_len
;
2037 lbm_uint8_t rxreq_type
;
2038 } lbmc_cntl_umq_rxreq_hdr_t
;
2039 #define O_LBMC_CNTL_UMQ_RXREQ_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_rxreq_hdr_t, next_hdr)
2040 #define L_LBMC_CNTL_UMQ_RXREQ_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_rxreq_hdr_t, next_hdr)
2041 #define O_LBMC_CNTL_UMQ_RXREQ_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_rxreq_hdr_t, hdr_len)
2042 #define L_LBMC_CNTL_UMQ_RXREQ_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_rxreq_hdr_t, hdr_len)
2043 #define O_LBMC_CNTL_UMQ_RXREQ_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_rxreq_hdr_t, flags)
2044 #define L_LBMC_CNTL_UMQ_RXREQ_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_rxreq_hdr_t, flags)
2045 #define O_LBMC_CNTL_UMQ_RXREQ_HDR_T_RXREQ_TYPE OFFSETOF(lbmc_cntl_umq_rxreq_hdr_t, rxreq_type)
2046 #define L_LBMC_CNTL_UMQ_RXREQ_HDR_T_RXREQ_TYPE SIZEOF(lbmc_cntl_umq_rxreq_hdr_t, rxreq_type)
2047 #define L_LBMC_CNTL_UMQ_RXREQ_HDR_T (int) sizeof(lbmc_cntl_umq_rxreq_hdr_t)
2049 /* LBMC control UMQ queue management header */
2052 lbm_uint8_t next_hdr
;
2053 lbm_uint8_t hdr_len
;
2054 } lbmc_cntl_umq_qmgmt_hdr_t
;
2055 #define O_LBMC_CNTL_UMQ_QMGMT_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_qmgmt_hdr_t, next_hdr)
2056 #define L_LBMC_CNTL_UMQ_QMGMT_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_qmgmt_hdr_t, next_hdr)
2057 #define O_LBMC_CNTL_UMQ_QMGMT_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_qmgmt_hdr_t, hdr_len)
2058 #define L_LBMC_CNTL_UMQ_QMGMT_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_qmgmt_hdr_t, hdr_len)
2059 #define L_LBMC_CNTL_UMQ_QMGMT_HDR_T (int) sizeof(lbmc_cntl_umq_qmgmt_hdr_t)
2061 /* LBMC control UMQ resubmission request header */
2064 lbm_uint8_t next_hdr
;
2065 lbm_uint8_t hdr_len
;
2067 lbm_uint8_t msgid_regid
[8];
2068 lbm_uint8_t msgid_stamp
[8];
2069 lbm_uint32_t rcr_idx
;
2070 lbm_uint32_t resp_ip
;
2071 lbm_uint16_t resp_port
;
2072 lbm_uint16_t appset_idx
;
2073 } lbmc_cntl_umq_resub_req_hdr_t
;
2074 #define O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_resub_req_hdr_t, next_hdr)
2075 #define L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_resub_req_hdr_t, next_hdr)
2076 #define O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_resub_req_hdr_t, hdr_len)
2077 #define L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_resub_req_hdr_t, hdr_len)
2078 #define O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_resub_req_hdr_t, flags)
2079 #define L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_resub_req_hdr_t, flags)
2080 #define O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_MSGID_REGID OFFSETOF(lbmc_cntl_umq_resub_req_hdr_t, msgid_regid)
2081 #define L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_MSGID_REGID SIZEOF(lbmc_cntl_umq_resub_req_hdr_t, msgid_regid)
2082 #define O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_MSGID_STAMP OFFSETOF(lbmc_cntl_umq_resub_req_hdr_t, msgid_stamp)
2083 #define L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_MSGID_STAMP SIZEOF(lbmc_cntl_umq_resub_req_hdr_t, msgid_stamp)
2084 #define O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_resub_req_hdr_t, rcr_idx)
2085 #define L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_resub_req_hdr_t, rcr_idx)
2086 #define O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RESP_IP OFFSETOF(lbmc_cntl_umq_resub_req_hdr_t, resp_ip)
2087 #define L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RESP_IP SIZEOF(lbmc_cntl_umq_resub_req_hdr_t, resp_ip)
2088 #define O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RESP_PORT OFFSETOF(lbmc_cntl_umq_resub_req_hdr_t, resp_port)
2089 #define L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RESP_PORT SIZEOF(lbmc_cntl_umq_resub_req_hdr_t, resp_port)
2090 #define O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_resub_req_hdr_t, appset_idx)
2091 #define L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_resub_req_hdr_t, appset_idx)
2092 #define L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T (int) sizeof(lbmc_cntl_umq_resub_req_hdr_t)
2094 /* LBMC control UMQ resubmission response header */
2097 lbm_uint8_t next_hdr
;
2098 lbm_uint8_t hdr_len
;
2101 lbm_uint8_t msgid_regid
[8];
2102 lbm_uint8_t msgid_stamp
[8];
2103 lbm_uint32_t rcr_idx
;
2104 lbm_uint16_t reserved
;
2105 lbm_uint16_t appset_idx
;
2106 } lbmc_cntl_umq_resub_resp_hdr_t
;
2107 #define O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_resub_resp_hdr_t, next_hdr)
2108 #define L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_resub_resp_hdr_t, next_hdr)
2109 #define O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_resub_resp_hdr_t, hdr_len)
2110 #define L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_resub_resp_hdr_t, hdr_len)
2111 #define O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_resub_resp_hdr_t, flags)
2112 #define L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_resub_resp_hdr_t, flags)
2113 #define O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_CODE OFFSETOF(lbmc_cntl_umq_resub_resp_hdr_t, code)
2114 #define L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_CODE SIZEOF(lbmc_cntl_umq_resub_resp_hdr_t, code)
2115 #define O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_MSGID_REGID OFFSETOF(lbmc_cntl_umq_resub_resp_hdr_t, msgid_regid)
2116 #define L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_MSGID_REGID SIZEOF(lbmc_cntl_umq_resub_resp_hdr_t, msgid_regid)
2117 #define O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_MSGID_STAMP OFFSETOF(lbmc_cntl_umq_resub_resp_hdr_t, msgid_stamp)
2118 #define L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_MSGID_STAMP SIZEOF(lbmc_cntl_umq_resub_resp_hdr_t, msgid_stamp)
2119 #define O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_resub_resp_hdr_t, rcr_idx)
2120 #define L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_resub_resp_hdr_t, rcr_idx)
2121 #define O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_resub_resp_hdr_t, reserved)
2122 #define L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_resub_resp_hdr_t, reserved)
2123 #define O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_resub_resp_hdr_t, appset_idx)
2124 #define L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_resub_resp_hdr_t, appset_idx)
2125 #define L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T (int) sizeof(lbmc_cntl_umq_resub_resp_hdr_t)
2127 /* LBMC control topic interest header */
2130 lbm_uint8_t next_hdr
;
2131 lbm_uint8_t hdr_len
;
2133 lbm_uint32_t domain_id
;
2134 } lbmc_cntl_topic_interest_hdr_t
;
2135 #define O_LBMC_CNTL_TOPIC_INTEREST_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_topic_interest_hdr_t, next_hdr)
2136 #define L_LBMC_CNTL_TOPIC_INTEREST_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_topic_interest_hdr_t, next_hdr)
2137 #define O_LBMC_CNTL_TOPIC_INTEREST_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_topic_interest_hdr_t, hdr_len)
2138 #define L_LBMC_CNTL_TOPIC_INTEREST_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_topic_interest_hdr_t, hdr_len)
2139 #define O_LBMC_CNTL_TOPIC_INTEREST_HDR_T_FLAGS OFFSETOF(lbmc_cntl_topic_interest_hdr_t, flags)
2140 #define L_LBMC_CNTL_TOPIC_INTEREST_HDR_T_FLAGS SIZEOF(lbmc_cntl_topic_interest_hdr_t, flags)
2141 #define O_LBMC_CNTL_TOPIC_INTEREST_HDR_T_DOMAIN_ID OFFSETOF(lbmc_cntl_topic_interest_hdr_t, domain_id)
2142 #define L_LBMC_CNTL_TOPIC_INTEREST_HDR_T_DOMAIN_ID SIZEOF(lbmc_cntl_topic_interest_hdr_t, domain_id)
2143 #define L_LBMC_CNTL_TOPIC_INTEREST_HDR_T (int) sizeof(lbmc_cntl_topic_interest_hdr_t)
2145 /* LBMC control pattern interest header */
2148 lbm_uint8_t next_hdr
;
2149 lbm_uint8_t hdr_len
;
2152 lbm_uint32_t domain_id
;
2154 } lbmc_cntl_pattern_interest_hdr_t
;
2155 #define O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_pattern_interest_hdr_t, next_hdr)
2156 #define L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_pattern_interest_hdr_t, next_hdr)
2157 #define O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_pattern_interest_hdr_t, hdr_len)
2158 #define L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_pattern_interest_hdr_t, hdr_len)
2159 #define O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_FLAGS OFFSETOF(lbmc_cntl_pattern_interest_hdr_t, flags)
2160 #define L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_FLAGS SIZEOF(lbmc_cntl_pattern_interest_hdr_t, flags)
2161 #define O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_TYPE OFFSETOF(lbmc_cntl_pattern_interest_hdr_t, type)
2162 #define L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_TYPE SIZEOF(lbmc_cntl_pattern_interest_hdr_t, type)
2163 #define O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_DOMAIN_ID OFFSETOF(lbmc_cntl_pattern_interest_hdr_t, domain_id)
2164 #define L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_DOMAIN_ID SIZEOF(lbmc_cntl_pattern_interest_hdr_t, domain_id)
2165 #define O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_INDEX OFFSETOF(lbmc_cntl_pattern_interest_hdr_t, idx)
2166 #define L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_INDEX SIZEOF(lbmc_cntl_pattern_interest_hdr_t, idx)
2167 #define L_LBMC_CNTL_PATTERN_INTEREST_HDR_T (int) sizeof(lbmc_cntl_pattern_interest_hdr_t)
2169 /* LBMC control advertisement header */
2172 lbm_uint8_t next_hdr
;
2173 lbm_uint8_t hdr_len
;
2175 lbm_uint8_t hop_count
;
2176 lbm_uint32_t ad_flags
;
2178 lbm_uint32_t transport_idx
;
2179 lbm_uint32_t topic_idx
;
2180 lbm_uint32_t low_seqno
;
2181 lbm_uint32_t high_seqno
;
2182 lbm_uint32_t domain_id
;
2183 lbm_uint8_t pat_idx
[8];
2184 lbm_uint8_t ctxinst
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
2185 } lbmc_cntl_advertisement_hdr_t
;
2186 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_advertisement_hdr_t, next_hdr)
2187 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_advertisement_hdr_t, next_hdr)
2188 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_advertisement_hdr_t, hdr_len)
2189 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_advertisement_hdr_t, hdr_len)
2190 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_FLAGS OFFSETOF(lbmc_cntl_advertisement_hdr_t, flags)
2191 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_FLAGS SIZEOF(lbmc_cntl_advertisement_hdr_t, flags)
2192 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_HOP_COUNT OFFSETOF(lbmc_cntl_advertisement_hdr_t, hop_count)
2193 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_HOP_COUNT SIZEOF(lbmc_cntl_advertisement_hdr_t, hop_count)
2194 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_AD_FLAGS OFFSETOF(lbmc_cntl_advertisement_hdr_t, ad_flags)
2195 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_AD_FLAGS SIZEOF(lbmc_cntl_advertisement_hdr_t, ad_flags)
2196 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_COST OFFSETOF(lbmc_cntl_advertisement_hdr_t, cost)
2197 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_COST SIZEOF(lbmc_cntl_advertisement_hdr_t, cost)
2198 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_advertisement_hdr_t, transport_idx)
2199 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_advertisement_hdr_t, transport_idx)
2200 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_TOPIC_IDX OFFSETOF(lbmc_cntl_advertisement_hdr_t, topic_idx)
2201 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_TOPIC_IDX SIZEOF(lbmc_cntl_advertisement_hdr_t, topic_idx)
2202 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_LOW_SEQNO OFFSETOF(lbmc_cntl_advertisement_hdr_t, low_seqno)
2203 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_LOW_SEQNO SIZEOF(lbmc_cntl_advertisement_hdr_t, low_seqno)
2204 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_HIGH_SEQNO OFFSETOF(lbmc_cntl_advertisement_hdr_t, high_seqno)
2205 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_HIGH_SEQNO SIZEOF(lbmc_cntl_advertisement_hdr_t, high_seqno)
2206 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_DOMAIN_ID OFFSETOF(lbmc_cntl_advertisement_hdr_t, domain_id)
2207 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_DOMAIN_ID SIZEOF(lbmc_cntl_advertisement_hdr_t, domain_id)
2208 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_PAT_IDX OFFSETOF(lbmc_cntl_advertisement_hdr_t, pat_idx)
2209 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_PAT_IDX SIZEOF(lbmc_cntl_advertisement_hdr_t, pat_idx)
2210 #define O_LBMC_CNTL_ADVERTISEMENT_HDR_T_CTXINST OFFSETOF(lbmc_cntl_advertisement_hdr_t, ctxinst)
2211 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T_CTXINST SIZEOF(lbmc_cntl_advertisement_hdr_t, ctxinst)
2212 #define L_LBMC_CNTL_ADVERTISEMENT_HDR_T (int) sizeof(lbmc_cntl_advertisement_hdr_t)
2214 /* LBMC control UME storename header. */
2215 #define O_LBMC_UME_STORENAME_HDR_T_NEXT_HDR OFFSETOF(lbmc_basic_hdr_t, next_hdr)
2216 #define L_LBMC_UME_STORENAME_HDR_T_NEXT_HDR SIZEOF(lbmc_basic_hdr_t, next_hdr)
2217 #define O_LBMC_UME_STORENAME_HDR_T_HDR_LEN OFFSETOF(lbmc_basic_hdr_t, hdr_len)
2218 #define L_LBMC_UME_STORENAME_HDR_T_HDR_LEN SIZEOF(lbmc_basic_hdr_t, hdr_len)
2219 #define O_LBMC_UME_STORENAME_HDR_T_FLAGS OFFSETOF(lbmc_basic_hdr_t, res)
2220 #define L_LBMC_UME_STORENAME_HDR_T_FLAGS SIZEOF(lbmc_basic_hdr_t, res)
2221 #define O_LBMC_UME_STORENAME_HDR_T_STORE (OFFSETOF(lbmc_basic_hdr_t, res) + SIZEOF(lbmc_basic_hdr_t, res))
2223 /* UMQ control ULB receiver control record header */
2226 lbm_uint8_t next_hdr
;
2227 lbm_uint8_t hdr_len
;
2229 lbm_uint32_t queue_id
;
2230 lbm_uint32_t ulb_src_id
;
2231 lbm_uint8_t msgid_regid
[8];
2232 lbm_uint8_t msgid_stamp
[8];
2233 lbm_uint32_t topic_tsp
;
2234 lbm_uint32_t assign_id
;
2235 lbm_uint16_t appset_idx
;
2236 lbm_uint16_t num_ras
;
2237 } lbmc_cntl_umq_ulb_rcr_hdr_t
;
2238 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, next_hdr)
2239 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, next_hdr)
2240 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, hdr_len)
2241 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, hdr_len)
2242 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, flags)
2243 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, flags)
2244 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_QUEUE_ID OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, queue_id)
2245 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_QUEUE_ID SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, queue_id)
2246 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_ULB_SRC_ID OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, ulb_src_id)
2247 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_ULB_SRC_ID SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, ulb_src_id)
2248 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_MSGID_REGID OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, msgid_regid)
2249 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_MSGID_REGID SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, msgid_regid)
2250 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_MSGID_STAMP OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, msgid_stamp)
2251 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_MSGID_STAMP SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, msgid_stamp)
2252 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_TOPIC_TSP OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, topic_tsp)
2253 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_TOPIC_TSP SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, topic_tsp)
2254 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, assign_id)
2255 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, assign_id)
2256 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, appset_idx)
2257 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, appset_idx)
2258 #define O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_NUM_RAS OFFSETOF(lbmc_cntl_umq_ulb_rcr_hdr_t, num_ras)
2259 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_NUM_RAS SIZEOF(lbmc_cntl_umq_ulb_rcr_hdr_t, num_ras)
2260 #define L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T (int) sizeof(lbmc_cntl_umq_ulb_rcr_hdr_t)
2262 /* LBMC control UMQ load factor header */
2265 lbm_uint8_t next_hdr
;
2266 lbm_uint8_t hdr_len
;
2269 lbm_uint16_t num_srcs
;
2271 } lbmc_cntl_umq_lf_hdr_t
;
2272 #define O_LBMC_CNTL_UMQ_LF_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_lf_hdr_t, next_hdr)
2273 #define L_LBMC_CNTL_UMQ_LF_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_lf_hdr_t, next_hdr)
2274 #define O_LBMC_CNTL_UMQ_LF_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_lf_hdr_t, hdr_len)
2275 #define L_LBMC_CNTL_UMQ_LF_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_lf_hdr_t, hdr_len)
2276 #define O_LBMC_CNTL_UMQ_LF_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_lf_hdr_t, flags)
2277 #define L_LBMC_CNTL_UMQ_LF_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_lf_hdr_t, flags)
2278 #define O_LBMC_CNTL_UMQ_LF_HDR_T_TYPE OFFSETOF(lbmc_cntl_umq_lf_hdr_t, type)
2279 #define L_LBMC_CNTL_UMQ_LF_HDR_T_TYPE SIZEOF(lbmc_cntl_umq_lf_hdr_t, type)
2280 #define O_LBMC_CNTL_UMQ_LF_HDR_T_NUM_SRCS OFFSETOF(lbmc_cntl_umq_lf_hdr_t, num_srcs)
2281 #define L_LBMC_CNTL_UMQ_LF_HDR_T_NUM_SRCS SIZEOF(lbmc_cntl_umq_lf_hdr_t, num_srcs)
2282 #define O_LBMC_CNTL_UMQ_LF_HDR_T_LF OFFSETOF(lbmc_cntl_umq_lf_hdr_t, lf)
2283 #define L_LBMC_CNTL_UMQ_LF_HDR_T_LF SIZEOF(lbmc_cntl_umq_lf_hdr_t, lf)
2284 #define L_LBMC_CNTL_UMQ_LF_HDR_T (int) sizeof(lbmc_cntl_umq_lf_hdr_t)
2286 /* LBMC control context information header */
2289 lbm_uint8_t next_hdr
;
2290 lbm_uint8_t hdr_len
;
2292 lbm_uint8_t reserved
;
2293 lbm_uint8_t hop_count
;
2296 lbm_uint32_t domain_id
;
2297 lbm_uint8_t ctxinst
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
2298 } lbmc_cntl_ctxinfo_hdr_t
;
2299 #define O_LBMC_CNTL_CTXINFO_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ctxinfo_hdr_t, next_hdr)
2300 #define L_LBMC_CNTL_CTXINFO_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ctxinfo_hdr_t, next_hdr)
2301 #define O_LBMC_CNTL_CTXINFO_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ctxinfo_hdr_t, hdr_len)
2302 #define L_LBMC_CNTL_CTXINFO_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ctxinfo_hdr_t, hdr_len)
2303 #define O_LBMC_CNTL_CTXINFO_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ctxinfo_hdr_t, flags)
2304 #define L_LBMC_CNTL_CTXINFO_HDR_T_FLAGS SIZEOF(lbmc_cntl_ctxinfo_hdr_t, flags)
2305 #define O_LBMC_CNTL_CTXINFO_HDR_T_RESERVED OFFSETOF(lbmc_cntl_ctxinfo_hdr_t, reserved)
2306 #define L_LBMC_CNTL_CTXINFO_HDR_T_RESERVED SIZEOF(lbmc_cntl_ctxinfo_hdr_t, reserved)
2307 #define O_LBMC_CNTL_CTXINFO_HDR_T_HOP_COUNT OFFSETOF(lbmc_cntl_ctxinfo_hdr_t, hop_count)
2308 #define L_LBMC_CNTL_CTXINFO_HDR_T_HOP_COUNT SIZEOF(lbmc_cntl_ctxinfo_hdr_t, hop_count)
2309 #define O_LBMC_CNTL_CTXINFO_HDR_T_PORT OFFSETOF(lbmc_cntl_ctxinfo_hdr_t, port)
2310 #define L_LBMC_CNTL_CTXINFO_HDR_T_PORT SIZEOF(lbmc_cntl_ctxinfo_hdr_t, port)
2311 #define O_LBMC_CNTL_CTXINFO_HDR_T_ADDR OFFSETOF(lbmc_cntl_ctxinfo_hdr_t, addr)
2312 #define L_LBMC_CNTL_CTXINFO_HDR_T_ADDR SIZEOF(lbmc_cntl_ctxinfo_hdr_t, addr)
2313 #define O_LBMC_CNTL_CTXINFO_HDR_T_DOMAIN_ID OFFSETOF(lbmc_cntl_ctxinfo_hdr_t, domain_id)
2314 #define L_LBMC_CNTL_CTXINFO_HDR_T_DOMAIN_ID SIZEOF(lbmc_cntl_ctxinfo_hdr_t, domain_id)
2315 #define O_LBMC_CNTL_CTXINFO_HDR_T_CTXINST OFFSETOF(lbmc_cntl_ctxinfo_hdr_t, ctxinst)
2316 #define L_LBMC_CNTL_CTXINFO_HDR_T_CTXINST SIZEOF(lbmc_cntl_ctxinfo_hdr_t, ctxinst)
2317 #define L_LBMC_CNTL_CTXINFO_HDR_T (int) sizeof(lbmc_cntl_ctxinfo_hdr_t)
2319 /* LBMC control UME proxy source election header */
2322 lbm_uint8_t next_hdr
;
2323 lbm_uint8_t hdr_len
;
2325 lbm_uint32_t source_ip
;
2326 lbm_uint32_t store_ip
;
2327 lbm_uint32_t transport_idx
;
2328 lbm_uint32_t topic_idx
;
2329 lbm_uint16_t source_port
;
2330 lbm_uint16_t store_port
;
2331 lbm_uint8_t source_ctxinst
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
2332 lbm_uint8_t store_ctxinst
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
2333 } lbmc_cntl_ume_pser_hdr_t
;
2334 #define O_LBMC_CNTL_UME_PSER_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_pser_hdr_t, next_hdr)
2335 #define L_LBMC_CNTL_UME_PSER_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_pser_hdr_t, next_hdr)
2336 #define O_LBMC_CNTL_UME_PSER_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_pser_hdr_t, hdr_len)
2337 #define L_LBMC_CNTL_UME_PSER_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_pser_hdr_t, hdr_len)
2338 #define O_LBMC_CNTL_UME_PSER_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_pser_hdr_t, flags)
2339 #define L_LBMC_CNTL_UME_PSER_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_pser_hdr_t, flags)
2340 #define O_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_IP OFFSETOF(lbmc_cntl_ume_pser_hdr_t, source_ip)
2341 #define L_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_IP SIZEOF(lbmc_cntl_ume_pser_hdr_t, source_ip)
2342 #define O_LBMC_CNTL_UME_PSER_HDR_T_STORE_IP OFFSETOF(lbmc_cntl_ume_pser_hdr_t, store_ip)
2343 #define L_LBMC_CNTL_UME_PSER_HDR_T_STORE_IP SIZEOF(lbmc_cntl_ume_pser_hdr_t, store_ip)
2344 #define O_LBMC_CNTL_UME_PSER_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_ume_pser_hdr_t, transport_idx)
2345 #define L_LBMC_CNTL_UME_PSER_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_ume_pser_hdr_t, transport_idx)
2346 #define O_LBMC_CNTL_UME_PSER_HDR_T_TOPIC_IDX OFFSETOF(lbmc_cntl_ume_pser_hdr_t, topic_idx)
2347 #define L_LBMC_CNTL_UME_PSER_HDR_T_TOPIC_IDX SIZEOF(lbmc_cntl_ume_pser_hdr_t, topic_idx)
2348 #define O_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_PORT OFFSETOF(lbmc_cntl_ume_pser_hdr_t, source_port)
2349 #define L_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_PORT SIZEOF(lbmc_cntl_ume_pser_hdr_t, source_port)
2350 #define O_LBMC_CNTL_UME_PSER_HDR_T_STORE_PORT OFFSETOF(lbmc_cntl_ume_pser_hdr_t, store_port)
2351 #define L_LBMC_CNTL_UME_PSER_HDR_T_STORE_PORT SIZEOF(lbmc_cntl_ume_pser_hdr_t, store_port)
2352 #define O_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_CTXINST OFFSETOF(lbmc_cntl_ume_pser_hdr_t, source_ctxinst)
2353 #define L_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_CTXINST SIZEOF(lbmc_cntl_ume_pser_hdr_t, source_ctxinst)
2354 #define O_LBMC_CNTL_UME_PSER_HDR_T_STORE_CTXINST OFFSETOF(lbmc_cntl_ume_pser_hdr_t, store_ctxinst)
2355 #define L_LBMC_CNTL_UME_PSER_HDR_T_STORE_CTXINST SIZEOF(lbmc_cntl_ume_pser_hdr_t, store_ctxinst)
2356 #define L_LBMC_CNTL_UME_PSER_HDR_T (int) sizeof(lbmc_cntl_ume_pser_hdr_t)
2358 /* LBMC domain header */
2361 lbm_uint8_t next_hdr
;
2362 lbm_uint8_t hdr_len
;
2364 lbm_uint32_t domain
;
2365 } lbmc_domain_hdr_t
;
2366 #define O_LBMC_DOMAIN_HDR_T_NEXT_HDR OFFSETOF(lbmc_domain_hdr_t, next_hdr)
2367 #define L_LBMC_DOMAIN_HDR_T_NEXT_HDR SIZEOF(lbmc_domain_hdr_t, next_hdr)
2368 #define O_LBMC_DOMAIN_HDR_T_HDR_LEN OFFSETOF(lbmc_domain_hdr_t, hdr_len)
2369 #define L_LBMC_DOMAIN_HDR_T_HDR_LEN SIZEOF(lbmc_domain_hdr_t, hdr_len)
2370 #define O_LBMC_DOMAIN_HDR_T_FLAGS OFFSETOF(lbmc_domain_hdr_t, flags)
2371 #define L_LBMC_DOMAIN_HDR_T_FLAGS SIZEOF(lbmc_domain_hdr_t, flags)
2372 #define O_LBMC_DOMAIN_HDR_T_DOMAIN OFFSETOF(lbmc_domain_hdr_t, domain)
2373 #define L_LBMC_DOMAIN_HDR_T_DOMAIN SIZEOF(lbmc_domain_hdr_t, domain)
2374 #define L_LBMC_DOMAIN_HDR_T (int) sizeof(lbmc_domain_hdr_t)
2376 /* LBMC control TNWG capabilities header */
2379 lbm_uint8_t next_hdr
;
2380 lbm_uint8_t hdr_len
;
2382 lbm_uint32_t capabilities1
;
2383 lbm_uint32_t capabilities2
;
2384 lbm_uint32_t capabilities3
;
2385 lbm_uint32_t capabilities4
;
2386 } lbmc_cntl_tnwg_capabilities_hdr_t
;
2388 #define O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_tnwg_capabilities_hdr_t, next_hdr)
2389 #define L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_tnwg_capabilities_hdr_t, next_hdr)
2390 #define O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_tnwg_capabilities_hdr_t, hdr_len)
2391 #define L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_tnwg_capabilities_hdr_t, hdr_len)
2392 #define O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_FLAGS OFFSETOF(lbmc_cntl_tnwg_capabilities_hdr_t, flags)
2393 #define L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_FLAGS SIZEOF(lbmc_cntl_tnwg_capabilities_hdr_t, flags)
2394 #define O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES1 OFFSETOF(lbmc_cntl_tnwg_capabilities_hdr_t, capabilities1)
2395 #define L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES1 SIZEOF(lbmc_cntl_tnwg_capabilities_hdr_t, capabilities1)
2396 #define O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES2 OFFSETOF(lbmc_cntl_tnwg_capabilities_hdr_t, capabilities2)
2397 #define L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES2 SIZEOF(lbmc_cntl_tnwg_capabilities_hdr_t, capabilities2)
2398 #define O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES3 OFFSETOF(lbmc_cntl_tnwg_capabilities_hdr_t, capabilities3)
2399 #define L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES3 SIZEOF(lbmc_cntl_tnwg_capabilities_hdr_t, capabilities3)
2400 #define O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES4 OFFSETOF(lbmc_cntl_tnwg_capabilities_hdr_t, capabilities4)
2401 #define L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES4 SIZEOF(lbmc_cntl_tnwg_capabilities_hdr_t, capabilities4)
2402 #define L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T (int) sizeof(lbmc_cntl_tnwg_capabilities_hdr_t)
2404 /* LBMC pattern index header */
2407 lbm_uint8_t next_hdr
;
2408 lbm_uint8_t hdr_len
;
2411 } lbmc_patidx_hdr_t
;
2412 #define O_LBMC_PATIDX_HDR_T_NEXT_HDR OFFSETOF(lbmc_patidx_hdr_t, next_hdr)
2413 #define L_LBMC_PATIDX_HDR_T_NEXT_HDR SIZEOF(lbmc_patidx_hdr_t, next_hdr)
2414 #define O_LBMC_PATIDX_HDR_T_HDR_LEN OFFSETOF(lbmc_patidx_hdr_t, hdr_len)
2415 #define L_LBMC_PATIDX_HDR_T_HDR_LEN SIZEOF(lbmc_patidx_hdr_t, hdr_len)
2416 #define O_LBMC_PATIDX_HDR_T_FLAGS OFFSETOF(lbmc_patidx_hdr_t, flags)
2417 #define L_LBMC_PATIDX_HDR_T_FLAGS SIZEOF(lbmc_patidx_hdr_t, flags)
2418 #define O_LBMC_PATIDX_HDR_T_PATIDX OFFSETOF(lbmc_patidx_hdr_t, patidx)
2419 #define L_LBMC_PATIDX_HDR_T_PATIDX SIZEOF(lbmc_patidx_hdr_t, patidx)
2420 #define L_LBMC_PATIDX_HDR_T (int) sizeof(lbmc_patidx_hdr_t)
2422 /* LBMC control UME client lifetime header */
2425 lbm_uint8_t next_hdr
;
2426 lbm_uint8_t hdr_len
;
2428 lbm_uint32_t activity_tmo
;
2429 lbm_uint32_t lifetime
;
2431 } lbmc_cntl_ume_client_lifetime_hdr_t
;
2432 #define O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_client_lifetime_hdr_t, next_hdr)
2433 #define L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_client_lifetime_hdr_t, next_hdr)
2434 #define O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_client_lifetime_hdr_t, hdr_len)
2435 #define L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_client_lifetime_hdr_t, hdr_len)
2436 #define O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_client_lifetime_hdr_t, flags)
2437 #define L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_client_lifetime_hdr_t, flags)
2438 #define O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_ACTIVITY_TMO OFFSETOF(lbmc_cntl_ume_client_lifetime_hdr_t, activity_tmo)
2439 #define L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_ACTIVITY_TMO SIZEOF(lbmc_cntl_ume_client_lifetime_hdr_t, activity_tmo)
2440 #define O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_LIFETIME OFFSETOF(lbmc_cntl_ume_client_lifetime_hdr_t, lifetime)
2441 #define L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_LIFETIME SIZEOF(lbmc_cntl_ume_client_lifetime_hdr_t, lifetime)
2442 #define O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_TTL OFFSETOF(lbmc_cntl_ume_client_lifetime_hdr_t, ttl)
2443 #define L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_TTL SIZEOF(lbmc_cntl_ume_client_lifetime_hdr_t, ttl)
2444 #define L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T (int) sizeof(lbmc_cntl_ume_client_lifetime_hdr_t)
2446 /* LBMC control UME session ID header */
2449 lbm_uint8_t next_hdr
;
2450 lbm_uint8_t hdr_len
;
2453 } lbmc_cntl_ume_sid_hdr_t
;
2454 #define O_LBMC_CNTL_UME_SID_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_sid_hdr_t, next_hdr)
2455 #define L_LBMC_CNTL_UME_SID_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_sid_hdr_t, next_hdr)
2456 #define O_LBMC_CNTL_UME_SID_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_sid_hdr_t, hdr_len)
2457 #define L_LBMC_CNTL_UME_SID_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_sid_hdr_t, hdr_len)
2458 #define O_LBMC_CNTL_UME_SID_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_sid_hdr_t, flags)
2459 #define L_LBMC_CNTL_UME_SID_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_sid_hdr_t, flags)
2460 #define O_LBMC_CNTL_UME_SID_HDR_T_SID OFFSETOF(lbmc_cntl_ume_sid_hdr_t, sid)
2461 #define L_LBMC_CNTL_UME_SID_HDR_T_SID SIZEOF(lbmc_cntl_ume_sid_hdr_t, sid)
2462 #define L_LBMC_CNTL_UME_SID_HDR_T (int) sizeof(lbmc_cntl_ume_sid_hdr_t)
2464 /* LBMC control UMQ index command header */
2467 lbm_uint8_t next_hdr
;
2468 lbm_uint8_t hdr_len
;
2470 lbm_uint8_t cmd_type
;
2471 lbm_uint32_t queue_id
;
2472 lbm_uint16_t cmd_id
;
2473 lbm_uint16_t inst_idx
;
2474 lbm_uint8_t regid
[8];
2475 } lbmc_cntl_umq_idx_cmd_hdr_t
;
2476 #define O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_idx_cmd_hdr_t, next_hdr)
2477 #define L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_idx_cmd_hdr_t, next_hdr)
2478 #define O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_idx_cmd_hdr_t, hdr_len)
2479 #define L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_idx_cmd_hdr_t, hdr_len)
2480 #define O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_idx_cmd_hdr_t, flags)
2481 #define L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_idx_cmd_hdr_t, flags)
2482 #define O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_CMD_TYPE OFFSETOF(lbmc_cntl_umq_idx_cmd_hdr_t, cmd_type)
2483 #define L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_CMD_TYPE SIZEOF(lbmc_cntl_umq_idx_cmd_hdr_t, cmd_type)
2484 #define O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_QUEUE_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_hdr_t, queue_id)
2485 #define L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_QUEUE_ID SIZEOF(lbmc_cntl_umq_idx_cmd_hdr_t, queue_id)
2486 #define O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_CMD_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_hdr_t, cmd_id)
2487 #define L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_CMD_ID SIZEOF(lbmc_cntl_umq_idx_cmd_hdr_t, cmd_id)
2488 #define O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_INST_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_hdr_t, inst_idx)
2489 #define L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_INST_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_hdr_t, inst_idx)
2490 #define O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_REGID OFFSETOF(lbmc_cntl_umq_idx_cmd_hdr_t, regid)
2491 #define L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_REGID SIZEOF(lbmc_cntl_umq_idx_cmd_hdr_t, regid)
2492 #define L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_hdr_t)
2496 lbm_uint32_t rcr_idx
;
2497 lbm_uint32_t assign_id
;
2498 } lbmc_cntl_umq_rcv_stop_idx_assign_hdr_t
;
2499 #define O_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_rcv_stop_idx_assign_hdr_t, rcr_idx)
2500 #define L_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_rcv_stop_idx_assign_hdr_t, rcr_idx)
2501 #define O_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rcv_stop_idx_assign_hdr_t, assign_id)
2502 #define L_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rcv_stop_idx_assign_hdr_t, assign_id)
2503 #define L_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_rcv_stop_idx_assign_hdr_t)
2507 lbm_uint32_t rcr_idx
;
2508 lbm_uint32_t assign_id
;
2509 } lbmc_cntl_umq_rcv_start_idx_assign_hdr_t
;
2510 #define O_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_rcv_start_idx_assign_hdr_t, rcr_idx)
2511 #define L_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_rcv_start_idx_assign_hdr_t, rcr_idx)
2512 #define O_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rcv_start_idx_assign_hdr_t, assign_id)
2513 #define L_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rcv_start_idx_assign_hdr_t, assign_id)
2514 #define L_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_rcv_start_idx_assign_hdr_t)
2518 lbm_uint32_t rcr_idx
;
2519 lbm_uint32_t assign_id
;
2521 lbm_uint8_t index_len
;
2522 lbm_uint8_t reserved
[3];
2523 } lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t
;
2524 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t, rcr_idx)
2525 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t, rcr_idx)
2526 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t, assign_id)
2527 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t, assign_id)
2528 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t, flags)
2529 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t, flags)
2530 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_INDEX_LEN OFFSETOF(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t, index_len)
2531 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_INDEX_LEN SIZEOF(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t, index_len)
2532 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t, reserved)
2533 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t, reserved)
2534 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_INDEX O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED + L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED
2535 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_rcv_release_idx_assign_hdr_t)
2539 lbm_uint32_t src_id
;
2540 lbm_uint32_t assign_id
;
2541 lbm_uint16_t appset_idx
;
2542 lbm_uint16_t reserved
;
2543 } lbmc_cntl_umq_ulb_rcv_stop_idx_assign_hdr_t
;
2544 #define O_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_SRC_ID OFFSETOF(lbmc_cntl_umq_ulb_rcv_stop_idx_assign_hdr_t, src_id)
2545 #define L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_SRC_ID SIZEOF(lbmc_cntl_umq_ulb_rcv_stop_idx_assign_hdr_t, src_id)
2546 #define O_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ulb_rcv_stop_idx_assign_hdr_t, assign_id)
2547 #define L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ulb_rcv_stop_idx_assign_hdr_t, assign_id)
2548 #define O_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_ulb_rcv_stop_idx_assign_hdr_t, appset_idx)
2549 #define L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_ulb_rcv_stop_idx_assign_hdr_t, appset_idx)
2550 #define O_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_ulb_rcv_stop_idx_assign_hdr_t, reserved)
2551 #define L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_ulb_rcv_stop_idx_assign_hdr_t, reserved)
2552 #define L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_ulb_rcv_stop_idx_assign_hdr_t)
2556 lbm_uint32_t src_id
;
2557 lbm_uint32_t assign_id
;
2558 lbm_uint16_t appset_idx
;
2559 lbm_uint16_t reserved
;
2560 } lbmc_cntl_umq_ulb_rcv_start_idx_assign_hdr_t
;
2561 #define O_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_SRC_ID OFFSETOF(lbmc_cntl_umq_ulb_rcv_start_idx_assign_hdr_t, src_id)
2562 #define L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_SRC_ID SIZEOF(lbmc_cntl_umq_ulb_rcv_start_idx_assign_hdr_t, src_id)
2563 #define O_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ulb_rcv_start_idx_assign_hdr_t, assign_id)
2564 #define L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ulb_rcv_start_idx_assign_hdr_t, assign_id)
2565 #define O_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_ulb_rcv_start_idx_assign_hdr_t, appset_idx)
2566 #define L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_ulb_rcv_start_idx_assign_hdr_t, appset_idx)
2567 #define O_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_ulb_rcv_start_idx_assign_hdr_t, reserved)
2568 #define L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_ulb_rcv_start_idx_assign_hdr_t, reserved)
2569 #define L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_ulb_rcv_start_idx_assign_hdr_t)
2573 lbm_uint32_t src_id
;
2574 lbm_uint32_t assign_id
;
2576 lbm_uint16_t appset_idx
;
2577 lbm_uint8_t index_len
;
2578 lbm_uint8_t reserved
[1];
2579 } lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t
;
2580 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_SRC_ID OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, src_id)
2581 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_SRC_ID SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, src_id)
2582 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, assign_id)
2583 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, assign_id)
2584 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, flags)
2585 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, flags)
2586 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, appset_idx)
2587 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, appset_idx)
2588 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_INDEX_LEN OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, index_len)
2589 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_INDEX_LEN SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, index_len)
2590 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, reserved)
2591 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t, reserved)
2592 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_INDEX O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED + L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED
2593 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_ulb_idx_cmd_rcv_release_idx_assign_hdr_t)
2597 lbm_uint32_t rcr_idx
;
2598 lbm_uint32_t assign_id
;
2600 lbm_uint8_t index_len
;
2601 lbm_uint8_t reserved
[3];
2602 } lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t
;
2603 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t, rcr_idx)
2604 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t, rcr_idx)
2605 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t, assign_id)
2606 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t, assign_id)
2607 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t, flags)
2608 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t, flags)
2609 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN OFFSETOF(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t, index_len)
2610 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN SIZEOF(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t, index_len)
2611 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t, reserved)
2612 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t, reserved)
2613 #define O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED + L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
2614 #define L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_rcv_reserve_idx_assign_hdr_t)
2618 lbm_uint32_t src_id
;
2619 lbm_uint32_t assign_id
;
2621 lbm_uint16_t appset_idx
;
2622 lbm_uint8_t index_len
;
2623 lbm_uint8_t reserved
[1];
2624 } lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t
;
2625 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_SRC_ID OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, src_id)
2626 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_SRC_ID SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, src_id)
2627 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, assign_id)
2628 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, assign_id)
2629 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, flags)
2630 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, flags)
2631 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, appset_idx)
2632 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, appset_idx)
2633 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, index_len)
2634 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, index_len)
2635 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, reserved)
2636 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t, reserved)
2637 #define O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED + L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
2638 #define L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_ulb_idx_cmd_rcv_reserve_idx_assign_hdr_t)
2640 /* LBMC control UMQ index command response header */
2643 lbm_uint8_t next_hdr
;
2644 lbm_uint8_t hdr_len
;
2646 lbm_uint8_t resp_type
;
2647 lbm_uint32_t queue_id
;
2648 lbm_uint16_t cmd_id
;
2649 lbm_uint16_t inst_idx
;
2650 lbm_uint8_t regid
[8];
2651 } lbmc_cntl_umq_idx_cmd_resp_hdr_t
;
2652 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, next_hdr)
2653 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, next_hdr)
2654 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, hdr_len)
2655 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, hdr_len)
2656 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, flags)
2657 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, flags)
2658 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_RESP_TYPE OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, resp_type)
2659 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_RESP_TYPE SIZEOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, resp_type)
2660 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_QUEUE_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, queue_id)
2661 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_QUEUE_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, queue_id)
2662 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_CMD_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, cmd_id)
2663 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_CMD_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, cmd_id)
2664 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_INST_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, inst_idx)
2665 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_INST_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, inst_idx)
2666 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_REGID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, regid)
2667 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_REGID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_hdr_t, regid)
2668 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_resp_hdr_t)
2672 lbm_uint16_t reserved
;
2674 } lbmc_cntl_umq_idx_cmd_resp_err_hdr_t
;
2675 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_err_hdr_t, reserved)
2676 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_idx_cmd_resp_err_hdr_t, reserved)
2677 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T_CODE OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_err_hdr_t, code)
2678 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T_CODE SIZEOF(lbmc_cntl_umq_idx_cmd_resp_err_hdr_t, code)
2679 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_resp_err_hdr_t)
2683 lbm_uint32_t rcr_idx
;
2684 lbm_uint32_t assign_id
;
2685 } lbmc_cntl_umq_idx_cmd_resp_rcv_stop_idx_assign_hdr_t
;
2686 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_stop_idx_assign_hdr_t, rcr_idx)
2687 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_stop_idx_assign_hdr_t, rcr_idx)
2688 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_stop_idx_assign_hdr_t, assign_id)
2689 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_stop_idx_assign_hdr_t, assign_id)
2690 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_resp_rcv_stop_idx_assign_hdr_t)
2694 lbm_uint32_t rcr_idx
;
2695 lbm_uint32_t assign_id
;
2696 lbm_uint16_t appset_idx
;
2697 lbm_uint16_t reserved
;
2698 } lbmc_cntl_umq_idx_cmd_resp_rcv_start_idx_assign_hdr_t
;
2699 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_start_idx_assign_hdr_t, rcr_idx)
2700 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_start_idx_assign_hdr_t, rcr_idx)
2701 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_start_idx_assign_hdr_t, assign_id)
2702 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_start_idx_assign_hdr_t, assign_id)
2703 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_start_idx_assign_hdr_t, appset_idx)
2704 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_start_idx_assign_hdr_t, appset_idx)
2705 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_start_idx_assign_hdr_t, reserved)
2706 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_start_idx_assign_hdr_t, reserved)
2707 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_resp_rcv_start_idx_assign_hdr_t)
2711 lbm_uint32_t rcr_idx
;
2712 lbm_uint32_t assign_id
;
2713 lbm_uint16_t appset_idx
;
2714 lbm_uint16_t reserved
;
2715 } lbmc_cntl_umq_idx_cmd_resp_rcv_release_idx_assign_hdr_t
;
2716 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_release_idx_assign_hdr_t, rcr_idx)
2717 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_release_idx_assign_hdr_t, rcr_idx)
2718 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_release_idx_assign_hdr_t, assign_id)
2719 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_release_idx_assign_hdr_t, assign_id)
2720 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_release_idx_assign_hdr_t, appset_idx)
2721 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_release_idx_assign_hdr_t, appset_idx)
2722 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_release_idx_assign_hdr_t, reserved)
2723 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_release_idx_assign_hdr_t, reserved)
2724 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_resp_rcv_release_idx_assign_hdr_t)
2728 lbm_uint32_t src_id
;
2729 lbm_uint32_t assign_id
;
2730 lbm_uint16_t appset_idx
;
2731 lbm_uint16_t reserved
;
2732 } lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_stop_idx_assign_hdr_t
;
2733 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_SRC_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_stop_idx_assign_hdr_t, src_id)
2734 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_SRC_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_stop_idx_assign_hdr_t, src_id)
2735 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_stop_idx_assign_hdr_t, assign_id)
2736 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_stop_idx_assign_hdr_t, assign_id)
2737 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_stop_idx_assign_hdr_t, appset_idx)
2738 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_stop_idx_assign_hdr_t, appset_idx)
2739 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_stop_idx_assign_hdr_t, reserved)
2740 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_stop_idx_assign_hdr_t, reserved)
2741 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_stop_idx_assign_hdr_t)
2745 lbm_uint32_t src_id
;
2746 lbm_uint32_t assign_id
;
2747 lbm_uint16_t appset_idx
;
2748 lbm_uint16_t reserved
;
2749 } lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_start_idx_assign_hdr_t
;
2750 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_SRC_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_start_idx_assign_hdr_t, src_id)
2751 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_SRC_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_start_idx_assign_hdr_t, src_id)
2752 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_start_idx_assign_hdr_t, assign_id)
2753 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_start_idx_assign_hdr_t, assign_id)
2754 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_start_idx_assign_hdr_t, appset_idx)
2755 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_start_idx_assign_hdr_t, appset_idx)
2756 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_start_idx_assign_hdr_t, reserved)
2757 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_start_idx_assign_hdr_t, reserved)
2758 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_start_idx_assign_hdr_t)
2762 lbm_uint32_t src_id
;
2763 lbm_uint32_t assign_id
;
2764 lbm_uint16_t appset_idx
;
2765 lbm_uint16_t reserved
;
2766 } lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_release_idx_assign_hdr_t
;
2767 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_SRC_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_release_idx_assign_hdr_t, src_id)
2768 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_SRC_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_release_idx_assign_hdr_t, src_id)
2769 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_release_idx_assign_hdr_t, assign_id)
2770 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_release_idx_assign_hdr_t, assign_id)
2771 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_release_idx_assign_hdr_t, appset_idx)
2772 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_release_idx_assign_hdr_t, appset_idx)
2773 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_release_idx_assign_hdr_t, reserved)
2774 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_release_idx_assign_hdr_t, reserved)
2775 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_release_idx_assign_hdr_t)
2779 lbm_uint32_t rcr_idx
;
2780 lbm_uint32_t assign_id
;
2782 lbm_uint16_t appset_idx
;
2783 lbm_uint8_t index_len
;
2784 lbm_uint8_t reserved
[1];
2785 } lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t
;
2786 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, rcr_idx)
2787 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, rcr_idx)
2788 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, assign_id)
2789 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, assign_id)
2790 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, flags)
2791 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, flags)
2792 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, appset_idx)
2793 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, appset_idx)
2794 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, index_len)
2795 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, index_len)
2796 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, reserved)
2797 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t, reserved)
2798 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED + L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
2799 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_resp_rcv_reserve_idx_assign_hdr_t)
2803 lbm_uint32_t src_id
;
2804 lbm_uint32_t assign_id
;
2806 lbm_uint16_t appset_idx
;
2807 lbm_uint8_t index_len
;
2808 lbm_uint8_t reserved
[1];
2809 } lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t
;
2810 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_SRC_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, src_id)
2811 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_SRC_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, src_id)
2812 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, assign_id)
2813 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, assign_id)
2814 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, flags)
2815 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, flags)
2816 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, appset_idx)
2817 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, appset_idx)
2818 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, index_len)
2819 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, index_len)
2820 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, reserved)
2821 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t, reserved)
2822 #define O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED + L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
2823 #define L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T (int) sizeof(lbmc_cntl_umq_idx_cmd_resp_ulb_rcv_reserve_idx_assign_hdr_t)
2825 /* LBMC originating domain header (same as lbmc_domain_hdr_t) */
2826 #define O_LBMC_ODOMAIN_HDR_T_NEXT_HDR OFFSETOF(lbmc_domain_hdr_t, next_hdr)
2827 #define L_LBMC_ODOMAIN_HDR_T_NEXT_HDR SIZEOF(lbmc_domain_hdr_t, next_hdr)
2828 #define O_LBMC_ODOMAIN_HDR_T_HDR_LEN OFFSETOF(lbmc_domain_hdr_t, hdr_len)
2829 #define L_LBMC_ODOMAIN_HDR_T_HDR_LEN SIZEOF(lbmc_domain_hdr_t, hdr_len)
2830 #define O_LBMC_ODOMAIN_HDR_T_FLAGS OFFSETOF(lbmc_domain_hdr_t, flags)
2831 #define L_LBMC_ODOMAIN_HDR_T_FLAGS SIZEOF(lbmc_domain_hdr_t, flags)
2832 #define O_LBMC_ODOMAIN_HDR_T_ODOMAIN OFFSETOF(lbmc_domain_hdr_t, domain)
2833 #define L_LBMC_ODOMAIN_HDR_T_ODOMAIN SIZEOF(lbmc_domain_hdr_t, domain)
2834 #define L_LBMC_ODOMAIN_HDR_T (int) sizeof(lbmc_domain_hdr_t)
2836 /* LBMC stream header */
2839 lbm_uint8_t next_hdr
;
2840 lbm_uint8_t hdr_len
;
2842 lbm_uint32_t stream_id
;
2844 lbm_uint8_t ctxinst
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
2845 } lbmc_stream_hdr_t
;
2846 #define O_LBMC_STREAM_HDR_T_NEXT_HDR OFFSETOF(lbmc_stream_hdr_t, next_hdr)
2847 #define L_LBMC_STREAM_HDR_T_NEXT_HDR SIZEOF(lbmc_stream_hdr_t, next_hdr)
2848 #define O_LBMC_STREAM_HDR_T_HDR_LEN OFFSETOF(lbmc_stream_hdr_t, hdr_len)
2849 #define L_LBMC_STREAM_HDR_T_HDR_LEN SIZEOF(lbmc_stream_hdr_t, hdr_len)
2850 #define O_LBMC_STREAM_HDR_T_FLAGS OFFSETOF(lbmc_stream_hdr_t, flags)
2851 #define L_LBMC_STREAM_HDR_T_FLAGS SIZEOF(lbmc_stream_hdr_t, flags)
2852 #define O_LBMC_STREAM_HDR_T_STREAM_ID OFFSETOF(lbmc_stream_hdr_t, stream_id)
2853 #define L_LBMC_STREAM_HDR_T_STREAM_ID SIZEOF(lbmc_stream_hdr_t, stream_id)
2854 #define O_LBMC_STREAM_HDR_T_SQN OFFSETOF(lbmc_stream_hdr_t, sqn)
2855 #define L_LBMC_STREAM_HDR_T_SQN SIZEOF(lbmc_stream_hdr_t, sqn)
2856 #define O_LBMC_STREAM_HDR_T_CTXINST OFFSETOF(lbmc_stream_hdr_t, ctxinst)
2857 #define L_LBMC_STREAM_HDR_T_CTXINST SIZEOF(lbmc_stream_hdr_t, ctxinst)
2858 #define L_LBMC_STREAM_HDR_T (int) sizeof(lbmc_stream_hdr_t)
2860 /* LBMC control topic multi-domain interest header */
2863 lbm_uint8_t next_hdr
;
2864 lbm_uint8_t hdr_len
;
2866 lbm_uint16_t domain_count
;
2868 } lbmc_cntl_topic_md_interest_hdr_t
;
2869 #define O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_topic_md_interest_hdr_t, next_hdr)
2870 #define L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_topic_md_interest_hdr_t, next_hdr)
2871 #define O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_topic_md_interest_hdr_t, hdr_len)
2872 #define L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_topic_md_interest_hdr_t, hdr_len)
2873 #define O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_FLAGS OFFSETOF(lbmc_cntl_topic_md_interest_hdr_t, flags)
2874 #define L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_FLAGS SIZEOF(lbmc_cntl_topic_md_interest_hdr_t, flags)
2875 #define O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_DOMAIN_COUNT OFFSETOF(lbmc_cntl_topic_md_interest_hdr_t, domain_count)
2876 #define L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_DOMAIN_COUNT SIZEOF(lbmc_cntl_topic_md_interest_hdr_t, domain_count)
2877 #define O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_RES1 OFFSETOF(lbmc_cntl_topic_md_interest_hdr_t, res1)
2878 #define L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_RES1 SIZEOF(lbmc_cntl_topic_md_interest_hdr_t, res1)
2879 #define L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T (int) sizeof(lbmc_cntl_topic_md_interest_hdr_t)
2881 /* LBMC control pattern multi-domain interest header */
2884 lbm_uint8_t next_hdr
;
2885 lbm_uint8_t hdr_len
;
2888 lbm_uint16_t domain_count
;
2891 } lbmc_cntl_pattern_md_interest_hdr_t
;
2892 #define O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_pattern_md_interest_hdr_t, next_hdr)
2893 #define L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_pattern_md_interest_hdr_t, next_hdr)
2894 #define O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_pattern_md_interest_hdr_t, hdr_len)
2895 #define L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_pattern_md_interest_hdr_t, hdr_len)
2896 #define O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_FLAGS OFFSETOF(lbmc_cntl_pattern_md_interest_hdr_t, flags)
2897 #define L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_FLAGS SIZEOF(lbmc_cntl_pattern_md_interest_hdr_t, flags)
2898 #define O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_TYPE OFFSETOF(lbmc_cntl_pattern_md_interest_hdr_t, type)
2899 #define L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_TYPE SIZEOF(lbmc_cntl_pattern_md_interest_hdr_t, type)
2900 #define O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_DOMAIN_COUNT OFFSETOF(lbmc_cntl_pattern_md_interest_hdr_t, domain_count)
2901 #define L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_DOMAIN_COUNT SIZEOF(lbmc_cntl_pattern_md_interest_hdr_t, domain_count)
2902 #define O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_RES1 OFFSETOF(lbmc_cntl_pattern_md_interest_hdr_t, res1)
2903 #define L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_RES1 SIZEOF(lbmc_cntl_pattern_md_interest_hdr_t, res1)
2904 #define O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_INDEX OFFSETOF(lbmc_cntl_pattern_md_interest_hdr_t, idx)
2905 #define L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_INDEX SIZEOF(lbmc_cntl_pattern_md_interest_hdr_t, idx)
2906 #define L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T (int) sizeof(lbmc_cntl_pattern_md_interest_hdr_t)
2908 /* LBMC control TNWG keepalive header */
2911 lbm_uint8_t next_hdr
;
2912 lbm_uint8_t hdr_len
;
2915 lbm_uint8_t ts_seconds
[8];
2916 lbm_uint32_t ts_microseconds
;
2917 lbm_uint32_t reserved_1
;
2918 lbm_uint8_t reserved_2
[8];
2919 lbm_uint8_t reserved_3
[8];
2920 lbm_uint8_t reserved_4
[8];
2921 lbm_uint8_t reserved_5
[8];
2922 lbm_uint8_t reserved_6
[8];
2923 } lbmc_cntl_tnwg_ka_hdr_t
;
2924 #define O_LBMC_CNTL_TNWG_KA_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, next_hdr)
2925 #define L_LBMC_CNTL_TNWG_KA_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, next_hdr)
2926 #define O_LBMC_CNTL_TNWG_KA_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, hdr_len)
2927 #define L_LBMC_CNTL_TNWG_KA_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, hdr_len)
2928 #define O_LBMC_CNTL_TNWG_KA_HDR_T_FLAGS OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, flags)
2929 #define L_LBMC_CNTL_TNWG_KA_HDR_T_FLAGS SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, flags)
2930 #define O_LBMC_CNTL_TNWG_KA_HDR_T_INDEX OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, idx)
2931 #define L_LBMC_CNTL_TNWG_KA_HDR_T_INDEX SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, idx)
2932 #define O_LBMC_CNTL_TNWG_KA_HDR_T_TS_SECONDS OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, ts_seconds)
2933 #define L_LBMC_CNTL_TNWG_KA_HDR_T_TS_SECONDS SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, ts_seconds)
2934 #define O_LBMC_CNTL_TNWG_KA_HDR_T_TS_MICROSECONDS OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, ts_microseconds)
2935 #define L_LBMC_CNTL_TNWG_KA_HDR_T_TS_MICROSECONDS SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, ts_microseconds)
2936 #define O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_1 OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_1)
2937 #define L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_1 SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_1)
2938 #define O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_2 OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_2)
2939 #define L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_2 SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_2)
2940 #define O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_3 OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_3)
2941 #define L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_3 SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_3)
2942 #define O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_4 OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_4)
2943 #define L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_4 SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_4)
2944 #define O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_5 OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_5)
2945 #define L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_5 SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_5)
2946 #define O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_6 OFFSETOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_6)
2947 #define L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_6 SIZEOF(lbmc_cntl_tnwg_ka_hdr_t, reserved_6)
2948 #define L_LBMC_CNTL_TNWG_KA_HDR_T (int) sizeof(lbmc_cntl_tnwg_ka_hdr_t)
2950 /* LBMC control UME receiver keepalive header */
2953 lbm_uint8_t next_hdr
;
2954 lbm_uint8_t hdr_len
;
2956 lbm_uint32_t rcv_regid
;
2957 lbm_uint64_t session_id
;
2958 lbm_uint8_t ctxinst
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
2959 } lbmc_cntl_ume_receiver_keepalive_hdr_t
;
2960 #define O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, next_hdr)
2961 #define L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, next_hdr)
2962 #define O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, hdr_len)
2963 #define L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, hdr_len)
2964 #define O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, flags)
2965 #define L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, flags)
2966 #define O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_RCV_REGID OFFSETOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, rcv_regid)
2967 #define L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_RCV_REGID SIZEOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, rcv_regid)
2968 #define O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_SESSION_ID OFFSETOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, session_id)
2969 #define L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_SESSION_ID SIZEOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, session_id)
2970 #define O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_CTXINST OFFSETOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, ctxinst)
2971 #define L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_CTXINST SIZEOF(lbmc_cntl_ume_receiver_keepalive_hdr_t, ctxinst)
2972 #define L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T (int) sizeof(lbmc_cntl_ume_receiver_keepalive_hdr_t)
2974 /* LBMC control UMQ command header */
2977 lbm_uint8_t next_hdr
;
2978 lbm_uint8_t hdr_len
;
2980 lbm_uint8_t cmd_type
;
2981 lbm_uint32_t queue_id
;
2982 lbm_uint16_t cmd_id
;
2983 lbm_uint16_t inst_idx
;
2984 lbm_uint8_t regid
[8];
2985 } lbmc_cntl_umq_cmd_hdr_t
;
2986 #define O_LBMC_CNTL_UMQ_CMD_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_cmd_hdr_t, next_hdr)
2987 #define L_LBMC_CNTL_UMQ_CMD_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_cmd_hdr_t, next_hdr)
2988 #define O_LBMC_CNTL_UMQ_CMD_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_cmd_hdr_t, hdr_len)
2989 #define L_LBMC_CNTL_UMQ_CMD_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_cmd_hdr_t, hdr_len)
2990 #define O_LBMC_CNTL_UMQ_CMD_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_cmd_hdr_t, flags)
2991 #define L_LBMC_CNTL_UMQ_CMD_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_cmd_hdr_t, flags)
2992 #define O_LBMC_CNTL_UMQ_CMD_HDR_T_CMD_TYPE OFFSETOF(lbmc_cntl_umq_cmd_hdr_t, cmd_type)
2993 #define L_LBMC_CNTL_UMQ_CMD_HDR_T_CMD_TYPE SIZEOF(lbmc_cntl_umq_cmd_hdr_t, cmd_type)
2994 #define O_LBMC_CNTL_UMQ_CMD_HDR_T_QUEUE_ID OFFSETOF(lbmc_cntl_umq_cmd_hdr_t, queue_id)
2995 #define L_LBMC_CNTL_UMQ_CMD_HDR_T_QUEUE_ID SIZEOF(lbmc_cntl_umq_cmd_hdr_t, queue_id)
2996 #define O_LBMC_CNTL_UMQ_CMD_HDR_T_CMD_ID OFFSETOF(lbmc_cntl_umq_cmd_hdr_t, cmd_id)
2997 #define L_LBMC_CNTL_UMQ_CMD_HDR_T_CMD_ID SIZEOF(lbmc_cntl_umq_cmd_hdr_t, cmd_id)
2998 #define O_LBMC_CNTL_UMQ_CMD_HDR_T_INST_IDX OFFSETOF(lbmc_cntl_umq_cmd_hdr_t, inst_idx)
2999 #define L_LBMC_CNTL_UMQ_CMD_HDR_T_INST_IDX SIZEOF(lbmc_cntl_umq_cmd_hdr_t, inst_idx)
3000 #define O_LBMC_CNTL_UMQ_CMD_HDR_T_REGID OFFSETOF(lbmc_cntl_umq_cmd_hdr_t, regid)
3001 #define L_LBMC_CNTL_UMQ_CMD_HDR_T_REGID SIZEOF(lbmc_cntl_umq_cmd_hdr_t, regid)
3002 #define L_LBMC_CNTL_UMQ_CMD_HDR_T (int) sizeof(lbmc_cntl_umq_cmd_hdr_t)
3006 lbm_uint8_t serial_num
[8];
3007 } lbmc_cntl_umq_ctx_queue_topic_list_hdr_t
;
3008 #define O_LBMC_CNTL_UMQ_CTX_QUEUE_TOPIC_LIST_HDR_T_SERIAL_NUM OFFSETOF(lbmc_cntl_umq_ctx_queue_topic_list_hdr_t, serial_num)
3009 #define L_LBMC_CNTL_UMQ_CTX_QUEUE_TOPIC_LIST_HDR_T_SERIAL_NUM SIZEOF(lbmc_cntl_umq_ctx_queue_topic_list_hdr_t, serial_num)
3010 #define L_LBMC_CNTL_UMQ_CTX_QUEUE_TOPIC_LIST_HDR_T (int) sizeof(lbmc_cntl_umq_ctx_queue_topic_list_hdr_t)
3014 lbm_uint32_t rcr_idx
;
3015 lbm_uint32_t assign_id
;
3016 lbm_uint16_t info_only
;
3017 lbm_uint8_t num_msgids
;
3019 } lbmc_cntl_umq_rcv_msg_retrieve_hdr_t
;
3020 #define O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t, rcr_idx)
3021 #define L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t, rcr_idx)
3022 #define O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t, assign_id)
3023 #define L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t, assign_id)
3024 #define O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_INFO_ONLY OFFSETOF(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t, info_only)
3025 #define L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_INFO_ONLY SIZEOF(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t, info_only)
3026 #define O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_NUM_MSGIDS OFFSETOF(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t, num_msgids)
3027 #define L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_NUM_MSGIDS SIZEOF(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t, num_msgids)
3028 #define O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t, flags)
3029 #define L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t, flags)
3030 #define L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T (int) sizeof(lbmc_cntl_umq_rcv_msg_retrieve_hdr_t)
3034 lbm_uint8_t regid
[8];
3035 lbm_uint8_t stamp
[8];
3036 } lbmc_cntl_umq_rcv_msg_retrieve_entry_hdr_t
;
3037 #define O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T_REGID OFFSETOF(lbmc_cntl_umq_rcv_msg_retrieve_entry_hdr_t, regid)
3038 #define L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T_REGID SIZEOF(lbmc_cntl_umq_rcv_msg_retrieve_entry_hdr_t, regid)
3039 #define O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STAMP OFFSETOF(lbmc_cntl_umq_rcv_msg_retrieve_entry_hdr_t, stamp)
3040 #define L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STAMP SIZEOF(lbmc_cntl_umq_rcv_msg_retrieve_entry_hdr_t, stamp)
3041 #define L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T (int) sizeof(lbmc_cntl_umq_rcv_msg_retrieve_entry_hdr_t)
3045 lbm_uint32_t rcr_idx
;
3046 lbm_uint32_t assign_id
;
3047 } lbmc_cntl_umq_rcv_msg_list_hdr_t
;
3048 #define O_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_rcv_msg_list_hdr_t, rcr_idx)
3049 #define L_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_rcv_msg_list_hdr_t, rcr_idx)
3050 #define O_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_rcv_msg_list_hdr_t, assign_id)
3051 #define L_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_rcv_msg_list_hdr_t, assign_id)
3052 #define L_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T (int) sizeof(lbmc_cntl_umq_rcv_msg_list_hdr_t)
3054 /* LBMC control UMQ command response header */
3057 lbm_uint8_t next_hdr
;
3058 lbm_uint8_t hdr_len
;
3060 lbm_uint8_t resp_type
;
3061 lbm_uint32_t queue_id
;
3062 lbm_uint16_t cmd_id
;
3063 lbm_uint16_t inst_idx
;
3064 lbm_uint8_t regid
[8];
3065 } lbmc_cntl_umq_cmd_resp_hdr_t
;
3066 #define O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_cmd_resp_hdr_t, next_hdr)
3067 #define L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_cmd_resp_hdr_t, next_hdr)
3068 #define O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_cmd_resp_hdr_t, hdr_len)
3069 #define L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_cmd_resp_hdr_t, hdr_len)
3070 #define O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_cmd_resp_hdr_t, flags)
3071 #define L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_cmd_resp_hdr_t, flags)
3072 #define O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_RESP_TYPE OFFSETOF(lbmc_cntl_umq_cmd_resp_hdr_t, resp_type)
3073 #define L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_RESP_TYPE SIZEOF(lbmc_cntl_umq_cmd_resp_hdr_t, resp_type)
3074 #define O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_QUEUE_ID OFFSETOF(lbmc_cntl_umq_cmd_resp_hdr_t, queue_id)
3075 #define L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_QUEUE_ID SIZEOF(lbmc_cntl_umq_cmd_resp_hdr_t, queue_id)
3076 #define O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_CMD_ID OFFSETOF(lbmc_cntl_umq_cmd_resp_hdr_t, cmd_id)
3077 #define L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_CMD_ID SIZEOF(lbmc_cntl_umq_cmd_resp_hdr_t, cmd_id)
3078 #define O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_INST_IDX OFFSETOF(lbmc_cntl_umq_cmd_resp_hdr_t, inst_idx)
3079 #define L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_INST_IDX SIZEOF(lbmc_cntl_umq_cmd_resp_hdr_t, inst_idx)
3080 #define O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_REGID OFFSETOF(lbmc_cntl_umq_cmd_resp_hdr_t, regid)
3081 #define L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_REGID SIZEOF(lbmc_cntl_umq_cmd_resp_hdr_t, regid)
3082 #define L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T (int) sizeof(lbmc_cntl_umq_cmd_resp_hdr_t)
3086 lbm_uint32_t rcr_idx
;
3087 lbm_uint32_t assign_id
;
3088 } lbmc_cntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t
;
3089 #define O_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t, rcr_idx)
3090 #define L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t, rcr_idx)
3091 #define O_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t, assign_id)
3092 #define L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t, assign_id)
3093 #define L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T (int) sizeof(lbmc_cntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t)
3097 lbm_uint8_t num_msgs
;
3099 lbm_uint16_t reserved
;
3100 } lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t
;
3101 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_NUM_MSGS OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t, num_msgs)
3102 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_NUM_MSGS SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t, num_msgs)
3103 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_FLAGS OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t, flags)
3104 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_FLAGS SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t, flags)
3105 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_RESERVED OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t, reserved)
3106 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_RESERVED SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t, reserved)
3107 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T (int) sizeof(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_hdr_t)
3111 lbm_uint8_t regid
[8];
3112 lbm_uint8_t stamp
[8];
3113 lbm_uint32_t assign_id
;
3114 lbm_uint16_t num_ras
;
3116 lbm_uint8_t reserved
;
3117 } lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t
;
3118 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_REGID OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, regid)
3119 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_REGID SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, regid)
3120 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STAMP OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, stamp)
3121 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STAMP SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, stamp)
3122 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_ASSIGN_ID OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, assign_id)
3123 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_ASSIGN_ID SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, assign_id)
3124 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_NUM_RAS OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, num_ras)
3125 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_NUM_RAS SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, num_ras)
3126 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STATUS OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, status)
3127 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STATUS SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, status)
3128 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_RESERVED OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, reserved)
3129 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_RESERVED SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t, reserved)
3130 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T (int) sizeof(lbmc_xcntl_umq_cmd_resp_rcv_msg_retrieve_entry_hdr_t)
3134 lbm_uint32_t rcr_idx
;
3135 lbm_uint32_t assign_id
;
3136 } lbmc_cntl_umq_cmd_resp_rcv_msg_list_hdr_t
;
3137 #define O_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_cmd_resp_rcv_msg_list_hdr_t, rcr_idx)
3138 #define L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_cmd_resp_rcv_msg_list_hdr_t, rcr_idx)
3139 #define O_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_ASSIGN_ID OFFSETOF(lbmc_cntl_umq_cmd_resp_rcv_msg_list_hdr_t, assign_id)
3140 #define L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_ASSIGN_ID SIZEOF(lbmc_cntl_umq_cmd_resp_rcv_msg_list_hdr_t, assign_id)
3141 #define L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T (int) sizeof(lbmc_cntl_umq_cmd_resp_rcv_msg_list_hdr_t)
3145 lbm_uint8_t num_msgs
[8];
3146 } lbmc_xcntl_umq_cmd_resp_rcv_msg_list_hdr_t
;
3147 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_NUM_MSGS OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_list_hdr_t, num_msgs)
3148 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_NUM_MSGS SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_list_hdr_t, num_msgs)
3149 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T (int) sizeof(lbmc_xcntl_umq_cmd_resp_rcv_msg_list_hdr_t)
3153 lbm_uint8_t regid
[8];
3154 lbm_uint8_t stamp
[8];
3155 } lbmc_xcntl_umq_cmd_resp_rcv_msg_list_msg_entry_hdr_t
;
3156 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T_REGID OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_list_msg_entry_hdr_t, regid)
3157 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T_REGID SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_list_msg_entry_hdr_t, regid)
3158 #define O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T_STAMP OFFSETOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_list_msg_entry_hdr_t, stamp)
3159 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T_STAMP SIZEOF(lbmc_xcntl_umq_cmd_resp_rcv_msg_list_msg_entry_hdr_t, stamp)
3160 #define L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T (int) sizeof(lbmc_xcntl_umq_cmd_resp_rcv_msg_list_msg_entry_hdr_t)
3164 lbm_uint32_t num_topics
;
3165 } lbmc_cntl_umq_cmd_resp_ctx_topic_list_hdr_t
;
3166 #define O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_HDR_T_NUM_TOPICS OFFSETOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_hdr_t, num_topics)
3167 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_HDR_T_NUM_TOPICS SIZEOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_hdr_t, num_topics)
3168 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_HDR_T (int) sizeof(lbmc_cntl_umq_cmd_resp_ctx_topic_list_hdr_t)
3172 lbm_uint16_t num_receiver_type_ids
;
3173 lbm_uint16_t appset_idx
;
3174 lbm_uint8_t appset_name_len
;
3175 lbm_uint8_t reserved
[3];
3176 } lbmc_cntl_umq_cmd_resp_ctx_topic_list_appset_entry_hdr_t
;
3177 #define O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_NUM_RECEIVER_TYPE_IDS OFFSETOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_appset_entry_hdr_t, num_receiver_type_ids)
3178 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_NUM_RECEIVER_TYPE_IDS SIZEOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_appset_entry_hdr_t, num_receiver_type_ids)
3179 #define O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_APPSET_IDX OFFSETOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_appset_entry_hdr_t, appset_idx)
3180 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_APPSET_IDX SIZEOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_appset_entry_hdr_t, appset_idx)
3181 #define O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_APPSET_NAME_LEN OFFSETOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_appset_entry_hdr_t, appset_name_len)
3182 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_APPSET_NAME_LEN SIZEOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_appset_entry_hdr_t, appset_name_len)
3183 #define O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_appset_entry_hdr_t, reserved)
3184 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_appset_entry_hdr_t, reserved)
3185 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T (int) sizeof(lbmc_cntl_umq_cmd_resp_ctx_topic_list_appset_entry_hdr_t)
3189 lbm_uint32_t rcr_idx
;
3190 lbm_uint16_t num_appsets
;
3191 lbm_uint8_t topic_len
;
3192 lbm_uint8_t reserved
;
3193 } lbmc_cntl_umq_cmd_resp_ctx_topic_list_topic_entry_hdr_t
;
3194 #define O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_RCR_IDX OFFSETOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_topic_entry_hdr_t, rcr_idx)
3195 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_RCR_IDX SIZEOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_topic_entry_hdr_t, rcr_idx)
3196 #define O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_NUM_APPSETS OFFSETOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_topic_entry_hdr_t, num_appsets)
3197 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_NUM_APPSETS SIZEOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_topic_entry_hdr_t, num_appsets)
3198 #define O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_TOPIC_LEN OFFSETOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_topic_entry_hdr_t, topic_len)
3199 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_TOPIC_LEN SIZEOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_topic_entry_hdr_t, topic_len)
3200 #define O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_topic_entry_hdr_t, reserved)
3201 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_cmd_resp_ctx_topic_list_topic_entry_hdr_t, reserved)
3202 #define L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T (int) sizeof(lbmc_cntl_umq_cmd_resp_ctx_topic_list_topic_entry_hdr_t)
3206 lbm_uint16_t reserved
;
3208 } lbmc_cntl_umq_cmd_resp_err_hdr_t
;
3209 #define O_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T_RESERVED OFFSETOF(lbmc_cntl_umq_cmd_resp_err_hdr_t, reserved)
3210 #define L_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T_RESERVED SIZEOF(lbmc_cntl_umq_cmd_resp_err_hdr_t, reserved)
3211 #define O_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T_CODE OFFSETOF(lbmc_cntl_umq_cmd_resp_err_hdr_t, code)
3212 #define L_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T_CODE SIZEOF(lbmc_cntl_umq_cmd_resp_err_hdr_t, code)
3213 #define L_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T (int) sizeof(lbmc_cntl_umq_cmd_resp_err_hdr_t)
3215 /* LBMC control source registration information request header. */
3218 lbm_uint8_t next_hdr
;
3219 lbm_uint8_t hdr_len
;
3221 lbm_uint32_t transport_idx
;
3222 lbm_uint32_t topic_idx
;
3223 } lbmc_cntl_sri_req_hdr_t
;
3224 #define O_LBMC_CNTL_SRI_REQ_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_sri_req_hdr_t, next_hdr)
3225 #define L_LBMC_CNTL_SRI_REQ_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_sri_req_hdr_t, next_hdr)
3226 #define O_LBMC_CNTL_SRI_REQ_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_sri_req_hdr_t, hdr_len)
3227 #define L_LBMC_CNTL_SRI_REQ_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_sri_req_hdr_t, hdr_len)
3228 #define O_LBMC_CNTL_SRI_REQ_HDR_T_FLAGS OFFSETOF(lbmc_cntl_sri_req_hdr_t, flags)
3229 #define L_LBMC_CNTL_SRI_REQ_HDR_T_FLAGS SIZEOF(lbmc_cntl_sri_req_hdr_t, flags)
3230 #define O_LBMC_CNTL_SRI_REQ_HDR_T_TRANSPORT_IDX OFFSETOF(lbmc_cntl_sri_req_hdr_t, transport_idx)
3231 #define L_LBMC_CNTL_SRI_REQ_HDR_T_TRANSPORT_IDX SIZEOF(lbmc_cntl_sri_req_hdr_t, transport_idx)
3232 #define O_LBMC_CNTL_SRI_REQ_HDR_T_TOPIC_IDX OFFSETOF(lbmc_cntl_sri_req_hdr_t, topic_idx)
3233 #define L_LBMC_CNTL_SRI_REQ_HDR_T_TOPIC_IDX SIZEOF(lbmc_cntl_sri_req_hdr_t, topic_idx)
3234 #define L_LBMC_CNTL_SRI_REQ_HDR_T (int) sizeof(lbmc_cntl_sri_req_hdr_t)
3236 /* LBMC control UME store domain header. */
3239 lbm_uint8_t next_hdr
;
3240 lbm_uint8_t hdr_len
;
3242 lbm_uint32_t domain
;
3243 } lbmc_cntl_ume_store_domain_hdr_t
;
3244 #define O_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_store_domain_hdr_t, next_hdr)
3245 #define L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_store_domain_hdr_t, next_hdr)
3246 #define O_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_store_domain_hdr_t, hdr_len)
3247 #define L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_store_domain_hdr_t, hdr_len)
3248 #define O_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_store_domain_hdr_t, flags)
3249 #define L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_store_domain_hdr_t, flags)
3250 #define O_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_DOMAIN OFFSETOF(lbmc_cntl_ume_store_domain_hdr_t, domain)
3251 #define L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_DOMAIN SIZEOF(lbmc_cntl_ume_store_domain_hdr_t, domain)
3252 #define L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T (int) sizeof(lbmc_cntl_ume_store_domain_hdr_t)
3254 /* LBMC control source registration information header. */
3257 lbm_uint8_t next_hdr
;
3258 lbm_uint8_t hdr_len
;
3260 lbm_uint32_t version
;
3261 lbm_uint32_t low_sqn
;
3262 lbm_uint32_t high_sqn
;
3263 } lbmc_cntl_sri_hdr_t
;
3264 #define O_LBMC_CNTL_SRI_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_sri_hdr_t, next_hdr)
3265 #define L_LBMC_CNTL_SRI_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_sri_hdr_t, next_hdr)
3266 #define O_LBMC_CNTL_SRI_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_sri_hdr_t, hdr_len)
3267 #define L_LBMC_CNTL_SRI_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_sri_hdr_t, hdr_len)
3268 #define O_LBMC_CNTL_SRI_HDR_T_FLAGS OFFSETOF(lbmc_cntl_sri_hdr_t, flags)
3269 #define L_LBMC_CNTL_SRI_HDR_T_FLAGS SIZEOF(lbmc_cntl_sri_hdr_t, flags)
3270 #define O_LBMC_CNTL_SRI_HDR_T_VERSION OFFSETOF(lbmc_cntl_sri_hdr_t, version)
3271 #define L_LBMC_CNTL_SRI_HDR_T_VERSION SIZEOF(lbmc_cntl_sri_hdr_t, version)
3272 #define O_LBMC_CNTL_SRI_HDR_T_LOW_SQN OFFSETOF(lbmc_cntl_sri_hdr_t, low_sqn)
3273 #define L_LBMC_CNTL_SRI_HDR_T_LOW_SQN SIZEOF(lbmc_cntl_sri_hdr_t, low_sqn)
3274 #define O_LBMC_CNTL_SRI_HDR_T_HIGH_SQN OFFSETOF(lbmc_cntl_sri_hdr_t, high_sqn)
3275 #define L_LBMC_CNTL_SRI_HDR_T_HIGH_SQN SIZEOF(lbmc_cntl_sri_hdr_t, high_sqn)
3276 #define L_LBMC_CNTL_SRI_HDR_T (int) sizeof(lbmc_cntl_sri_hdr_t)
3278 /* LBMC control route information header. */
3281 lbm_uint8_t next_hdr
;
3282 lbm_uint8_t hdr_len
;
3284 lbm_uint32_t gateway_version
;
3285 lbm_uint32_t configuration_signature
;
3286 lbm_uint8_t node_id
[8];
3287 lbm_uint32_t topology
;
3291 lbm_uint8_t reserved1
;
3292 lbm_uint16_t reserved2
;
3293 } lbmc_cntl_route_info_hdr_t
;
3294 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_route_info_hdr_t, next_hdr)
3295 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_route_info_hdr_t, next_hdr)
3296 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_route_info_hdr_t, hdr_len)
3297 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_route_info_hdr_t, hdr_len)
3298 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_FLAGS OFFSETOF(lbmc_cntl_route_info_hdr_t, flags)
3299 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_FLAGS SIZEOF(lbmc_cntl_route_info_hdr_t, flags)
3300 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_GATEWAY_VERSION OFFSETOF(lbmc_cntl_route_info_hdr_t, gateway_version)
3301 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_GATEWAY_VERSION SIZEOF(lbmc_cntl_route_info_hdr_t, gateway_version)
3302 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_CONFIGURATION_SIGNATURE OFFSETOF(lbmc_cntl_route_info_hdr_t, configuration_signature)
3303 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_CONFIGURATION_SIGNATURE SIZEOF(lbmc_cntl_route_info_hdr_t, configuration_signature)
3304 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_NODE_ID OFFSETOF(lbmc_cntl_route_info_hdr_t, node_id)
3305 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_NODE_ID SIZEOF(lbmc_cntl_route_info_hdr_t, node_id)
3306 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_TOPOLOGY OFFSETOF(lbmc_cntl_route_info_hdr_t, topology)
3307 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_TOPOLOGY SIZEOF(lbmc_cntl_route_info_hdr_t, topology)
3308 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_VERS OFFSETOF(lbmc_cntl_route_info_hdr_t, vers)
3309 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_VERS SIZEOF(lbmc_cntl_route_info_hdr_t, vers)
3310 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_SQN OFFSETOF(lbmc_cntl_route_info_hdr_t, sqn)
3311 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_SQN SIZEOF(lbmc_cntl_route_info_hdr_t, sqn)
3312 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_TTL OFFSETOF(lbmc_cntl_route_info_hdr_t, ttl)
3313 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_TTL SIZEOF(lbmc_cntl_route_info_hdr_t, ttl)
3314 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_RESERVED1 OFFSETOF(lbmc_cntl_route_info_hdr_t, reserved1)
3315 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_RESERVED1 SIZEOF(lbmc_cntl_route_info_hdr_t, reserved1)
3316 #define O_LBMC_CNTL_ROUTE_INFO_HDR_T_RESERVED2 OFFSETOF(lbmc_cntl_route_info_hdr_t, reserved2)
3317 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T_RESERVED2 SIZEOF(lbmc_cntl_route_info_hdr_t, reserved2)
3318 #define L_LBMC_CNTL_ROUTE_INFO_HDR_T (int) sizeof(lbmc_cntl_route_info_hdr_t)
3320 /* LBMC control route information neighbor header. */
3323 lbm_uint8_t next_hdr
;
3324 lbm_uint8_t hdr_len
;
3326 lbm_uint8_t node_id
[8];
3327 lbm_uint32_t ingress_cost
;
3328 lbm_uint32_t egress_cost
;
3329 } lbmc_cntl_route_info_neighbor_hdr_t
;
3330 #define O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_route_info_neighbor_hdr_t, next_hdr)
3331 #define L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_route_info_neighbor_hdr_t, next_hdr)
3332 #define O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_route_info_neighbor_hdr_t, hdr_len)
3333 #define L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_route_info_neighbor_hdr_t, hdr_len)
3334 #define O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_FLAGS OFFSETOF(lbmc_cntl_route_info_neighbor_hdr_t, flags)
3335 #define L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_FLAGS SIZEOF(lbmc_cntl_route_info_neighbor_hdr_t, flags)
3336 #define O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_NODE_ID OFFSETOF(lbmc_cntl_route_info_neighbor_hdr_t, node_id)
3337 #define L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_NODE_ID SIZEOF(lbmc_cntl_route_info_neighbor_hdr_t, node_id)
3338 #define O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_INGRESS_COST OFFSETOF(lbmc_cntl_route_info_neighbor_hdr_t, ingress_cost)
3339 #define L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_INGRESS_COST SIZEOF(lbmc_cntl_route_info_neighbor_hdr_t, ingress_cost)
3340 #define O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_EGRESS_COST OFFSETOF(lbmc_cntl_route_info_neighbor_hdr_t, egress_cost)
3341 #define L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_EGRESS_COST SIZEOF(lbmc_cntl_route_info_neighbor_hdr_t, egress_cost)
3342 #define L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T (int) sizeof(lbmc_cntl_route_info_neighbor_hdr_t)
3344 /* LBMC control gateway name header. */
3345 #define O_LBMC_CNTL_GATEWAY_NAME_HDR_T_NEXT_HDR OFFSETOF(lbmc_basic_hdr_t, next_hdr)
3346 #define L_LBMC_CNTL_GATEWAY_NAME_HDR_T_NEXT_HDR SIZEOF(lbmc_basic_hdr_t, next_hdr)
3347 #define O_LBMC_CNTL_GATEWAY_NAME_HDR_T_HDR_LEN OFFSETOF(lbmc_basic_hdr_t, hdr_len)
3348 #define L_LBMC_CNTL_GATEWAY_NAME_HDR_T_HDR_LEN SIZEOF(lbmc_basic_hdr_t, hdr_len)
3349 #define O_LBMC_CNTL_GATEWAY_NAME_HDR_T_FLAGS OFFSETOF(lbmc_basic_hdr_t, res)
3350 #define L_LBMC_CNTL_GATEWAY_NAME_HDR_T_FLAGS SIZEOF(lbmc_basic_hdr_t, res)
3351 #define O_LBMC_CNTL_GATEWAY_NAME_HDR_T_NAME (OFFSETOF(lbmc_basic_hdr_t, res) + SIZEOF(lbmc_basic_hdr_t, res))
3353 /* LBMC control generic authentication header. */
3356 lbm_uint8_t next_hdr
;
3357 lbm_uint8_t hdr_len
;
3360 } lbmc_cntl_auth_generic_hdr_t
;
3361 #define O_LBMC_CNTL_AUTH_GENERIC_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_auth_generic_hdr_t, next_hdr)
3362 #define L_LBMC_CNTL_AUTH_GENERIC_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_auth_generic_hdr_t, next_hdr)
3363 #define O_LBMC_CNTL_AUTH_GENERIC_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_auth_generic_hdr_t, hdr_len)
3364 #define L_LBMC_CNTL_AUTH_GENERIC_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_auth_generic_hdr_t, hdr_len)
3365 #define O_LBMC_CNTL_AUTH_GENERIC_HDR_T_FLAGS OFFSETOF(lbmc_cntl_auth_generic_hdr_t, flags)
3366 #define L_LBMC_CNTL_AUTH_GENERIC_HDR_T_FLAGS SIZEOF(lbmc_cntl_auth_generic_hdr_t, flags)
3367 #define O_LBMC_CNTL_AUTH_GENERIC_HDR_T_OPID OFFSETOF(lbmc_cntl_auth_generic_hdr_t, opid)
3368 #define L_LBMC_CNTL_AUTH_GENERIC_HDR_T_OPID SIZEOF(lbmc_cntl_auth_generic_hdr_t, opid)
3369 #define L_LBMC_CNTL_AUTH_GENERIC_HDR_T (int) sizeof(lbmc_cntl_auth_generic_hdr_t)
3371 /* LBMC control authentication request header. */
3374 lbm_uint8_t next_hdr
;
3375 lbm_uint8_t hdr_len
;
3378 lbm_uint8_t user_len
;
3379 } lbmc_cntl_auth_request_hdr_t
;
3380 #define O_LBMC_CNTL_AUTH_REQUEST_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_auth_request_hdr_t, next_hdr)
3381 #define L_LBMC_CNTL_AUTH_REQUEST_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_auth_request_hdr_t, next_hdr)
3382 #define O_LBMC_CNTL_AUTH_REQUEST_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_auth_request_hdr_t, hdr_len)
3383 #define L_LBMC_CNTL_AUTH_REQUEST_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_auth_request_hdr_t, hdr_len)
3384 #define O_LBMC_CNTL_AUTH_REQUEST_HDR_T_FLAGS OFFSETOF(lbmc_cntl_auth_request_hdr_t, flags)
3385 #define L_LBMC_CNTL_AUTH_REQUEST_HDR_T_FLAGS SIZEOF(lbmc_cntl_auth_request_hdr_t, flags)
3386 #define O_LBMC_CNTL_AUTH_REQUEST_HDR_T_OPID OFFSETOF(lbmc_cntl_auth_request_hdr_t, opid)
3387 #define L_LBMC_CNTL_AUTH_REQUEST_HDR_T_OPID SIZEOF(lbmc_cntl_auth_request_hdr_t, opid)
3388 #define O_LBMC_CNTL_AUTH_REQUEST_HDR_T_USER_LEN OFFSETOF(lbmc_cntl_auth_request_hdr_t, user_len)
3389 #define L_LBMC_CNTL_AUTH_REQUEST_HDR_T_USER_LEN SIZEOF(lbmc_cntl_auth_request_hdr_t, user_len)
3390 #define L_LBMC_CNTL_AUTH_REQUEST_HDR_T (int) sizeof(lbmc_cntl_auth_request_hdr_t)
3392 /* LBMC control authentication challenge header. */
3395 lbm_uint8_t next_hdr
;
3396 lbm_uint8_t hdr_len
;
3399 lbm_uint8_t mod_len
;
3400 lbm_uint8_t gen_len
;
3401 lbm_uint8_t salt_len
;
3402 lbm_uint8_t pubkey_len
;
3403 } lbmc_cntl_auth_challenge_hdr_t
;
3404 #define O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_auth_challenge_hdr_t, next_hdr)
3405 #define L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_auth_challenge_hdr_t, next_hdr)
3406 #define O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_auth_challenge_hdr_t, hdr_len)
3407 #define L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_auth_challenge_hdr_t, hdr_len)
3408 #define O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_FLAGS OFFSETOF(lbmc_cntl_auth_challenge_hdr_t, flags)
3409 #define L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_FLAGS SIZEOF(lbmc_cntl_auth_challenge_hdr_t, flags)
3410 #define O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_OPID OFFSETOF(lbmc_cntl_auth_challenge_hdr_t, opid)
3411 #define L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_OPID SIZEOF(lbmc_cntl_auth_challenge_hdr_t, opid)
3412 #define O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_MOD_LEN OFFSETOF(lbmc_cntl_auth_challenge_hdr_t, mod_len)
3413 #define L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_MOD_LEN SIZEOF(lbmc_cntl_auth_challenge_hdr_t, mod_len)
3414 #define O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_GEN_LEN OFFSETOF(lbmc_cntl_auth_challenge_hdr_t, gen_len)
3415 #define L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_GEN_LEN SIZEOF(lbmc_cntl_auth_challenge_hdr_t, gen_len)
3416 #define O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_SALT_LEN OFFSETOF(lbmc_cntl_auth_challenge_hdr_t, salt_len)
3417 #define L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_SALT_LEN SIZEOF(lbmc_cntl_auth_challenge_hdr_t, salt_len)
3418 #define O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_PUBKEY_LEN OFFSETOF(lbmc_cntl_auth_challenge_hdr_t, pubkey_len)
3419 #define L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_PUBKEY_LEN SIZEOF(lbmc_cntl_auth_challenge_hdr_t, pubkey_len)
3420 #define L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T (int) sizeof(lbmc_cntl_auth_challenge_hdr_t)
3422 /* LBMC control authentication challenge response header. */
3425 lbm_uint8_t next_hdr
;
3426 lbm_uint8_t hdr_len
;
3429 lbm_uint8_t pubkey_len
;
3430 lbm_uint8_t evidence_len
;
3431 } lbmc_cntl_auth_challenge_rsp_hdr_t
;
3432 #define O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_auth_challenge_rsp_hdr_t, next_hdr)
3433 #define L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_auth_challenge_rsp_hdr_t, next_hdr)
3434 #define O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_auth_challenge_rsp_hdr_t, hdr_len)
3435 #define L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_auth_challenge_rsp_hdr_t, hdr_len)
3436 #define O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_FLAGS OFFSETOF(lbmc_cntl_auth_challenge_rsp_hdr_t, flags)
3437 #define L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_FLAGS SIZEOF(lbmc_cntl_auth_challenge_rsp_hdr_t, flags)
3438 #define O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_OPID OFFSETOF(lbmc_cntl_auth_challenge_rsp_hdr_t, opid)
3439 #define L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_OPID SIZEOF(lbmc_cntl_auth_challenge_rsp_hdr_t, opid)
3440 #define O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_PUBKEY_LEN OFFSETOF(lbmc_cntl_auth_challenge_rsp_hdr_t, pubkey_len)
3441 #define L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_PUBKEY_LEN SIZEOF(lbmc_cntl_auth_challenge_rsp_hdr_t, pubkey_len)
3442 #define O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_EVIDENCE_LEN OFFSETOF(lbmc_cntl_auth_challenge_rsp_hdr_t, evidence_len)
3443 #define L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_EVIDENCE_LEN SIZEOF(lbmc_cntl_auth_challenge_rsp_hdr_t, evidence_len)
3444 #define L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T (int) sizeof(lbmc_cntl_auth_challenge_rsp_hdr_t)
3446 /* LBMC control authentication result header. */
3449 lbm_uint8_t next_hdr
;
3450 lbm_uint8_t hdr_len
;
3454 } lbmc_cntl_auth_result_hdr_t
;
3455 #define O_LBMC_CNTL_AUTH_RESULT_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_auth_result_hdr_t, next_hdr)
3456 #define L_LBMC_CNTL_AUTH_RESULT_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_auth_result_hdr_t, next_hdr)
3457 #define O_LBMC_CNTL_AUTH_RESULT_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_auth_result_hdr_t, hdr_len)
3458 #define L_LBMC_CNTL_AUTH_RESULT_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_auth_result_hdr_t, hdr_len)
3459 #define O_LBMC_CNTL_AUTH_RESULT_HDR_T_FLAGS OFFSETOF(lbmc_cntl_auth_result_hdr_t, flags)
3460 #define L_LBMC_CNTL_AUTH_RESULT_HDR_T_FLAGS SIZEOF(lbmc_cntl_auth_result_hdr_t, flags)
3461 #define O_LBMC_CNTL_AUTH_RESULT_HDR_T_OPID OFFSETOF(lbmc_cntl_auth_result_hdr_t, opid)
3462 #define L_LBMC_CNTL_AUTH_RESULT_HDR_T_OPID SIZEOF(lbmc_cntl_auth_result_hdr_t, opid)
3463 #define O_LBMC_CNTL_AUTH_RESULT_HDR_T_RESULT OFFSETOF(lbmc_cntl_auth_result_hdr_t, result)
3464 #define L_LBMC_CNTL_AUTH_RESULT_HDR_T_RESULT SIZEOF(lbmc_cntl_auth_result_hdr_t, result)
3465 #define L_LBMC_CNTL_AUTH_RESULT_HDR_T (int) sizeof(lbmc_cntl_auth_result_hdr_t)
3467 /* LBMC control HMAC header. */
3470 lbm_uint8_t next_hdr
;
3471 lbm_uint8_t hdr_len
;
3473 lbm_uint8_t padding
;
3474 lbm_uint8_t data
[LBM_HMAC_BLOCK_SZ
];
3475 } lbmc_cntl_hmac_hdr_t
;
3476 #define O_LBMC_CNTL_HMAC_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_hmac_hdr_t, next_hdr)
3477 #define L_LBMC_CNTL_HMAC_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_hmac_hdr_t, next_hdr)
3478 #define O_LBMC_CNTL_HMAC_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_hmac_hdr_t, hdr_len)
3479 #define L_LBMC_CNTL_HMAC_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_hmac_hdr_t, hdr_len)
3480 #define O_LBMC_CNTL_HMAC_HDR_T_FLAGS OFFSETOF(lbmc_cntl_hmac_hdr_t, flags)
3481 #define L_LBMC_CNTL_HMAC_HDR_T_FLAGS SIZEOF(lbmc_cntl_hmac_hdr_t, flags)
3482 #define O_LBMC_CNTL_HMAC_HDR_T_PADDING OFFSETOF(lbmc_cntl_hmac_hdr_t, padding)
3483 #define L_LBMC_CNTL_HMAC_HDR_T_PADDING SIZEOF(lbmc_cntl_hmac_hdr_t, padding)
3484 #define O_LBMC_CNTL_HMAC_HDR_T_DATA OFFSETOF(lbmc_cntl_hmac_hdr_t, data)
3485 #define L_LBMC_CNTL_HMAC_HDR_T_DATA SIZEOF(lbmc_cntl_hmac_hdr_t, data)
3486 #define L_LBMC_CNTL_HMAC_HDR_T (int) sizeof(lbmc_cntl_hmac_hdr_t)
3488 /* LBMC control UMQ session ID header. */
3491 lbm_uint8_t next_hdr
;
3492 lbm_uint8_t hdr_len
;
3496 } lbmc_cntl_umq_sid_hdr_t
;
3497 #define O_LBMC_CNTL_UMQ_SID_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_umq_sid_hdr_t, next_hdr)
3498 #define L_LBMC_CNTL_UMQ_SID_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_umq_sid_hdr_t, next_hdr)
3499 #define O_LBMC_CNTL_UMQ_SID_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_umq_sid_hdr_t, hdr_len)
3500 #define L_LBMC_CNTL_UMQ_SID_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_umq_sid_hdr_t, hdr_len)
3501 #define O_LBMC_CNTL_UMQ_SID_HDR_T_FLAGS OFFSETOF(lbmc_cntl_umq_sid_hdr_t, flags)
3502 #define L_LBMC_CNTL_UMQ_SID_HDR_T_FLAGS SIZEOF(lbmc_cntl_umq_sid_hdr_t, flags)
3503 #define O_LBMC_CNTL_UMQ_SID_HDR_T_KEY OFFSETOF(lbmc_cntl_umq_sid_hdr_t, key)
3504 #define L_LBMC_CNTL_UMQ_SID_HDR_T_KEY SIZEOF(lbmc_cntl_umq_sid_hdr_t, key)
3505 #define O_LBMC_CNTL_UMQ_SID_HDR_T_SID OFFSETOF(lbmc_cntl_umq_sid_hdr_t, sid)
3506 #define L_LBMC_CNTL_UMQ_SID_HDR_T_SID SIZEOF(lbmc_cntl_umq_sid_hdr_t, sid)
3507 #define L_LBMC_CNTL_UMQ_SID_HDR_T (int) sizeof(lbmc_cntl_umq_sid_hdr_t)
3509 /* LBMC destination header. */
3512 lbm_uint8_t next_hdr
;
3513 lbm_uint8_t hdr_len
;
3515 lbm_uint32_t domain_id
;
3516 lbm_uint32_t ipaddr
;
3518 lbm_uint16_t hops_taken
;
3519 lbm_uint32_t orig_domain_id
;
3520 lbm_uint32_t orig_ipaddr
;
3521 lbm_uint16_t orig_port
;
3522 lbm_uint16_t reserved
;
3523 } lbmc_destination_hdr_t
;
3524 #define O_LBMC_DESTINATION_HDR_T_NEXT_HDR OFFSETOF(lbmc_destination_hdr_t, next_hdr)
3525 #define L_LBMC_DESTINATION_HDR_T_NEXT_HDR SIZEOF(lbmc_destination_hdr_t, next_hdr)
3526 #define O_LBMC_DESTINATION_HDR_T_HDR_LEN OFFSETOF(lbmc_destination_hdr_t, hdr_len)
3527 #define L_LBMC_DESTINATION_HDR_T_HDR_LEN SIZEOF(lbmc_destination_hdr_t, hdr_len)
3528 #define O_LBMC_DESTINATION_HDR_T_FLAGS OFFSETOF(lbmc_destination_hdr_t, flags)
3529 #define L_LBMC_DESTINATION_HDR_T_FLAGS SIZEOF(lbmc_destination_hdr_t, flags)
3530 #define O_LBMC_DESTINATION_HDR_T_DOMAIN_ID OFFSETOF(lbmc_destination_hdr_t, domain_id)
3531 #define L_LBMC_DESTINATION_HDR_T_DOMAIN_ID SIZEOF(lbmc_destination_hdr_t, domain_id)
3532 #define O_LBMC_DESTINATION_HDR_T_IPADDR OFFSETOF(lbmc_destination_hdr_t, ipaddr)
3533 #define L_LBMC_DESTINATION_HDR_T_IPADDR SIZEOF(lbmc_destination_hdr_t, ipaddr)
3534 #define O_LBMC_DESTINATION_HDR_T_PORT OFFSETOF(lbmc_destination_hdr_t, port)
3535 #define L_LBMC_DESTINATION_HDR_T_PORT SIZEOF(lbmc_destination_hdr_t, port)
3536 #define O_LBMC_DESTINATION_HDR_T_HOPS_TAKEN OFFSETOF(lbmc_destination_hdr_t, hops_taken)
3537 #define L_LBMC_DESTINATION_HDR_T_HOPS_TAKEN SIZEOF(lbmc_destination_hdr_t, hops_taken)
3538 #define O_LBMC_DESTINATION_HDR_T_ORIG_DOMAIN_ID OFFSETOF(lbmc_destination_hdr_t, orig_domain_id)
3539 #define L_LBMC_DESTINATION_HDR_T_ORIG_DOMAIN_ID SIZEOF(lbmc_destination_hdr_t, orig_domain_id)
3540 #define O_LBMC_DESTINATION_HDR_T_ORIG_IPADDR OFFSETOF(lbmc_destination_hdr_t, orig_ipaddr)
3541 #define L_LBMC_DESTINATION_HDR_T_ORIG_IPADDR SIZEOF(lbmc_destination_hdr_t, orig_ipaddr)
3542 #define O_LBMC_DESTINATION_HDR_T_ORIG_PORT OFFSETOF(lbmc_destination_hdr_t, orig_port)
3543 #define L_LBMC_DESTINATION_HDR_T_ORIG_PORT SIZEOF(lbmc_destination_hdr_t, orig_port)
3544 #define O_LBMC_DESTINATION_HDR_T_RESERVED OFFSETOF(lbmc_destination_hdr_t, reserved)
3545 #define L_LBMC_DESTINATION_HDR_T_RESERVED SIZEOF(lbmc_destination_hdr_t, reserved)
3546 #define L_LBMC_DESTINATION_HDR_T (int) sizeof(lbmc_destination_hdr_t)
3548 /* LBMC topic index header. */
3551 lbm_uint8_t next_hdr
;
3552 lbm_uint8_t hdr_len
;
3555 } lbmc_topic_idx_hdr_t
;
3556 #define O_LBMC_TOPIC_IDX_HDR_T_NEXT_HDR OFFSETOF(lbmc_topic_idx_hdr_t, next_hdr)
3557 #define L_LBMC_TOPIC_IDX_HDR_T_NEXT_HDR SIZEOF(lbmc_topic_idx_hdr_t, next_hdr)
3558 #define O_LBMC_TOPIC_IDX_HDR_T_HDR_LEN OFFSETOF(lbmc_topic_idx_hdr_t, hdr_len)
3559 #define L_LBMC_TOPIC_IDX_HDR_T_HDR_LEN SIZEOF(lbmc_topic_idx_hdr_t, hdr_len)
3560 #define O_LBMC_TOPIC_IDX_HDR_T_FLAGS OFFSETOF(lbmc_topic_idx_hdr_t, flags)
3561 #define L_LBMC_TOPIC_IDX_HDR_T_FLAGS SIZEOF(lbmc_topic_idx_hdr_t, flags)
3562 #define O_LBMC_TOPIC_IDX_HDR_T_TIDX OFFSETOF(lbmc_topic_idx_hdr_t, tidx)
3563 #define L_LBMC_TOPIC_IDX_HDR_T_TIDX SIZEOF(lbmc_topic_idx_hdr_t, tidx)
3564 #define L_LBMC_TOPIC_IDX_HDR_T (int) sizeof(lbmc_topic_idx_hdr_t)
3566 /* LBMC control topic source header. */
3569 lbm_uint8_t next_hdr
;
3570 lbm_uint8_t hdr_len
;
3572 lbm_uint32_t domain_id
;
3573 } lbmc_cntl_topic_source_hdr_t
;
3574 #define O_LBMC_CNTL_TOPIC_SOURCE_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_topic_source_hdr_t, next_hdr)
3575 #define L_LBMC_CNTL_TOPIC_SOURCE_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_topic_source_hdr_t, next_hdr)
3576 #define O_LBMC_CNTL_TOPIC_SOURCE_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_topic_source_hdr_t, hdr_len)
3577 #define L_LBMC_CNTL_TOPIC_SOURCE_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_topic_source_hdr_t, hdr_len)
3578 #define O_LBMC_CNTL_TOPIC_SOURCE_HDR_T_FLAGS OFFSETOF(lbmc_cntl_topic_source_hdr_t, flags)
3579 #define L_LBMC_CNTL_TOPIC_SOURCE_HDR_T_FLAGS SIZEOF(lbmc_cntl_topic_source_hdr_t, flags)
3580 #define O_LBMC_CNTL_TOPIC_SOURCE_HDR_T_DOMAIN_ID OFFSETOF(lbmc_cntl_topic_source_hdr_t, domain_id)
3581 #define L_LBMC_CNTL_TOPIC_SOURCE_HDR_T_DOMAIN_ID SIZEOF(lbmc_cntl_topic_source_hdr_t, domain_id)
3582 #define L_LBMC_CNTL_TOPIC_SOURCE_HDR_T (int) sizeof(lbmc_cntl_topic_source_hdr_t)
3584 /* LBMC control topic source extended functionality header. */
3587 lbm_uint8_t next_hdr
;
3588 lbm_uint8_t hdr_len
;
3590 lbm_uint32_t src_ip
;
3591 lbm_uint16_t src_port
;
3592 lbm_uint16_t unused
;
3593 lbm_uint32_t functionality_flags
;
3594 } lbmc_cntl_topic_source_exfunc_hdr_t
;
3595 #define O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_topic_source_exfunc_hdr_t, next_hdr)
3596 #define L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_topic_source_exfunc_hdr_t, next_hdr)
3597 #define O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_topic_source_exfunc_hdr_t, hdr_len)
3598 #define L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_topic_source_exfunc_hdr_t, hdr_len)
3599 #define O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FLAGS OFFSETOF(lbmc_cntl_topic_source_exfunc_hdr_t, flags)
3600 #define L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FLAGS SIZEOF(lbmc_cntl_topic_source_exfunc_hdr_t, flags)
3601 #define O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_SRC_IP OFFSETOF(lbmc_cntl_topic_source_exfunc_hdr_t, src_ip)
3602 #define L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_SRC_IP SIZEOF(lbmc_cntl_topic_source_exfunc_hdr_t, src_ip)
3603 #define O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_SRC_PORT OFFSETOF(lbmc_cntl_topic_source_exfunc_hdr_t, src_port)
3604 #define L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_SRC_PORT SIZEOF(lbmc_cntl_topic_source_exfunc_hdr_t, src_port)
3605 #define O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_UNUSED OFFSETOF(lbmc_cntl_topic_source_exfunc_hdr_t, unused)
3606 #define L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_UNUSED SIZEOF(lbmc_cntl_topic_source_exfunc_hdr_t, unused)
3607 #define O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FUNCTIONALITY_FLAGS OFFSETOF(lbmc_cntl_topic_source_exfunc_hdr_t, functionality_flags)
3608 #define L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FUNCTIONALITY_FLAGS SIZEOF(lbmc_cntl_topic_source_exfunc_hdr_t, functionality_flags)
3609 #define L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T (int) sizeof(lbmc_cntl_topic_source_exfunc_hdr_t)
3611 /* LBM control UME proxy source election token header. */
3614 lbm_uint8_t next_hdr
;
3615 lbm_uint8_t hdr_len
;
3617 lbm_uint8_t store_index
;
3619 } lbmc_cntl_ume_psrc_election_token_hdr_t
;
3620 #define O_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_ume_psrc_election_token_hdr_t, next_hdr)
3621 #define L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_ume_psrc_election_token_hdr_t, next_hdr)
3622 #define O_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_ume_psrc_election_token_hdr_t, hdr_len)
3623 #define L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_ume_psrc_election_token_hdr_t, hdr_len)
3624 #define O_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_FLAGS OFFSETOF(lbmc_cntl_ume_psrc_election_token_hdr_t, flags)
3625 #define L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_FLAGS SIZEOF(lbmc_cntl_ume_psrc_election_token_hdr_t, flags)
3626 #define O_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_STORE_INDEX OFFSETOF(lbmc_cntl_ume_psrc_election_token_hdr_t, store_index)
3627 #define L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_STORE_INDEX SIZEOF(lbmc_cntl_ume_psrc_election_token_hdr_t, store_index)
3628 #define O_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_TOKEN OFFSETOF(lbmc_cntl_ume_psrc_election_token_hdr_t, token)
3629 #define L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_TOKEN SIZEOF(lbmc_cntl_ume_psrc_election_token_hdr_t, token)
3630 #define L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T (int) sizeof(lbmc_cntl_ume_psrc_election_token_hdr_t)
3632 /* LBM control TCP session ID header. */
3635 lbm_uint8_t next_hdr
;
3636 lbm_uint8_t hdr_len
;
3639 } lbmc_cntl_tcp_sid_hdr_t
;
3640 #define O_LBMC_CNTL_TCP_SID_HDR_T_NEXT_HDR OFFSETOF(lbmc_cntl_tcp_sid_hdr_t, next_hdr)
3641 #define L_LBMC_CNTL_TCP_SID_HDR_T_NEXT_HDR SIZEOF(lbmc_cntl_tcp_sid_hdr_t, next_hdr)
3642 #define O_LBMC_CNTL_TCP_SID_HDR_T_HDR_LEN OFFSETOF(lbmc_cntl_tcp_sid_hdr_t, hdr_len)
3643 #define L_LBMC_CNTL_TCP_SID_HDR_T_HDR_LEN SIZEOF(lbmc_cntl_tcp_sid_hdr_t, hdr_len)
3644 #define O_LBMC_CNTL_TCP_SID_HDR_T_FLAGS OFFSETOF(lbmc_cntl_tcp_sid_hdr_t, flags)
3645 #define L_LBMC_CNTL_TCP_SID_HDR_T_FLAGS SIZEOF(lbmc_cntl_tcp_sid_hdr_t, flags)
3646 #define O_LBMC_CNTL_TCP_SID_HDR_T_SID OFFSETOF(lbmc_cntl_tcp_sid_hdr_t, sid)
3647 #define L_LBMC_CNTL_TCP_SID_HDR_T_SID SIZEOF(lbmc_cntl_tcp_sid_hdr_t, sid)
3648 #define L_LBMC_CNTL_TCP_SID_HDR_T (int) sizeof(lbmc_cntl_tcp_sid_hdr_t)
3650 /* LBMC extended configuration option. */
3655 } lbmc_extopt_cfgopt_hdr_t
;
3656 #define O_LBMC_EXTOPT_CFGOPT_HDR_T_SCOPE OFFSETOF(lbmc_extopt_cfgopt_hdr_t, scope)
3657 #define L_LBMC_EXTOPT_CFGOPT_HDR_T_SCOPE SIZEOF(lbmc_extopt_cfgopt_hdr_t, scope)
3658 #define O_LBMC_EXTOPT_CFGOPT_HDR_T_PARENT OFFSETOF(lbmc_extopt_cfgopt_hdr_t, scope)
3659 #define L_LBMC_EXTOPT_CFGOPT_HDR_T_PARENT SIZEOF(lbmc_extopt_cfgopt_hdr_t, scope)
3660 #define L_LBMC_EXTOPT_CFGOPT_HDR_T (int) sizeof(lbmc_extopt_cfgopt_hdr_t)
3662 /* LBMC extended option. */
3665 lbm_uint8_t next_hdr
;
3666 lbm_uint8_t hdr_len
;
3669 lbm_uint16_t subtype
;
3670 lbm_uint16_t fragment_offset
;
3671 } lbmc_extopt_hdr_t
;
3672 #define O_LBMC_EXTOPT_HDR_T_NEXT_HDR OFFSETOF(lbmc_extopt_hdr_t, next_hdr)
3673 #define L_LBMC_EXTOPT_HDR_T_NEXT_HDR SIZEOF(lbmc_extopt_hdr_t, next_hdr)
3674 #define O_LBMC_EXTOPT_HDR_T_HDR_LEN OFFSETOF(lbmc_extopt_hdr_t, hdr_len)
3675 #define L_LBMC_EXTOPT_HDR_T_HDR_LEN SIZEOF(lbmc_extopt_hdr_t, hdr_len)
3676 #define O_LBMC_EXTOPT_HDR_T_FLAGS OFFSETOF(lbmc_extopt_hdr_t, flags)
3677 #define L_LBMC_EXTOPT_HDR_T_FLAGS SIZEOF(lbmc_extopt_hdr_t, flags)
3678 #define O_LBMC_EXTOPT_HDR_T_ID OFFSETOF(lbmc_extopt_hdr_t, id)
3679 #define L_LBMC_EXTOPT_HDR_T_ID SIZEOF(lbmc_extopt_hdr_t, id)
3680 #define O_LBMC_EXTOPT_HDR_T_SUBTYPE OFFSETOF(lbmc_extopt_hdr_t, subtype)
3681 #define L_LBMC_EXTOPT_HDR_T_SUBTYPE SIZEOF(lbmc_extopt_hdr_t, subtype)
3682 #define O_LBMC_EXTOPT_HDR_T_FRAGMENT_OFFSET OFFSETOF(lbmc_extopt_hdr_t, fragment_offset)
3683 #define L_LBMC_EXTOPT_HDR_T_FRAGMENT_OFFSET SIZEOF(lbmc_extopt_hdr_t, fragment_offset)
3684 #define L_LBMC_EXTOPT_HDR_T (int) sizeof(lbmc_extopt_hdr_t)
3686 /* LBMC message properties. */
3689 lbm_uint32_t key_offset
;
3690 lbm_uint32_t value_offset
;
3693 } lbm_msg_properties_hdr_t
;
3694 #define O_LBM_MSG_PROPERTIES_HDR_T_KEY_OFFSET OFFSETOF(lbm_msg_properties_hdr_t, key_offset)
3695 #define L_LBM_MSG_PROPERTIES_HDR_T_KEY_OFFSET SIZEOF(lbm_msg_properties_hdr_t, key_offset)
3696 #define O_LBM_MSG_PROPERTIES_HDR_T_VALUE_OFFSET OFFSETOF(lbm_msg_properties_hdr_t, value_offset)
3697 #define L_LBM_MSG_PROPERTIES_HDR_T_VALUE_OFFSET SIZEOF(lbm_msg_properties_hdr_t, value_offset)
3698 #define O_LBM_MSG_PROPERTIES_HDR_T_HASH OFFSETOF(lbm_msg_properties_hdr_t, hash)
3699 #define L_LBM_MSG_PROPERTIES_HDR_T_HASH SIZEOF(lbm_msg_properties_hdr_t, hash)
3700 #define O_LBM_MSG_PROPERTIES_HDR_T_TYPE OFFSETOF(lbm_msg_properties_hdr_t, type)
3701 #define L_LBM_MSG_PROPERTIES_HDR_T_TYPE SIZEOF(lbm_msg_properties_hdr_t, type)
3702 #define L_LBM_MSG_PROPERTIES_HDR_T (int) sizeof(lbm_msg_properties_hdr_t)
3707 lbm_uint16_t num_fields
;
3708 lbm_uint8_t vertype
;
3710 } lbm_msg_properties_data_t
;
3711 #define O_LBM_MSG_PROPERTIES_DATA_T_MAGIC OFFSETOF(lbm_msg_properties_data_t, magic)
3712 #define L_LBM_MSG_PROPERTIES_DATA_T_MAGIC SIZEOF(lbm_msg_properties_data_t, magic)
3713 #define O_LBM_MSG_PROPERTIES_DATA_T_NUM_FIELDS OFFSETOF(lbm_msg_properties_data_t, num_fields)
3714 #define L_LBM_MSG_PROPERTIES_DATA_T_NUM_FIELDS SIZEOF(lbm_msg_properties_data_t, num_fields)
3715 #define O_LBM_MSG_PROPERTIES_DATA_T_VERTYPE OFFSETOF(lbm_msg_properties_data_t, vertype)
3716 #define L_LBM_MSG_PROPERTIES_DATA_T_VERTYPE SIZEOF(lbm_msg_properties_data_t, vertype)
3717 #define O_LBM_MSG_PROPERTIES_DATA_T_RES OFFSETOF(lbm_msg_properties_data_t, res)
3718 #define L_LBM_MSG_PROPERTIES_DATA_T_RES SIZEOF(lbm_msg_properties_data_t, res)
3719 #define L_LBM_MSG_PROPERTIES_DATA_T (int) sizeof(lbm_msg_properties_data_t)
3721 /* Unhandled header. */
3722 #define O_LBMC_UNHANDLED_HDR_T_NEXT_HDR OFFSETOF(lbmc_basic_hdr_t, next_hdr)
3723 #define L_LBMC_UNHANDLED_HDR_T_NEXT_HDR SIZEOF(lbmc_basic_hdr_t, next_hdr)
3724 #define O_LBMC_UNHANDLED_HDR_T_HDR_LEN OFFSETOF(lbmc_basic_hdr_t, hdr_len)
3725 #define L_LBMC_UNHANDLED_HDR_T_HDR_LEN SIZEOF(lbmc_basic_hdr_t, hdr_len)
3727 /* End of LBMC header definitions. */
3729 #define LBMC_VERSION 0x0
3731 #define LBMC_TYPE_MESSAGE 0x00
3732 #define LBMC_TYPE_EOT 0x01
3733 #define LBMC_TYPE_PRORX 0x02
3734 #define LBMC_TYPE_CONTROL 0x08
3735 #define LBMC_TYPE_RETRANS 0x0A
3737 #define LBMC_NHDR_DATA 0x00
3738 #define LBMC_NHDR_FRAG 0x01
3739 #define LBMC_NHDR_BATCH 0x02
3740 #define LBMC_NHDR_TGIDX 0x03
3741 #define LBMC_NHDR_REQUEST 0x04
3742 #define LBMC_NHDR_TOPICNAME 0x05
3743 #define LBMC_NHDR_APPHDR 0x06
3744 #define LBMC_NHDR_APPHDR_CHAIN 0x07
3745 #define LBMC_NHDR_UMQ_MSGID 0x08
3746 #define LBMC_NHDR_UMQ_SQD_RCV 0x09
3747 #define LBMC_NHDR_UMQ_RESUB 0x0A
3748 #define LBMC_NHDR_OTID 0x0B
3749 #define LBMC_NHDR_CTXINSTD 0x0C
3750 #define LBMC_NHDR_CTXINSTR 0x0D
3751 #define LBMC_NHDR_SRCIDX 0x0E
3752 #define LBMC_NHDR_UMQ_ULB_MSG 0x0F
3753 #define LBMC_NHDR_SSF_INIT 0x10
3754 #define LBMC_NHDR_SSF_CREQ 0x11
3755 #define LBMC_NHDR_UME_PREG 0x12
3756 #define LBMC_NHDR_UME_PREG_RESP 0x13
3757 #define LBMC_NHDR_UME_ACK 0x14
3758 #define LBMC_NHDR_UME_RXREQ 0x15
3759 #define LBMC_NHDR_UME_KEEPALIVE 0x16
3760 #define LBMC_NHDR_UME_STOREID 0x17
3761 #define LBMC_NHDR_UME_RANGED_ACK 0x18
3762 #define LBMC_NHDR_UME_ACK_ID 0x19
3763 #define LBMC_NHDR_UME_CAPABILITY 0x1A
3764 #define LBMC_NHDR_UME_PROXY_SRC 0x1B
3765 #define LBMC_NHDR_UME_STORE_GROUP 0x1C
3766 #define LBMC_NHDR_UME_STORE_INFO 0x1D
3767 #define LBMC_NHDR_UME_LJ_INFO 0x1E
3768 #define LBMC_NHDR_TSNI 0x20
3769 #define LBMC_NHDR_UMQ_REG 0x30
3770 #define LBMC_NHDR_UMQ_REG_RESP 0x31
3771 #define LBMC_NHDR_UMQ_ACK 0x32
3772 #define LBMC_NHDR_UMQ_RCR 0x33
3773 #define LBMC_NHDR_UMQ_KA 0x34
3774 #define LBMC_NHDR_UMQ_RXREQ 0x35
3775 #define LBMC_NHDR_UMQ_QMGMT 0x36
3776 #define LBMC_NHDR_UMQ_RESUB_REQ 0x37
3777 #define LBMC_NHDR_UMQ_RESUB_RESP 0x38
3778 #define LBMC_NHDR_TOPIC_INTEREST 0x39
3779 #define LBMC_NHDR_PATTERN_INTEREST 0x3A
3780 #define LBMC_NHDR_ADVERTISEMENT 0x3B
3781 #define LBMC_NHDR_UME_CTXINSTS 0x3C
3782 #define LBMC_NHDR_UME_STORENAME 0x3D
3783 #define LBMC_NHDR_UMQ_ULB_RCR 0x3E
3784 #define LBMC_NHDR_UMQ_LF 0x3F
3785 #define LBMC_NHDR_CTXINFO 0x40
3786 #define LBMC_NHDR_UME_PSER 0x41
3787 #define LBMC_NHDR_CTXINST 0x42
3788 #define LBMC_NHDR_DOMAIN 0x43
3789 #define LBMC_NHDR_TNWG_CAPABILITIES 0x44
3790 #define LBMC_NHDR_PATIDX 0x45
3791 #define LBMC_NHDR_UME_CLIENT_LIFETIME 0x46
3792 #define LBMC_NHDR_UME_SID 0x47
3793 #define LBMC_NHDR_UMQ_IDX_CMD 0x48
3794 #define LBMC_NHDR_UMQ_IDX_CMD_RESP 0x49
3795 #define LBMC_NHDR_ODOMAIN 0x4a
3796 #define LBMC_NHDR_STREAM 0x4b
3797 #define LBMC_NHDR_TOPIC_MD_INTEREST 0x4c
3798 #define LBMC_NHDR_PATTERN_MD_INTEREST 0x4d
3799 #define LBMC_NHDR_LJI_REQ 0x4e
3800 #define LBMC_NHDR_TNWG_KA 0x4f
3801 #define LBMC_NHDR_UME_RCV_KEEPALIVE 0x50
3802 #define LBMC_NHDR_UMQ_CMD 0x51
3803 #define LBMC_NHDR_UMQ_CMD_RESP 0x52
3804 #define LBMC_NHDR_SRI_REQ 0x53
3805 #define LBMC_NHDR_UME_STORE_DOMAIN 0x54
3806 #define LBMC_NHDR_SRI 0x55
3807 #define LBMC_NHDR_ROUTE_INFO 0x56
3808 #define LBMC_NHDR_ROUTE_INFO_NEIGHBOR 0x57
3809 #define LBMC_NHDR_GATEWAY_NAME 0x58
3810 #define LBMC_NHDR_AUTHENTICATION 0x60
3811 #define LBMC_NHDR_HMAC 0x62
3812 #define LBMC_NHDR_UMQ_SID 0x63
3813 #define LBMC_NHDR_DESTINATION 0x64
3814 #define LBMC_NHDR_TOPIC_IDX 0x65
3815 #define LBMC_NHDR_TOPIC_SOURCE 0x67
3816 #define LBMC_NHDR_TOPIC_SOURCE_EXFUNC 0x68
3817 #define LBMC_NHDR_UME_STORE_INFO_EXT 0x69
3818 #define LBMC_NHDR_UME_PSRC_ELECTION_TOKEN 0x6A
3819 #define LBMC_NHDR_TCP_SID 0x6B
3821 #define LBMC_NHDR_EXTOPT 0xFE
3823 #define LBMC_NHDR_NONE 0xFF
3825 #define LBMC_OPT_IGNORE 0x8000
3826 #define LBMC_OPT_IGNORE_CHAR 0x80
3827 #define LBMC_BATCH_START 0x0002
3828 #define LBMC_BATCH_END 0x0001
3830 #define LBMC_CNTL_SSF_INIT_DEFAULT_INC 0x40
3831 #define LBMC_CNTL_SSF_INIT_DEFAULT_EXC 0x20
3833 #define LBMC_CNTL_SSF_CREQ_MODE_INCLUDE 0x00
3834 #define LBMC_CNTL_SSF_CREQ_MODE_EXCLUDE 0x01
3836 #define LBMC_REQUEST_TRANSPORT_TCP 0x00
3837 #define LBMC_CNTL_SSF_INIT_TRANSPORT_TCP 0x00
3839 #define LBMC_UME_PREG_S_FLAG 0x80
3840 #define LBMC_UME_PREG_F_FLAG 0x40
3841 #define LBMC_UME_PREG_P_FLAG 0x20
3842 #define LBMC_UME_PREG_W_FLAG 0x10
3843 #define LBMC_UME_PREG_D_FLAG 0x08
3844 #define LBMC_UME_PREG_MARKER_PRI 0x01
3845 #define LBMC_UME_PREG_MARKER_SEC 0x02
3846 #define LBMC_UME_PREG_MARKER_TER 0x03
3847 #define LBMC_UME_PREG_RESP_O_FLAG 0x40
3848 #define LBMC_UME_PREG_RESP_E_FLAG 0x20
3849 #define LBMC_UME_PREG_RESP_S_FLAG 0x80
3850 #define LBMC_UME_PREG_RESP_W_FLAG 0x02
3851 #define LBMC_UME_PREG_RESP_D_FLAG 0x01
3852 #define LBMC_UME_PREG_RESP_ERRCODE_ENOERROR 0x00
3853 #define LBMC_UME_PREG_RESP_ERRCODE_ENOPATTERN 0x01
3854 #define LBMC_UME_PREG_RESP_ERRCODE_ESRCREGID 0x02
3855 #define LBMC_UME_PREG_RESP_ERRCODE_EREGID 0x03
3856 #define LBMC_UME_PREG_RESP_ERRCODE_ETOPICNAME 0x04
3857 #define LBMC_UME_PREG_RESP_ERRCODE_EACTIVE 0x05
3858 #define LBMC_UME_PREG_RESP_ERRCODE_ECONFIG 0x06
3859 #define LBMC_UME_PREG_RESP_CODE_NOACKS_FLAG 0x10
3860 #define LBMC_UME_PREG_RESP_CODE_NOCACHE_FLAG 0x10
3861 #define LBMC_UME_ACK_O_FLAG 0x40
3862 #define LBMC_UME_ACK_F_FLAG 0x20
3863 #define LBMC_UME_ACK_U_FLAG 0x10
3864 #define LBMC_UME_ACK_E_FLAG 0x08
3865 #define LBMC_UME_ACK_TYPE_CDELV 0x00
3866 #define LBMC_UME_ACK_TYPE_STABLE 0x01
3867 #define LBMC_UME_KEEPALIVE_R_FLAG 0x40
3868 #define LBMC_UME_KEEPALIVE_T_FLAG 0x20
3869 #define LBMC_UME_KEEPALIVE_TYPE_SRC 0x2
3870 #define LBMC_UME_KEEPALIVE_TYPE_RCV 0x1
3871 #define LBMC_UME_KEEPALIVE_TYPE_STORE 0x0
3872 #define LBMC_UME_STOREID_MAX_STOREID 0x7FFF
3873 #define LBMC_UME_CAPABILITY_QC_FLAG 0x4000
3874 #define LBMC_UME_CAPABILITY_CLIENT_LIFETIME_FLAG 0x2000
3875 #define LBMC_UME_CAPABILITY_RANGED_RX_FLAG 0x1000
3876 #define LBMC_UME_PROXY_SRC_E_FLAG 0x4000
3877 #define LBMC_UME_PROXY_SRC_C_FLAG 0x2000
3878 #define LBMC_UME_RXREQ_T_FLAG 0x4000
3879 #define LBMC_UME_RXREQ_MARKER_MASK 0x00FF
3880 #define LBMC_LJI_REQ_L_FLAG 0x0001
3881 #define LBMC_LJI_REQ_M_FLAG 0x0002
3882 #define LBMC_LJI_REQ_O_FLAG 0x0004
3883 #define LBMC_SRI_A_FLAG 0x0001
3884 #define LBMC_SRI_INITIAL_SQN_KNOWN_FLAG 0x0002
3885 #define LBMC_UMQ_REG_CTX_TYPE 0x1
3886 #define LBMC_UMQ_REG_SRC_TYPE 0x2
3887 #define LBMC_UMQ_REG_RCV_TYPE 0x3
3888 #define LBMC_UMQ_REG_RCV_DEREG_TYPE 0x4
3889 #define LBMC_UMQ_REG_ULB_RCV_TYPE 0x5
3890 #define LBMC_UMQ_REG_ULB_RCV_DEREG_TYPE 0x6
3891 #define LBMC_UMQ_REG_OBSERVER_RCV_TYPE 0x7
3892 #define LBMC_UMQ_REG_OBSERVER_RCV_DEREG_TYPE 0x8
3893 #define LBMC_UMQ_REG_R_FLAG 0x40
3894 #define LBMC_UMQ_REG_T_FLAG 0x20
3895 #define LBMC_UMQ_REG_I_FLAG 0x10
3896 #define LBMC_UMQ_REG_MSG_SEL_FLAG 0x08
3897 #define LBMC_UMQ_REG_RESP_CTX_TYPE 0x1
3898 #define LBMC_UMQ_REG_RESP_SRC_TYPE 0x2
3899 #define LBMC_UMQ_REG_RESP_RCV_TYPE 0x3
3900 #define LBMC_UMQ_REG_RESP_RCV_DEREG_TYPE 0x4
3901 #define LBMC_UMQ_REG_RESP_ULB_RCV_TYPE 0x5
3902 #define LBMC_UMQ_REG_RESP_ULB_RCV_DEREG_TYPE 0x6
3903 #define LBMC_UMQ_REG_RESP_OBSERVER_RCV_TYPE 0x7
3904 #define LBMC_UMQ_REG_RESP_OBSERVER_RCV_DEREG_TYPE 0x8
3905 #define LBMC_UMQ_REG_RESP_CTX_EX_TYPE 0x9
3906 #define LBMC_UMQ_REG_RESP_ERR_TYPE 0xFF
3907 #define LBMC_UMQ_REG_RESP_R_FLAG 0x40
3908 #define LBMC_UMQ_REG_RESP_ERR_L_FLAG 0x20
3909 #define LBMC_UMQ_REG_RESP_SRC_S_FLAG 0x20
3910 #define LBMC_UMQ_REG_RESP_SRC_D_FLAG 0x10
3911 #define LBMC_UMQ_REG_RESP_CTX_EX_FLAG_FIRSTMSG 0x1
3913 #define LBMC_UMQ_ACK_STABLE_TYPE 0x1
3914 #define LBMC_UMQ_ACK_CR_TYPE 0x2
3915 #define LBMC_UMQ_ACK_ULB_CR_TYPE 0x3
3916 #define LBMC_UMQ_ACK_T_FLAG 0x40
3917 #define LBMC_UMQ_ACK_D_FLAG 0x20
3918 #define LBMC_UMQ_ACK_NUMIDS_MASK 0x0F
3919 #define LBMC_UMQ_RCR_BOI_FLAG 0x100
3920 #define LBMC_UMQ_RCR_R_FLAG 0x4000
3921 #define LBMC_UMQ_RCR_D_FLAG 0x2000
3922 #define LBMC_UMQ_RCR_S_FLAG 0x1000
3923 #define LBMC_UMQ_RCR_EOI_FLAG 0x200
3924 #define LBMC_UMQ_RCR_BOI_FLAG 0x100
3925 #define LBMC_UMQ_ULB_RCR_R_FLAG 0x4000
3926 #define LBMC_UMQ_ULB_RCR_D_FLAG 0x2000
3927 #define LBMC_UMQ_ULB_RCR_EOI_FLAG 0x200
3928 #define LBMC_UMQ_ULB_RCR_BOI_FLAG 0x100
3929 #define LBMC_UMQ_SQD_RCV_R_FLAG 0x4000
3930 #define LBMC_UMQ_SQD_RCV_S_FLAG 0x2000
3931 #define LBMC_UMQ_SQD_RCV_RE_FLAG 0x800
3932 #define LBMC_UMQ_SQD_RCV_EOI_FLAG 0x200
3933 #define LBMC_UMQ_SQD_RCV_BOI_FLAG 0x100
3934 #define LBMC_UMQ_RESUB_Q_FLAG 0x4000
3935 #define LBMC_UMQ_ULB_MSG_A_FLAG 0x4000
3936 #define LBMC_UMQ_ULB_MSG_R_FLAG 0x2000
3937 #define LBMC_UMQ_KA_CTX_TYPE 0x00
3938 #define LBMC_UMQ_KA_SRC_TYPE 0x01
3939 #define LBMC_UMQ_KA_RCV_TYPE 0x02
3940 #define LBMC_UMQ_KA_ULB_RCV_TYPE 0x03
3941 #define LBMC_UMQ_KA_CTX_RESP_TYPE 0x10
3942 #define LBMC_UMQ_KA_SRC_RESP_TYPE 0x11
3943 #define LBMC_UMQ_KA_RCV_RESP_TYPE 0x12
3944 #define LBMC_UMQ_KA_ULB_RCV_RESP_TYPE 0x13
3945 #define LBMC_UMQ_KA_R_FLAG 0x40
3946 #define LBMC_UMQ_RXREQ_MR_TYPE 0x1
3947 #define LBMC_UMQ_RXREQ_QRCRR_TYPE 0x2
3948 #define LBMC_UMQ_RXREQ_TRCRR_TYPE 0x3
3949 #define LBMC_UMQ_RXREQ_ULB_MR_TYPE 0x4
3950 #define LBMC_UMQ_RXREQ_ULB_TRCRR_TYPE 0x5
3951 #define LBMC_UMQ_RXREQ_ULB_MR_ABORT_TYPE 0x6
3952 #define LBMC_UMQ_RXREQ_ULB_TRCRR_ABORT_TYPE 0x7
3953 #define LBMC_UMQ_RXREQ_R_FLAG 0x40
3954 #define LBMC_UMQ_RESUB_RESP_ENQUEUED_CODE 0x1
3955 #define LBMC_UMQ_RESUB_RESP_CONSUMED_CODE 0x2
3956 #define LBMC_UMQ_RESUB_RESP_OUTSTANDING_CODE 0x3
3957 #define LBMC_UMQ_RESUB_RESP_RESUBALLOWED_CODE 0x4
3958 #define LBMC_UMQ_RESUB_RESP_RESUBDONE_CODE 0x5
3959 #define LBMC_UMQ_LF_SRC_TYPE 0x01
3960 #define LBMC_UMQ_LF_RCV_TYPE 0x02
3961 #define LBMC_UMQ_LF_U_FLAG 0x40
3962 #define LBMC_UMQ_IDX_CMD_RCV_STOP_IDX_ASSIGN_TYPE 0x1
3963 #define LBMC_UMQ_IDX_CMD_RCV_START_IDX_ASSIGN_TYPE 0x2
3964 #define LBMC_UMQ_IDX_CMD_ULB_RCV_STOP_IDX_ASSIGN_TYPE 0x3
3965 #define LBMC_UMQ_IDX_CMD_ULB_RCV_START_IDX_ASSIGN_TYPE 0x4
3966 #define LBMC_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_TYPE 0x5
3967 #define LBMC_UMQ_IDX_CMD_ULB_RCV_RELEASE_IDX_ASSIGN_TYPE 0x6
3968 #define LBMC_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_TYPE 0x7
3969 #define LBMC_UMQ_IDX_CMD_ULB_RCV_RESERVE_IDX_ASSIGN_TYPE 0x8
3970 #define LBMC_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_TYPE 0x1
3971 #define LBMC_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_TYPE 0x2
3972 #define LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_TYPE 0x3
3973 #define LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_TYPE 0x4
3974 #define LBMC_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_TYPE 0x5
3975 #define LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_TYPE 0x6
3976 #define LBMC_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_TYPE 0x7
3977 #define LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_TYPE 0x8
3979 #define UMQUEUE_CTX_REG_EDUPREGID 0x1
3980 #define UMQUEUE_SRC_REG_EREGID 0x2
3981 #define UMQUEUE_SRC_REG_ENOPATTERN 0x3
3982 #define UMQUEUE_SRC_REG_ENOTOPICNAME 0x4
3983 #define UMQUEUE_RCV_REG_ENOTOPICNAME 0x5
3984 #define UMQUEUE_RCV_REG_EREGID 0x6
3985 #define UMQUEUE_RCV_REG_ENOPATTERN 0x7
3986 #define UMQUEUE_RCV_REG_EASSIGNIDINUSE 0x8
3987 #define UMQUEUE_RCV_REG_ERCVTYPEID 0x9
3988 #define UMQUEUE_RCV_REG_EINVAL 0xa
3989 #define UMQUEUE_REG_EAUTHFAIL 0x10
3991 #define UMQUEUE_RCV_IDX_CMD_EREGID 0x1
3992 #define UMQUEUE_RCV_IDX_CMD_EIDXNOTASSIGNED 0x2
3993 #define UMQUEUE_RCV_IDX_CMD_EIDXINELIGIBLE 0x3
3994 #define UMQUEUE_RCV_IDX_CMD_EIDXINUSE 0x4
3995 #define UMQUEUE_RCV_IDX_CMD_EIDXALREADYASSIGNED 0x5
3996 #define UMQUEUE_RCV_IDX_CMD_EAUTHFAIL 0x10
3997 #define LBM_UMQ_ULB_RCV_IDX_CMD_EIDXNOTASSIGNED 0xA
3998 #define LBM_UMQ_ULB_RCV_IDX_CMD_EIDXINELIGIBLE 0xB
3999 #define LBM_UMQ_ULB_RCV_IDX_CMD_EIDXINUSE 0xC
4000 #define LBM_UMQ_ULB_RCV_IDX_CMD_EIDXALREADYASSIGNED 0xD
4002 #define LBMC_UMQ_IDX_CMD_RESP_ERR_TYPE 0xFF
4003 #define LBMC_UMQ_IDX_CMD_RESP_ERR_L_FLAG 0x20
4004 #define LBM_UMQ_INDEX_FLAG_NUMERIC 0x1
4006 #define LBMC_TOPIC_INTEREST_CANCEL_FLAG 0x4000
4007 #define LBMC_TOPIC_INTEREST_REFRESH_FLAG 0x2000
4008 #define LBMC_PATTERN_INTEREST_CANCEL_FLAG 0x40
4009 #define LBMC_PATTERN_INTEREST_REFRESH_FLAG 0x20
4010 #define LBMC_ADVERTISEMENT_EOS_FLAG 0x40
4011 #define LBMC_ADVERTISEMENT_PATTERN_FLAG 0x20
4012 #define LBMC_ADVERTISEMENT_CHANGE_FLAG 0x10
4013 #define LBMC_ADVERTISEMENT_CTXINST_FLAG 0x08
4014 #define LBMC_TOPIC_SOURCE_EOS_FLAG 0x4000
4015 #define LBMC_ADVERTISEMENT_AD_LJ_FLAG 0x80000000
4016 #define LBMC_ADVERTISEMENT_AD_UME_FLAG 0x40000000
4017 #define LBMC_ADVERTISEMENT_AD_ACKTOSRC_FLAG 0x20000000
4018 #define LBMC_ADVERTISEMENT_AD_QUEUE_FLAG 0x10000000
4019 #define LBMC_ADVERTISEMENT_AD_ULB_FLAG 0x08000000
4020 #define LBMC_CTXINFO_QUERY_FLAG 0x4000
4021 #define LBMC_CTXINFO_ADDR_FLAG 0x2000
4022 #define LBMC_CTXINFO_CTXINST_FLAG 0x1000
4023 #define LBMC_CTXINFO_NAME_FLAG 0x0800
4024 #define LBMC_CTXINFO_TNWGSRC_FLAG 0x0400
4025 #define LBMC_CTXINFO_TNWGRCV_FLAG 0x0200
4026 #define LBMC_CTXINFO_PROXY_FLAG 0x0100
4027 #define LBMC_UME_PSER_SOURCE_CTXINST_FLAG 0x4000
4028 #define LBMC_UME_PSER_STORE_CTXINST_FLAG 0x2000
4029 #define LBMC_UME_PSER_REELECT_FLAG 0x1000
4030 #define LBMC_DOMAIN_ACTIVE_FLAG 0x4000
4031 #define LBMC_CNTL_TNWG_CAPABILITIES_VERSION_MASK 0x7fff
4032 #define LBMC_CNTL_TNWG_CAPABILITIES1_UME_FLAG 0x80000000
4033 #define LBMC_CNTL_TNWG_CAPABILITIES1_UMQ_FLAG 0x40000000
4034 #define LBMC_CNTL_TNWG_CAPABILITIES3_PCRE_FLAG 0x80000000
4035 #define LBMC_CNTL_TNWG_CAPABILITIES3_REGEX_FLAG 0x40000000
4037 #define LBM_CHAIN_ELEM_CHANNEL_NUMBER 0x1
4038 #define LBM_CHAIN_ELEM_HF_SQN 0x2
4039 #define LBM_CHAIN_ELEM_GW_INFO 0x3
4040 #define LBM_CHAIN_ELEM_APPHDR 0x4
4041 #define LBM_CHAIN_ELEM_USER_DATA 0x5
4042 #define LBM_CHAIN_ELEM_PROPERTIES_LENGTH 0x6
4043 #define LBM_CHAIN_ELEM_NONE 0xff
4045 #define LBMC_CNTL_TNWG_KA_Q_FLAG 0x4000
4046 #define LBMC_CNTL_TNWG_KA_R_FLAG 0x2000
4048 #define LBMC_UMQ_CMD_TYPE_TOPIC_LIST 1
4049 #define LBMC_UMQ_CMD_TYPE_RCV_MSG_RETRIEVE 2
4050 #define LBMC_UMQ_CMD_TYPE_RCV_MSG_LIST 3
4052 #define LBMC_UMQ_CMD_RESP_TYPE_CTX_TOPIC_LIST 1
4053 #define LBMC_UMQ_CMD_RESP_TYPE_RCV_MSG_RETRIEVE 2
4054 #define LBMC_UMQ_CMD_RESP_TYPE_RCV_MSG_LIST 3
4055 #define LBMC_UMQ_CMD_RESP_TYPE_ERROR 4
4057 #define AUTH_OP_REQ 0x01
4058 #define AUTH_OP_CHALLENGE 0x02
4059 #define AUTH_OP_CHALLENGE_RSP 0x03
4060 #define AUTH_OP_RESULT 0x04
4062 #define LBMC_UMQ_CMD_RESP_ERROR_AUTHFAIL 0x11
4063 #define LBMC_UMQ_CMD_RESP_ERROR_NOHMAC 0x12
4064 #define LBMC_UMQ_CMD_RESP_ERROR_NOAUTHOR 0x13
4066 #define LBMC_EXTOPT_FLAG_IGNORE 0x80
4067 #define LBMC_EXTOPT_FLAG_IGNORE_SUBTYPE 0x40
4068 #define LBMC_EXTOPT_FLAG_MORE_FRAGMENT 0x20
4070 #define LBMC_EXT_NHDR_CFGOPT 0x0100
4071 #define LBMC_EXT_NHDR_MSGSEL 0x0101
4073 #define LBM_MSG_PROPERTIES_HDR_VER(vt) ((vt & 0xF0) >> 4)
4074 #define LBM_MSG_PROPERTIES_HDR_TYPE(vt) (vt & 0xF)
4075 #define LBM_MSG_PROPERTIES_HDR_VER_MASK 0xF0
4076 #define LBM_MSG_PROPERTIES_HDR_TYPE_MASK 0x0F
4078 #define LBM_MSG_PROPERTIES_VER 0x0
4080 #define LBM_MSG_PROPERTIES_TYPE_NORMAL 0x0
4082 #define LBM_MSG_PROPERTIES_MAGIC 0xABACDABA
4083 #define LBM_MSG_PROPERTIES_ANTIMAGIC 0xBADAACAB
4085 #define LBM_MSG_PROPERTY_NONE 0x0
4086 #define LBM_MSG_PROPERTY_BOOLEAN 0x1
4087 #define LBM_MSG_PROPERTY_BYTE 0x2
4088 #define LBM_MSG_PROPERTY_SHORT 0x3
4089 #define LBM_MSG_PROPERTY_INT 0x4
4090 #define LBM_MSG_PROPERTY_LONG 0x5
4091 #define LBM_MSG_PROPERTY_FLOAT 0x6
4092 #define LBM_MSG_PROPERTY_DOUBLE 0x7
4093 #define LBM_MSG_PROPERTY_STRING 0x8
4095 #define LBM_UMQ_QUEUE_MSG_STATUS_UNKNOWN 0
4096 #define LBM_UMQ_QUEUE_MSG_STATUS_UNASSIGNED 1
4097 #define LBM_UMQ_QUEUE_MSG_STATUS_ASSIGNED 2
4098 #define LBM_UMQ_QUEUE_MSG_STATUS_REASSIGNING 3
4099 #define LBM_UMQ_QUEUE_MSG_STATUS_CONSUMED 4
4100 #define LBM_UMQ_QUEUE_MSG_STATUS_COMPLETE 5
4102 #define LBMC_CNTL_CONFIG_OPT_SCOPE_SOURCE 0x1
4103 #define LBMC_CNTL_CONFIG_OPT_SCOPE_RECEIVER 0x2
4104 #define LBMC_CNTL_CONFIG_OPT_SCOPE_CONTEXT 0x3
4105 #define LBMC_CNTL_CONFIG_OPT_SCOPE_WILDCARD_RECEIVER 0x4
4106 #define LBMC_CNTL_CONFIG_OPT_SCOPE_EVENT_QUEUE 0x5
4107 #define LBMC_CNTL_CONFIG_OPT_SCOPE_CONNECTION_FACTORY 0x6
4108 #define LBMC_CNTL_CONFIG_OPT_SCOPE_DESTINATION 0x7
4109 #define LBMC_CNTL_CONFIG_OPT_SCOPE_HFX 0x8
4111 /*----------------------------------------------------------------------------*/
4112 /* Value translation tables. */
4113 /*----------------------------------------------------------------------------*/
4115 static const value_string lbmc_message_type
[] =
4117 { LBMC_TYPE_MESSAGE
, "Message" },
4118 { LBMC_TYPE_PRORX
, "Proactive Retransmission" },
4119 { LBMC_TYPE_RETRANS
, "Retransmission" },
4120 { LBMC_TYPE_CONTROL
, "Control" },
4121 { LBMC_TYPE_EOT
, "EOT" },
4125 static const value_string lbmc_next_header
[] =
4127 { LBMC_NHDR_DATA
, "Data" },
4128 { LBMC_NHDR_FRAG
, "Fragment" },
4129 { LBMC_NHDR_BATCH
, "Batch" },
4130 { LBMC_NHDR_TGIDX
, "Unknown" },
4131 { LBMC_NHDR_REQUEST
, "Request" },
4132 { LBMC_NHDR_TOPICNAME
, "Topic name" },
4133 { LBMC_NHDR_APPHDR
, "Application header" },
4134 { LBMC_NHDR_APPHDR_CHAIN
, "Application header chain" },
4135 { LBMC_NHDR_UMQ_MSGID
, "UMQ message ID" },
4136 { LBMC_NHDR_UMQ_SQD_RCV
, "UMQ SQD rcv" },
4137 { LBMC_NHDR_UMQ_RESUB
, "UMQ resub" },
4138 { LBMC_NHDR_OTID
, "OTID" },
4139 { LBMC_NHDR_CTXINSTD
, "Context instance destination" },
4140 { LBMC_NHDR_CTXINSTR
, "Context instance return" },
4141 { LBMC_NHDR_SRCIDX
, "Source index" },
4142 { LBMC_NHDR_UMQ_ULB_MSG
, "UMQ ULB Message" },
4143 { LBMC_NHDR_SSF_INIT
, "Source-side filtering init" },
4144 { LBMC_NHDR_SSF_CREQ
, "Source-side filtering control request" },
4145 { LBMC_NHDR_UME_PREG
, "UME persistent registration" },
4146 { LBMC_NHDR_UME_PREG_RESP
, "UME persistent registration response" },
4147 { LBMC_NHDR_UME_ACK
, "UME acknowledgement" },
4148 { LBMC_NHDR_UME_RXREQ
, "UME retransmission request" },
4149 { LBMC_NHDR_UME_KEEPALIVE
, "UME keepalive" },
4150 { LBMC_NHDR_UME_STOREID
, "UME store ID" },
4151 { LBMC_NHDR_UME_RANGED_ACK
, "UME ranged ACK" },
4152 { LBMC_NHDR_UME_ACK_ID
, "UME ACK" },
4153 { LBMC_NHDR_UME_CAPABILITY
, "UME capability" },
4154 { LBMC_NHDR_UME_PROXY_SRC
, "Proxy source" },
4155 { LBMC_NHDR_UME_STORE_GROUP
, "Store group" },
4156 { LBMC_NHDR_UME_STORE_INFO
, "Store info" },
4157 { LBMC_NHDR_UME_LJ_INFO
, "UME late-join info" },
4158 { LBMC_NHDR_TSNI
, "Topic sequence info" },
4159 { LBMC_NHDR_UMQ_REG
, "UMQ registration" },
4160 { LBMC_NHDR_UMQ_REG_RESP
, "UMQ registration response" },
4161 { LBMC_NHDR_UMQ_ACK
, "UMQ ACK" },
4162 { LBMC_NHDR_UMQ_RCR
, "UMQ receiver control record" },
4163 { LBMC_NHDR_UMQ_KA
, "UMQ keepalive" },
4164 { LBMC_NHDR_UMQ_RXREQ
, "UME retransmission request" },
4165 { LBMC_NHDR_UMQ_QMGMT
, "UMQ queue management" },
4166 { LBMC_NHDR_UMQ_RESUB_REQ
, "UMQ resubmission request" },
4167 { LBMC_NHDR_UMQ_RESUB_RESP
, "UMQ resubmission response" },
4168 { LBMC_NHDR_TOPIC_INTEREST
, "Topic interest" },
4169 { LBMC_NHDR_PATTERN_INTEREST
, "Pattern interest" },
4170 { LBMC_NHDR_ADVERTISEMENT
, "Advertisement" },
4171 { LBMC_NHDR_UME_CTXINSTS
, "Store context instance" },
4172 { LBMC_NHDR_UME_STORENAME
, "Store name" },
4173 { LBMC_NHDR_UMQ_ULB_RCR
, "UMQ ULB RCR" },
4174 { LBMC_NHDR_UMQ_LF
, "UMQ load factor" },
4175 { LBMC_NHDR_CTXINFO
, "Context information" },
4176 { LBMC_NHDR_UME_PSER
, "UME proxy source election" },
4177 { LBMC_NHDR_CTXINST
, "Context instance" },
4178 { LBMC_NHDR_DOMAIN
, "Domain" },
4179 { LBMC_NHDR_TNWG_CAPABILITIES
, "TNWG Capabilities" },
4180 { LBMC_NHDR_PATIDX
, "Pattern index" },
4181 { LBMC_NHDR_UME_CLIENT_LIFETIME
, "UME client lifetime" },
4182 { LBMC_NHDR_UME_SID
, "UME session ID" },
4183 { LBMC_NHDR_UMQ_IDX_CMD
, "UMQ index command" },
4184 { LBMC_NHDR_UMQ_IDX_CMD_RESP
, "UMQ index command response" },
4185 { LBMC_NHDR_ODOMAIN
, "Originating Domain" },
4186 { LBMC_NHDR_STREAM
, "Stream" },
4187 { LBMC_NHDR_TOPIC_MD_INTEREST
, "Topic multi-domain interest" },
4188 { LBMC_NHDR_PATTERN_MD_INTEREST
, "Pattern multi-domain interest" },
4189 { LBMC_NHDR_LJI_REQ
, "Late Join information request" },
4190 { LBMC_NHDR_TNWG_KA
, "Gateway peer keepalive" },
4191 { LBMC_NHDR_UME_RCV_KEEPALIVE
, "UME receiver keepalive" },
4192 { LBMC_NHDR_UMQ_CMD
, "UMQ command" },
4193 { LBMC_NHDR_UMQ_CMD_RESP
, "UMQ command response" },
4194 { LBMC_NHDR_SRI_REQ
, "Source registration information request" },
4195 { LBMC_NHDR_UME_STORE_DOMAIN
, "Store domain" },
4196 { LBMC_NHDR_SRI
, "Source registration information" },
4197 { LBMC_NHDR_ROUTE_INFO
, "Route information" },
4198 { LBMC_NHDR_ROUTE_INFO_NEIGHBOR
, "Route information neighbor" },
4199 { LBMC_NHDR_GATEWAY_NAME
, "Gateway name" },
4200 { LBMC_NHDR_AUTHENTICATION
, "Authentication" },
4201 { LBMC_NHDR_HMAC
, "HMAC" },
4202 { LBMC_NHDR_UMQ_SID
, "UMQ session ID" },
4203 { LBMC_NHDR_DESTINATION
, "Destination" },
4204 { LBMC_NHDR_TOPIC_IDX
, "Topic index" },
4205 { LBMC_NHDR_TOPIC_SOURCE
, "Topic source" },
4206 { LBMC_NHDR_TOPIC_SOURCE_EXFUNC
, "Topic source extended functionality" },
4207 { LBMC_NHDR_EXTOPT
, "Extended option" },
4208 { LBMC_NHDR_UME_STORE_INFO_EXT
, "Store extended information" },
4209 { LBMC_NHDR_UME_PSRC_ELECTION_TOKEN
, "Proxy source election token" },
4210 { LBMC_NHDR_NONE
, "None" },
4211 { LBMC_NHDR_TCP_SID
, "TCP session ID" },
4215 static const value_string lbmc_req_transport_type
[] =
4217 { LBMC_REQUEST_TRANSPORT_TCP
, "TCP" },
4221 static const value_string lbmc_ssf_transport_type
[] =
4223 { LBMC_CNTL_SSF_INIT_TRANSPORT_TCP
, "TCP" },
4227 static const value_string lbmc_ssf_creq_mode
[] =
4229 { LBMC_CNTL_SSF_CREQ_MODE_INCLUDE
, "Include" },
4230 { LBMC_CNTL_SSF_CREQ_MODE_EXCLUDE
, "Exclude" },
4234 static const value_string lbmc_ume_preg_resp_error_code
[] =
4236 { LBMC_UME_PREG_RESP_ERRCODE_ENOERROR
, "No error" },
4237 { LBMC_UME_PREG_RESP_ERRCODE_ENOPATTERN
, "Store has no matching pattern" },
4238 { LBMC_UME_PREG_RESP_ERRCODE_ESRCREGID
, "Source RegID not found" },
4239 { LBMC_UME_PREG_RESP_ERRCODE_EREGID
, "RegID is in use by a receiver" },
4240 { LBMC_UME_PREG_RESP_ERRCODE_ETOPICNAME
, "Topic name does not match previous registration" },
4241 { LBMC_UME_PREG_RESP_ERRCODE_EACTIVE
, "RegID is in use by a different source" },
4242 { LBMC_UME_PREG_RESP_ERRCODE_ECONFIG
, "Source and store configuration values are incompatible" },
4246 static const value_string lbmc_ume_ack_type
[] =
4248 { LBMC_UME_ACK_TYPE_CDELV
, "CDELV" },
4249 { LBMC_UME_ACK_TYPE_STABLE
, "Stable" },
4253 static const value_string lbmc_ume_ka_type
[] =
4255 { LBMC_UME_KEEPALIVE_TYPE_SRC
, "Source" },
4256 { LBMC_UME_KEEPALIVE_TYPE_RCV
, "Receiver" },
4257 { LBMC_UME_KEEPALIVE_TYPE_STORE
, "Store" },
4261 static const true_false_string lbmc_ume_s_flag
=
4263 "Source registration",
4264 "Receiver registration"
4267 static const true_false_string lbmc_ume_f_flag
=
4269 "Do not forward ACKs",
4273 static const true_false_string lbmc_ume_o_flag
=
4275 "Old/returning client",
4279 static const true_false_string lbmc_ume_error_flag
=
4285 static const true_false_string lbmc_ume_n_flag
=
4287 "No cache (store) or no ACKs (receiver)",
4288 "Cache (store) or ACKs (receiver)"
4291 static const true_false_string lbmc_ume_r_flag
=
4293 "Store requests a response",
4294 "No response requested"
4297 static const true_false_string lbmc_ume_t_flag
=
4299 "Store has not seen a TIR for the topic",
4300 "Store has seen a TIR for the topic"
4303 static const value_string lbmc_apphdr_chain_type
[] =
4305 { LBM_CHAIN_ELEM_CHANNEL_NUMBER
, "Channel" },
4306 { LBM_CHAIN_ELEM_HF_SQN
, "Hot failover sequence number" },
4307 { LBM_CHAIN_ELEM_GW_INFO
, "Gateway info" },
4308 { LBM_CHAIN_ELEM_APPHDR
, "Non-chained apphdr" },
4309 { LBM_CHAIN_ELEM_USER_DATA
, "User data" },
4310 { LBM_CHAIN_ELEM_PROPERTIES_LENGTH
, "Message properties length" },
4311 { LBM_CHAIN_ELEM_NONE
, "None" },
4315 static const value_string lbmc_umq_reg_type
[] =
4317 { LBMC_UMQ_REG_CTX_TYPE
, "Context" },
4318 { LBMC_UMQ_REG_SRC_TYPE
, "Source" },
4319 { LBMC_UMQ_REG_RCV_TYPE
, "Receiver" },
4320 { LBMC_UMQ_REG_RCV_DEREG_TYPE
, "Receiver deregistration" },
4321 { LBMC_UMQ_REG_ULB_RCV_TYPE
, "ULB Receiver" },
4322 { LBMC_UMQ_REG_ULB_RCV_DEREG_TYPE
, "ULB Receiver deregistration" },
4323 { LBMC_UMQ_REG_OBSERVER_RCV_TYPE
, "Observer receiver registration" },
4324 { LBMC_UMQ_REG_OBSERVER_RCV_DEREG_TYPE
, "Observer receiver deregistration" },
4328 static const value_string lbmc_umq_reg_response_type
[] =
4330 { LBMC_UMQ_REG_RESP_CTX_TYPE
, "Context" },
4331 { LBMC_UMQ_REG_RESP_SRC_TYPE
, "Source" },
4332 { LBMC_UMQ_REG_RESP_RCV_TYPE
, "Receiver" },
4333 { LBMC_UMQ_REG_RESP_RCV_DEREG_TYPE
, "Receiver deregistration" },
4334 { LBMC_UMQ_REG_RESP_ERR_TYPE
, "Error" },
4335 { LBMC_UMQ_REG_RESP_ULB_RCV_TYPE
, "ULB Receiver" },
4336 { LBMC_UMQ_REG_RESP_ULB_RCV_DEREG_TYPE
, "ULB Receiver deregistration" },
4337 { LBMC_UMQ_REG_RESP_OBSERVER_RCV_TYPE
, "Observer receiver registration" },
4338 { LBMC_UMQ_REG_RESP_OBSERVER_RCV_DEREG_TYPE
, "Observer receiver deregistration" },
4339 { LBMC_UMQ_REG_RESP_CTX_EX_TYPE
, "Extended context registration" },
4343 static const value_string lbmc_umq_reg_response_error_code
[] =
4345 { UMQUEUE_CTX_REG_EDUPREGID
, "Registration ID in use by different IP/port (ctx)" },
4346 { UMQUEUE_SRC_REG_EREGID
, "Registration ID not found (src)" },
4347 { UMQUEUE_SRC_REG_ENOPATTERN
, "Topic not specified in queue configuration (src)" },
4348 { UMQUEUE_SRC_REG_ENOTOPICNAME
, "No topic name (src)" },
4349 { UMQUEUE_RCV_REG_ENOTOPICNAME
, "No topic name (rcv)" },
4350 { UMQUEUE_RCV_REG_EREGID
, "Registration ID not found (rcv)" },
4351 { UMQUEUE_RCV_REG_ENOPATTERN
, "Topic not specified in queue configuration (rcv)"},
4352 { UMQUEUE_RCV_REG_EASSIGNIDINUSE
, "Assignment ID already in use (rcv)" },
4353 { UMQUEUE_RCV_REG_ERCVTYPEID
, "Invalid receiver-type ID (rcv)" },
4354 { UMQUEUE_RCV_REG_EINVAL
, "Invalid value (rcv)" },
4355 { UMQUEUE_REG_EAUTHFAIL
, "Authorization failure" },
4359 static const value_string lbmc_umq_idx_cmd_response_error_code
[] =
4361 { UMQUEUE_RCV_IDX_CMD_EREGID
, "Receiver/list not found" },
4362 { UMQUEUE_RCV_IDX_CMD_EIDXNOTASSIGNED
, "Index not assigned" },
4363 { UMQUEUE_RCV_IDX_CMD_EIDXINELIGIBLE
, "Receiver ineligible for index" },
4364 { UMQUEUE_RCV_IDX_CMD_EIDXINUSE
, "Index assigned to another receiver" },
4365 { UMQUEUE_RCV_IDX_CMD_EIDXALREADYASSIGNED
, "Index already assigned to this receiver" },
4366 { UMQUEUE_RCV_IDX_CMD_EAUTHFAIL
, "Authorization failure" },
4367 { LBM_UMQ_ULB_RCV_IDX_CMD_EIDXNOTASSIGNED
, "Index not assigned" },
4368 { LBM_UMQ_ULB_RCV_IDX_CMD_EIDXINELIGIBLE
, "Receiver ineligible for index" },
4369 { LBM_UMQ_ULB_RCV_IDX_CMD_EIDXINUSE
, "Index already assigned or unavailable" },
4370 { LBM_UMQ_ULB_RCV_IDX_CMD_EIDXALREADYASSIGNED
, "Index already assigned to this receiver" },
4374 static const value_string lbmc_umq_ack_type
[] =
4376 { LBMC_UMQ_ACK_STABLE_TYPE
, "Stable" },
4377 { LBMC_UMQ_ACK_CR_TYPE
, "CR" },
4378 { LBMC_UMQ_ACK_ULB_CR_TYPE
, "ULB CR" },
4382 static const value_string lbmc_umq_ka_type
[] =
4384 { LBMC_UMQ_KA_CTX_TYPE
, "Context" },
4385 { LBMC_UMQ_KA_SRC_TYPE
, "Source" },
4386 { LBMC_UMQ_KA_RCV_TYPE
, "Receiver" },
4387 { LBMC_UMQ_KA_ULB_RCV_TYPE
, "ULB Receiver" },
4388 { LBMC_UMQ_KA_CTX_RESP_TYPE
, "Context response" },
4389 { LBMC_UMQ_KA_SRC_RESP_TYPE
, "Source response" },
4390 { LBMC_UMQ_KA_RCV_RESP_TYPE
, "Receiver response" },
4391 { LBMC_UMQ_KA_ULB_RCV_RESP_TYPE
, "ULB Receiver response" },
4395 static const value_string lbmc_umq_rxreq_type
[] =
4397 { LBMC_UMQ_RXREQ_MR_TYPE
, "MR" },
4398 { LBMC_UMQ_RXREQ_QRCRR_TYPE
, "QRCRR" },
4399 { LBMC_UMQ_RXREQ_TRCRR_TYPE
, "TRCRR" },
4400 { LBMC_UMQ_RXREQ_ULB_MR_TYPE
, "ULB MR" },
4401 { LBMC_UMQ_RXREQ_ULB_MR_ABORT_TYPE
, "ULB MR Abort" },
4402 { LBMC_UMQ_RXREQ_ULB_TRCRR_TYPE
, "ULB TRCRR" },
4403 { LBMC_UMQ_RXREQ_ULB_TRCRR_ABORT_TYPE
, "ULB TRCRR Abort" },
4407 static const value_string lbmc_umq_resub_response_code
[] =
4409 { LBMC_UMQ_RESUB_RESP_ENQUEUED_CODE
, "Enqueued" },
4410 { LBMC_UMQ_RESUB_RESP_CONSUMED_CODE
, "Consumed" },
4411 { LBMC_UMQ_RESUB_RESP_OUTSTANDING_CODE
, "Outstanding" },
4412 { LBMC_UMQ_RESUB_RESP_RESUBALLOWED_CODE
, "Resubmission allowed" },
4413 { LBMC_UMQ_RESUB_RESP_RESUBDONE_CODE
, "Resubmission done" },
4417 static const value_string lbmc_umq_lf_type
[] =
4419 { LBMC_UMQ_LF_SRC_TYPE
, "Source" },
4420 { LBMC_UMQ_LF_RCV_TYPE
, "Receiver" },
4424 static const value_string lbmc_umq_index_cmd_type
[] =
4426 { LBMC_UMQ_IDX_CMD_RCV_STOP_IDX_ASSIGN_TYPE
, "Stop receiver index assignment" },
4427 { LBMC_UMQ_IDX_CMD_RCV_START_IDX_ASSIGN_TYPE
, "Start receiver index assignment" },
4428 { LBMC_UMQ_IDX_CMD_ULB_RCV_STOP_IDX_ASSIGN_TYPE
, "Stop ULB receiver index assignment" },
4429 { LBMC_UMQ_IDX_CMD_ULB_RCV_START_IDX_ASSIGN_TYPE
, "Start ULB receiver index assignment" },
4430 { LBMC_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_TYPE
, "Release receiver index assignment" },
4431 { LBMC_UMQ_IDX_CMD_ULB_RCV_RELEASE_IDX_ASSIGN_TYPE
, "Release ULB receiver index assignment" },
4432 { LBMC_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_TYPE
, "Reserve receiver index assignment" },
4433 { LBMC_UMQ_IDX_CMD_ULB_RCV_RESERVE_IDX_ASSIGN_TYPE
, "Reserve ULB receiver index assignment" },
4437 static const value_string lbmc_umq_index_cmd_response_type
[] =
4439 { LBMC_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_TYPE
, "Stop receiver index assignment" },
4440 { LBMC_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_TYPE
, "Start receiver index assignment" },
4441 { LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_TYPE
, "Stop ULB receiver index assignment" },
4442 { LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_TYPE
, "Start ULB receiver index assignment" },
4443 { LBMC_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_TYPE
, "Release receiver index assignment" },
4444 { LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_TYPE
, "Release ULB receiver index assignment" },
4445 { LBMC_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_TYPE
, "Reserve receiver index assignment" },
4446 { LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_TYPE
, "Reserve ULB receiver index assignment" },
4450 static const value_string lbmc_umq_cmd_type
[] =
4452 { LBMC_UMQ_CMD_TYPE_TOPIC_LIST
, "Topic list" },
4453 { LBMC_UMQ_CMD_TYPE_RCV_MSG_RETRIEVE
, "Retrieve message" },
4454 { LBMC_UMQ_CMD_TYPE_RCV_MSG_LIST
, "List message" },
4458 static const value_string lbmc_umq_cmd_response_type
[] =
4460 { LBMC_UMQ_CMD_RESP_TYPE_CTX_TOPIC_LIST
, "Topic list" },
4461 { LBMC_UMQ_CMD_RESP_TYPE_RCV_MSG_RETRIEVE
, "Retrieve message" },
4462 { LBMC_UMQ_CMD_RESP_TYPE_RCV_MSG_LIST
, "List message" },
4463 { LBMC_UMQ_CMD_RESP_TYPE_ERROR
, "Error" },
4467 static const value_string lbmc_umq_cmd_response_error_code
[] =
4469 { LBMC_UMQ_CMD_RESP_ERROR_AUTHFAIL
, "Authentication failed" },
4470 { LBMC_UMQ_CMD_RESP_ERROR_NOHMAC
, "HMAC failed" },
4471 { LBMC_UMQ_CMD_RESP_ERROR_NOAUTHOR
, "Not authorized" },
4475 static const value_string lbmc_auth_operation_id_type
[] =
4477 { AUTH_OP_REQ
, "Request" },
4478 { AUTH_OP_CHALLENGE
, "Challenge" },
4479 { AUTH_OP_CHALLENGE_RSP
, "Challenge response" },
4480 { AUTH_OP_RESULT
, "Result" },
4484 static const value_string lbmc_extopt_subtype
[] =
4486 { LBMC_EXT_NHDR_CFGOPT
, "Configuration option" },
4487 { LBMC_EXT_NHDR_MSGSEL
, "Message selector" },
4491 static const value_string lbm_msg_prop_header_type
[] =
4493 { LBM_MSG_PROPERTIES_TYPE_NORMAL
, "Normal" },
4497 static const value_string lbm_msg_prop_magic_type
[] =
4499 { LBM_MSG_PROPERTIES_MAGIC
, "MAGIC" },
4500 { LBM_MSG_PROPERTIES_ANTIMAGIC
, "ANTI-MAGIC" },
4504 static const value_string lbm_msg_prop_field_type
[] =
4506 { LBM_MSG_PROPERTY_NONE
, "None" },
4507 { LBM_MSG_PROPERTY_BOOLEAN
, "Boolean" },
4508 { LBM_MSG_PROPERTY_BYTE
, "Byte" },
4509 { LBM_MSG_PROPERTY_SHORT
, "Short" },
4510 { LBM_MSG_PROPERTY_INT
, "Integer" },
4511 { LBM_MSG_PROPERTY_LONG
, "Long" },
4512 { LBM_MSG_PROPERTY_FLOAT
, "Float" },
4513 { LBM_MSG_PROPERTY_DOUBLE
, "Double" },
4514 { LBM_MSG_PROPERTY_STRING
, "String" },
4518 static const value_string lbmc_umq_msg_status_code
[] =
4520 { LBM_UMQ_QUEUE_MSG_STATUS_UNKNOWN
, "Unknown" },
4521 { LBM_UMQ_QUEUE_MSG_STATUS_UNASSIGNED
, "Unassigned" },
4522 { LBM_UMQ_QUEUE_MSG_STATUS_ASSIGNED
, "Assigned" },
4523 { LBM_UMQ_QUEUE_MSG_STATUS_REASSIGNING
, "Reassigning" },
4524 { LBM_UMQ_QUEUE_MSG_STATUS_CONSUMED
, "Consumed" },
4525 { LBM_UMQ_QUEUE_MSG_STATUS_COMPLETE
, "Complete" },
4529 static const value_string lbmc_extopt_config_option_scope
[] =
4531 { LBMC_CNTL_CONFIG_OPT_SCOPE_SOURCE
, "Source" },
4532 { LBMC_CNTL_CONFIG_OPT_SCOPE_RECEIVER
, "Receiver" },
4533 { LBMC_CNTL_CONFIG_OPT_SCOPE_CONTEXT
, "Context" },
4534 { LBMC_CNTL_CONFIG_OPT_SCOPE_WILDCARD_RECEIVER
, "Wildcard receiver" },
4535 { LBMC_CNTL_CONFIG_OPT_SCOPE_EVENT_QUEUE
, "Event queue" },
4536 { LBMC_CNTL_CONFIG_OPT_SCOPE_CONNECTION_FACTORY
, "Connection factory" },
4537 { LBMC_CNTL_CONFIG_OPT_SCOPE_DESTINATION
, "Destination" },
4538 { LBMC_CNTL_CONFIG_OPT_SCOPE_HFX
, "HFX" },
4542 static const true_false_string lbmc_umq_r_flag
=
4544 "Queue requests a response",
4545 "No response requested"
4548 /*----------------------------------------------------------------------------*/
4550 /*----------------------------------------------------------------------------*/
4552 static bool lbmc_use_heuristic_subdissectors
= true;
4553 static bool lbmc_reassemble_fragments
;
4554 static bool lbmc_dissect_lbmpdm
;
4555 static heur_dissector_list_t lbmc_heuristic_subdissector_list
;
4557 /*----------------------------------------------------------------------------*/
4558 /* Handles of all types. */
4559 /*----------------------------------------------------------------------------*/
4561 static int proto_lbmc
;
4562 static int tnw_protocol_handle
= -1;
4563 static int lbmc_uim_tap_handle
= -1;
4564 static int lbmc_stream_tap_handle
= -1;
4565 static int hf_lbmc_tag
;
4566 static int hf_lbmc_topic
;
4567 static int hf_lbmc_version
;
4568 static int hf_lbmc_type
;
4569 static int hf_lbmc_next_hdr
;
4570 static int hf_lbmc_msglen
;
4571 static int hf_lbmc_tidx
;
4572 static int hf_lbmc_sqn
;
4573 static int hf_lbmc_frag
;
4574 static int hf_lbmc_frag_next_hdr
;
4575 static int hf_lbmc_frag_hdr_len
;
4576 static int hf_lbmc_frag_flags
;
4577 static int hf_lbmc_frag_flags_ignore
;
4578 static int hf_lbmc_frag_first_sqn
;
4579 static int hf_lbmc_frag_offset
;
4580 static int hf_lbmc_frag_len
;
4581 static int hf_lbmc_batch
;
4582 static int hf_lbmc_batch_next_hdr
;
4583 static int hf_lbmc_batch_hdr_len
;
4584 static int hf_lbmc_batch_flags
;
4585 static int hf_lbmc_batch_flags_ignore
;
4586 static int hf_lbmc_batch_flags_batch_start
;
4587 static int hf_lbmc_batch_flags_batch_end
;
4588 static int hf_lbmc_tcp_request
;
4589 static int hf_lbmc_tcp_request_next_hdr
;
4590 static int hf_lbmc_tcp_request_hdr_len
;
4591 static int hf_lbmc_tcp_request_flags
;
4592 static int hf_lbmc_tcp_request_flags_ignore
;
4593 static int hf_lbmc_tcp_request_transport
;
4594 static int hf_lbmc_tcp_request_qidx
;
4595 static int hf_lbmc_tcp_request_port
;
4596 static int hf_lbmc_tcp_request_reserved
;
4597 static int hf_lbmc_tcp_request_ipaddr
;
4598 static int hf_lbmc_topicname
;
4599 static int hf_lbmc_topicname_next_hdr
;
4600 static int hf_lbmc_topicname_hdr_len
;
4601 static int hf_lbmc_topicname_flags
;
4602 static int hf_lbmc_topicname_flags_ignore
;
4603 static int hf_lbmc_topicname_topicname
;
4604 static int hf_lbmc_apphdr
;
4605 static int hf_lbmc_apphdr_next_hdr
;
4606 static int hf_lbmc_apphdr_hdr_len
;
4607 static int hf_lbmc_apphdr_code
;
4608 static int hf_lbmc_apphdr_ignore
;
4609 static int hf_lbmc_apphdr_data
;
4610 static int hf_lbmc_apphdr_chain
;
4611 static int hf_lbmc_apphdr_chain_next_hdr
;
4612 static int hf_lbmc_apphdr_chain_hdr_len
;
4613 static int hf_lbmc_apphdr_chain_res
;
4614 static int hf_lbmc_apphdr_chain_first_chain_hdr
;
4615 static int hf_lbmc_apphdr_chain_element
;
4616 static int hf_lbmc_apphdr_chain_element_next_hdr
;
4617 static int hf_lbmc_apphdr_chain_element_hdr_len
;
4618 static int hf_lbmc_apphdr_chain_element_res
;
4619 static int hf_lbmc_apphdr_chain_element_data
;
4620 static int hf_lbmc_apphdr_chain_msgprop
;
4621 static int hf_lbmc_apphdr_chain_msgprop_next_hdr
;
4622 static int hf_lbmc_apphdr_chain_msgprop_hdr_len
;
4623 static int hf_lbmc_apphdr_chain_msgprop_res
;
4624 static int hf_lbmc_apphdr_chain_msgprop_len
;
4625 static int hf_lbmc_umq_msgid
;
4626 static int hf_lbmc_umq_msgid_next_hdr
;
4627 static int hf_lbmc_umq_msgid_hdr_len
;
4628 static int hf_lbmc_umq_msgid_flags
;
4629 static int hf_lbmc_umq_msgid_flags_ignore
;
4630 static int hf_lbmc_umq_msgid_msgid_regid
;
4631 static int hf_lbmc_umq_msgid_msgid_stamp
;
4632 static int hf_lbmc_umq_sqd_rcv
;
4633 static int hf_lbmc_umq_sqd_rcv_next_hdr
;
4634 static int hf_lbmc_umq_sqd_rcv_hdr_len
;
4635 static int hf_lbmc_umq_sqd_rcv_flags
;
4636 static int hf_lbmc_umq_sqd_rcv_flags_ignore
;
4637 static int hf_lbmc_umq_sqd_rcv_flags_r_flag
;
4638 static int hf_lbmc_umq_sqd_rcv_flags_s_flag
;
4639 static int hf_lbmc_umq_sqd_rcv_flags_re_flag
;
4640 static int hf_lbmc_umq_sqd_rcv_flags_eoi_flag
;
4641 static int hf_lbmc_umq_sqd_rcv_flags_boi_flag
;
4642 static int hf_lbmc_umq_sqd_rcv_queue_id
;
4643 static int hf_lbmc_umq_sqd_rcv_queue_ver
;
4644 static int hf_lbmc_umq_sqd_rcv_rcr_idx
;
4645 static int hf_lbmc_umq_sqd_rcv_assign_id
;
4646 static int hf_lbmc_umq_resub
;
4647 static int hf_lbmc_umq_resub_next_hdr
;
4648 static int hf_lbmc_umq_resub_hdr_len
;
4649 static int hf_lbmc_umq_resub_flags
;
4650 static int hf_lbmc_umq_resub_flags_ignore
;
4651 static int hf_lbmc_umq_resub_flags_q_flag
;
4652 static int hf_lbmc_umq_resub_rcr_idx
;
4653 static int hf_lbmc_umq_resub_resp_ip
;
4654 static int hf_lbmc_umq_resub_resp_port
;
4655 static int hf_lbmc_umq_resub_appset_idx
;
4656 static int hf_lbmc_otid
;
4657 static int hf_lbmc_otid_next_hdr
;
4658 static int hf_lbmc_otid_hdr_len
;
4659 static int hf_lbmc_otid_flags
;
4660 static int hf_lbmc_otid_flags_ignore
;
4661 static int hf_lbmc_otid_otid
;
4662 static int hf_lbmc_ctxinst
;
4663 static int hf_lbmc_ctxinst_next_hdr
;
4664 static int hf_lbmc_ctxinst_hdr_len
;
4665 static int hf_lbmc_ctxinst_flags
;
4666 static int hf_lbmc_ctxinst_flags_ignore
;
4667 static int hf_lbmc_ctxinst_ctxinst
;
4668 static int hf_lbmc_ctxinstd
;
4669 static int hf_lbmc_ctxinstr
;
4670 static int hf_lbmc_srcidx
;
4671 static int hf_lbmc_srcidx_next_hdr
;
4672 static int hf_lbmc_srcidx_hdr_len
;
4673 static int hf_lbmc_srcidx_flags
;
4674 static int hf_lbmc_srcidx_flags_ignore
;
4675 static int hf_lbmc_srcidx_srcidx
;
4676 static int hf_lbmc_umq_ulb_msg
;
4677 static int hf_lbmc_umq_ulb_msg_next_hdr
;
4678 static int hf_lbmc_umq_ulb_msg_hdr_len
;
4679 static int hf_lbmc_umq_ulb_msg_flags
;
4680 static int hf_lbmc_umq_ulb_msg_flags_ignore
;
4681 static int hf_lbmc_umq_ulb_msg_flags_a_flag
;
4682 static int hf_lbmc_umq_ulb_msg_flags_r_flag
;
4683 static int hf_lbmc_umq_ulb_msg_queue_id
;
4684 static int hf_lbmc_umq_ulb_msg_ulb_src_id
;
4685 static int hf_lbmc_umq_ulb_msg_assign_id
;
4686 static int hf_lbmc_umq_ulb_msg_appset_idx
;
4687 static int hf_lbmc_umq_ulb_msg_num_ras
;
4688 static int hf_lbmc_ssf_init
;
4689 static int hf_lbmc_ssf_init_next_hdr
;
4690 static int hf_lbmc_ssf_init_hdr_len
;
4691 static int hf_lbmc_ssf_init_transport
;
4692 static int hf_lbmc_ssf_init_flags
;
4693 static int hf_lbmc_ssf_init_flags_ignore
;
4694 static int hf_lbmc_ssf_init_flags_default_inclusions
;
4695 static int hf_lbmc_ssf_init_flags_default_exclusions
;
4696 static int hf_lbmc_ssf_init_transport_idx
;
4697 static int hf_lbmc_ssf_init_client_idx
;
4698 static int hf_lbmc_ssf_init_ssf_port
;
4699 static int hf_lbmc_ssf_init_res
;
4700 static int hf_lbmc_ssf_init_ssf_ip
;
4701 static int hf_lbmc_ssf_creq
;
4702 static int hf_lbmc_ssf_creq_next_hdr
;
4703 static int hf_lbmc_ssf_creq_hdr_len
;
4704 static int hf_lbmc_ssf_creq_flags
;
4705 static int hf_lbmc_ssf_creq_flags_ignore
;
4706 static int hf_lbmc_ssf_creq_mode
;
4707 static int hf_lbmc_ssf_creq_transport_idx
;
4708 static int hf_lbmc_ssf_creq_topic_idx
;
4709 static int hf_lbmc_ssf_creq_client_idx
;
4710 static int hf_lbmc_ume_preg
;
4711 static int hf_lbmc_ume_preg_next_hdr
;
4712 static int hf_lbmc_ume_preg_hdr_len
;
4713 static int hf_lbmc_ume_preg_flags
;
4714 static int hf_lbmc_ume_preg_flags_ignore
;
4715 static int hf_lbmc_ume_preg_flags_f_flag
;
4716 static int hf_lbmc_ume_preg_flags_p_flag
;
4717 static int hf_lbmc_ume_preg_flags_w_flag
;
4718 static int hf_lbmc_ume_preg_flags_d_flag
;
4719 static int hf_lbmc_ume_preg_s_flag
;
4720 static int hf_lbmc_ume_preg_marker
;
4721 static int hf_lbmc_ume_preg_reg_id
;
4722 static int hf_lbmc_ume_preg_transport_idx
;
4723 static int hf_lbmc_ume_preg_topic_idx
;
4724 static int hf_lbmc_ume_preg_src_reg_id
;
4725 static int hf_lbmc_ume_preg_resp_port
;
4726 static int hf_lbmc_ume_preg_res2
;
4727 static int hf_lbmc_ume_preg_resp_ip
;
4728 static int hf_lbmc_ume_preg_resp
;
4729 static int hf_lbmc_ume_preg_resp_next_hdr
;
4730 static int hf_lbmc_ume_preg_resp_hdr_len
;
4731 static int hf_lbmc_ume_preg_resp_code
;
4732 static int hf_lbmc_ume_preg_resp_code_ignore
;
4733 static int hf_lbmc_ume_preg_resp_code_e_flag
;
4734 static int hf_lbmc_ume_preg_resp_code_o_flag
;
4735 static int hf_lbmc_ume_preg_resp_code_n_flag
;
4736 static int hf_lbmc_ume_preg_resp_code_w_flag
;
4737 static int hf_lbmc_ume_preg_resp_code_d_flag
;
4738 static int hf_lbmc_ume_preg_resp_code_code
;
4739 static int hf_lbmc_ume_preg_resp_s_flag
;
4740 static int hf_lbmc_ume_preg_resp_marker
;
4741 static int hf_lbmc_ume_preg_resp_reg_id
;
4742 static int hf_lbmc_ume_preg_resp_transport_idx
;
4743 static int hf_lbmc_ume_preg_resp_topic_idx
;
4744 static int hf_lbmc_ume_preg_resp_low_seqnum
;
4745 static int hf_lbmc_ume_preg_resp_high_seqnum
;
4746 static int hf_lbmc_ume_ack
;
4747 static int hf_lbmc_ume_ack_next_hdr
;
4748 static int hf_lbmc_ume_ack_hdr_len
;
4749 static int hf_lbmc_ume_ack_flags
;
4750 static int hf_lbmc_ume_ack_flags_ignore
;
4751 static int hf_lbmc_ume_ack_flags_o_flag
;
4752 static int hf_lbmc_ume_ack_flags_f_flag
;
4753 static int hf_lbmc_ume_ack_flags_u_flag
;
4754 static int hf_lbmc_ume_ack_flags_e_flag
;
4755 static int hf_lbmc_ume_ack_type
;
4756 static int hf_lbmc_ume_ack_transport_idx
;
4757 static int hf_lbmc_ume_ack_id_2
;
4758 static int hf_lbmc_ume_ack_rcv_reg_id
;
4759 static int hf_lbmc_ume_ack_seqnum
;
4760 static int hf_lbmc_ume_rxreq
;
4761 static int hf_lbmc_ume_rxreq_next_hdr
;
4762 static int hf_lbmc_ume_rxreq_hdr_len
;
4763 static int hf_lbmc_ume_rxreq_flags
;
4764 static int hf_lbmc_ume_rxreq_flags_ignore
;
4765 static int hf_lbmc_ume_rxreq_flags_tsni_req
;
4766 static int hf_lbmc_ume_rxreq_marker
;
4767 static int hf_lbmc_ume_rxreq_request_idx
;
4768 static int hf_lbmc_ume_rxreq_transport_idx
;
4769 static int hf_lbmc_ume_rxreq_id_2
;
4770 static int hf_lbmc_ume_rxreq_seqnum
;
4771 static int hf_lbmc_ume_rxreq_rx_port
;
4772 static int hf_lbmc_ume_rxreq_res
;
4773 static int hf_lbmc_ume_rxreq_rx_ip
;
4774 static int hf_lbmc_ume_keepalive
;
4775 static int hf_lbmc_ume_keepalive_next_hdr
;
4776 static int hf_lbmc_ume_keepalive_hdr_len
;
4777 static int hf_lbmc_ume_keepalive_flags
;
4778 static int hf_lbmc_ume_keepalive_flags_ignore
;
4779 static int hf_lbmc_ume_keepalive_flags_r_flag
;
4780 static int hf_lbmc_ume_keepalive_flags_t_flag
;
4781 static int hf_lbmc_ume_keepalive_type
;
4782 static int hf_lbmc_ume_keepalive_transport_idx
;
4783 static int hf_lbmc_ume_keepalive_topic_idx
;
4784 static int hf_lbmc_ume_keepalive_reg_id
;
4785 static int hf_lbmc_ume_storeid
;
4786 static int hf_lbmc_ume_storeid_next_hdr
;
4787 static int hf_lbmc_ume_storeid_hdr_len
;
4788 static int hf_lbmc_ume_storeid_ignore
;
4789 static int hf_lbmc_ume_storeid_store_id
;
4790 static int hf_lbmc_ume_ranged_ack
;
4791 static int hf_lbmc_ume_ranged_ack_next_hdr
;
4792 static int hf_lbmc_ume_ranged_ack_hdr_len
;
4793 static int hf_lbmc_ume_ranged_ack_flags
;
4794 static int hf_lbmc_ume_ranged_ack_flags_ignore
;
4795 static int hf_lbmc_ume_ranged_ack_first_seqnum
;
4796 static int hf_lbmc_ume_ranged_ack_last_seqnum
;
4797 static int hf_lbmc_ume_ack_id
;
4798 static int hf_lbmc_ume_ack_id_next_hdr
;
4799 static int hf_lbmc_ume_ack_id_hdr_len
;
4800 static int hf_lbmc_ume_ack_id_flags
;
4801 static int hf_lbmc_ume_ack_id_flags_ignore
;
4802 static int hf_lbmc_ume_ack_id_id
;
4803 static int hf_lbmc_ume_capability
;
4804 static int hf_lbmc_ume_capability_next_hdr
;
4805 static int hf_lbmc_ume_capability_hdr_len
;
4806 static int hf_lbmc_ume_capability_flags
;
4807 static int hf_lbmc_ume_capability_flags_ignore
;
4808 static int hf_lbmc_ume_capability_flags_client_lifetime_flag
;
4809 static int hf_lbmc_ume_capability_flags_qc_flag
;
4810 static int hf_lbmc_ume_capability_flags_ranged_rx_flag
;
4811 static int hf_lbmc_ume_proxy_src
;
4812 static int hf_lbmc_ume_proxy_src_next_hdr
;
4813 static int hf_lbmc_ume_proxy_src_hdr_len
;
4814 static int hf_lbmc_ume_proxy_src_flags
;
4815 static int hf_lbmc_ume_proxy_src_flags_ignore
;
4816 static int hf_lbmc_ume_proxy_src_flags_enable
;
4817 static int hf_lbmc_ume_proxy_src_flags_compatibility
;
4818 static int hf_lbmc_ume_store_group
;
4819 static int hf_lbmc_ume_store_group_next_hdr
;
4820 static int hf_lbmc_ume_store_group_hdr_len
;
4821 static int hf_lbmc_ume_store_group_flags
;
4822 static int hf_lbmc_ume_store_group_flags_ignore
;
4823 static int hf_lbmc_ume_store_group_grp_idx
;
4824 static int hf_lbmc_ume_store_group_grp_sz
;
4825 static int hf_lbmc_ume_store_group_res1
;
4826 static int hf_lbmc_ume_store
;
4827 static int hf_lbmc_ume_store_next_hdr
;
4828 static int hf_lbmc_ume_store_hdr_len
;
4829 static int hf_lbmc_ume_store_flags
;
4830 static int hf_lbmc_ume_store_flags_ignore
;
4831 static int hf_lbmc_ume_store_grp_idx
;
4832 static int hf_lbmc_ume_store_store_tcp_port
;
4833 static int hf_lbmc_ume_store_store_idx
;
4834 static int hf_lbmc_ume_store_store_ip_addr
;
4835 static int hf_lbmc_ume_store_src_reg_id
;
4836 static int hf_lbmc_ume_lj_info
;
4837 static int hf_lbmc_ume_lj_info_next_hdr
;
4838 static int hf_lbmc_ume_lj_info_hdr_len
;
4839 static int hf_lbmc_ume_lj_info_flags
;
4840 static int hf_lbmc_ume_lj_info_flags_ignore
;
4841 static int hf_lbmc_ume_lj_info_low_seqnum
;
4842 static int hf_lbmc_ume_lj_info_high_seqnum
;
4843 static int hf_lbmc_ume_lj_info_qidx
;
4844 static int hf_lbmc_tsni
;
4845 static int hf_lbmc_tsni_next_hdr
;
4846 static int hf_lbmc_tsni_hdr_len
;
4847 static int hf_lbmc_tsni_ignore
;
4848 static int hf_lbmc_tsni_num_recs
;
4849 static int hf_lbmc_tsni_rec
;
4850 static int hf_lbmc_tsni_rec_tidx
;
4851 static int hf_lbmc_tsni_rec_sqn
;
4852 static int hf_lbmc_umq_reg
;
4853 static int hf_lbmc_umq_reg_next_hdr
;
4854 static int hf_lbmc_umq_reg_hdr_len
;
4855 static int hf_lbmc_umq_reg_flags
;
4856 static int hf_lbmc_umq_reg_flags_ignore
;
4857 static int hf_lbmc_umq_reg_flags_r_flag
;
4858 static int hf_lbmc_umq_reg_flags_t_flag
;
4859 static int hf_lbmc_umq_reg_flags_i_flag
;
4860 static int hf_lbmc_umq_reg_flags_msg_sel_flag
;
4861 static int hf_lbmc_umq_reg_reg_type
;
4862 static int hf_lbmc_umq_reg_queue_id
;
4863 static int hf_lbmc_umq_reg_cmd_id
;
4864 static int hf_lbmc_umq_reg_inst_idx
;
4865 static int hf_lbmc_umq_reg_regid
;
4866 static int hf_lbmc_umq_reg_reg_ctx
;
4867 static int hf_lbmc_umq_reg_reg_ctx_port
;
4868 static int hf_lbmc_umq_reg_reg_ctx_reserved
;
4869 static int hf_lbmc_umq_reg_reg_ctx_ip
;
4870 static int hf_lbmc_umq_reg_reg_ctx_capabilities
;
4871 static int hf_lbmc_umq_reg_reg_src
;
4872 static int hf_lbmc_umq_reg_reg_src_transport_idx
;
4873 static int hf_lbmc_umq_reg_reg_src_topic_idx
;
4874 static int hf_lbmc_umq_reg_reg_rcv
;
4875 static int hf_lbmc_umq_reg_reg_rcv_assign_id
;
4876 static int hf_lbmc_umq_reg_reg_rcv_rcv_type_id
;
4877 static int hf_lbmc_umq_reg_reg_rcv_last_topic_rcr_tsp
;
4878 static int hf_lbmc_umq_reg_rcv_dereg
;
4879 static int hf_lbmc_umq_reg_rcv_dereg_rcr_idx
;
4880 static int hf_lbmc_umq_reg_rcv_dereg_assign_id
;
4881 static int hf_lbmc_umq_reg_reg_ulb_rcv
;
4882 static int hf_lbmc_umq_reg_reg_ulb_rcv_ulb_src_id
;
4883 static int hf_lbmc_umq_reg_reg_ulb_rcv_assign_id
;
4884 static int hf_lbmc_umq_reg_reg_ulb_rcv_rcv_type_id
;
4885 static int hf_lbmc_umq_reg_reg_ulb_rcv_port
;
4886 static int hf_lbmc_umq_reg_reg_ulb_rcv_reserved
;
4887 static int hf_lbmc_umq_reg_reg_ulb_rcv_ip
;
4888 static int hf_lbmc_umq_reg_reg_ulb_rcv_capabilities
;
4889 static int hf_lbmc_umq_reg_ulb_rcv_dereg
;
4890 static int hf_lbmc_umq_reg_ulb_rcv_dereg_ulb_src_id
;
4891 static int hf_lbmc_umq_reg_ulb_rcv_dereg_assign_id
;
4892 static int hf_lbmc_umq_reg_reg_observer_rcv
;
4893 static int hf_lbmc_umq_reg_reg_observer_rcv_assign_id
;
4894 static int hf_lbmc_umq_reg_reg_observer_rcv_rcv_type_id
;
4895 static int hf_lbmc_umq_reg_reg_observer_rcv_last_topic_rcr_tsp
;
4896 static int hf_lbmc_umq_reg_observer_rcv_dereg
;
4897 static int hf_lbmc_umq_reg_observer_rcv_dereg_rcr_idx
;
4898 static int hf_lbmc_umq_reg_observer_rcv_dereg_assign_id
;
4899 static int hf_lbmc_umq_reg_resp
;
4900 static int hf_lbmc_umq_reg_resp_next_hdr
;
4901 static int hf_lbmc_umq_reg_resp_hdr_len
;
4902 static int hf_lbmc_umq_reg_resp_flags
;
4903 static int hf_lbmc_umq_reg_resp_flags_ignore
;
4904 static int hf_lbmc_umq_reg_resp_flags_r_flag
;
4905 static int hf_lbmc_umq_reg_resp_flags_l_flag
;
4906 static int hf_lbmc_umq_reg_resp_flags_src_s_flag
;
4907 static int hf_lbmc_umq_reg_resp_flags_src_d_flag
;
4908 static int hf_lbmc_umq_reg_resp_resp_type
;
4909 static int hf_lbmc_umq_reg_resp_queue_id
;
4910 static int hf_lbmc_umq_reg_resp_cmd_id
;
4911 static int hf_lbmc_umq_reg_resp_inst_idx
;
4912 static int hf_lbmc_umq_reg_resp_regid
;
4913 static int hf_lbmc_umq_reg_resp_reg_ctx
;
4914 static int hf_lbmc_umq_reg_resp_reg_ctx_capabilities
;
4915 static int hf_lbmc_umq_reg_resp_reg_ctx_ex
;
4916 static int hf_lbmc_umq_reg_resp_reg_ctx_ex_capabilities
;
4917 static int hf_lbmc_umq_reg_resp_reg_ctx_ex_reserved
;
4918 static int hf_lbmc_umq_reg_resp_reg_ctx_ex_flags
;
4919 static int hf_lbmc_umq_reg_resp_reg_ctx_ex_flags_firstmsg
;
4920 static int hf_lbmc_umq_reg_resp_reg_ctx_ex_stamp
;
4921 static int hf_lbmc_umq_reg_resp_err
;
4922 static int hf_lbmc_umq_reg_resp_err_reserved
;
4923 static int hf_lbmc_umq_reg_resp_err_code
;
4924 static int hf_lbmc_umq_reg_resp_reg_src
;
4925 static int hf_lbmc_umq_reg_resp_reg_src_rcr_idx
;
4926 static int hf_lbmc_umq_reg_resp_reg_rcv
;
4927 static int hf_lbmc_umq_reg_resp_reg_rcv_rcr_idx
;
4928 static int hf_lbmc_umq_reg_resp_reg_rcv_assign_id
;
4929 static int hf_lbmc_umq_reg_resp_reg_rcv_appset_idx
;
4930 static int hf_lbmc_umq_reg_resp_reg_rcv_reserved
;
4931 static int hf_lbmc_umq_reg_resp_rcv_dereg
;
4932 static int hf_lbmc_umq_reg_resp_rcv_dereg_rcr_idx
;
4933 static int hf_lbmc_umq_reg_resp_rcv_dereg_assign_id
;
4934 static int hf_lbmc_umq_reg_resp_reg_ulb_rcv
;
4935 static int hf_lbmc_umq_reg_resp_reg_ulb_rcv_ulb_src_id
;
4936 static int hf_lbmc_umq_reg_resp_reg_ulb_rcv_assign_id
;
4937 static int hf_lbmc_umq_reg_resp_reg_ulb_rcv_appset_idx
;
4938 static int hf_lbmc_umq_reg_resp_reg_ulb_rcv_reserved
;
4939 static int hf_lbmc_umq_reg_resp_reg_ulb_rcv_capabilities
;
4940 static int hf_lbmc_umq_reg_resp_ulb_rcv_dereg
;
4941 static int hf_lbmc_umq_reg_resp_ulb_rcv_dereg_ulb_src_id
;
4942 static int hf_lbmc_umq_reg_resp_ulb_rcv_dereg_assign_id
;
4943 static int hf_lbmc_umq_reg_resp_reg_observer_rcv
;
4944 static int hf_lbmc_umq_reg_resp_reg_observer_rcv_rcr_idx
;
4945 static int hf_lbmc_umq_reg_resp_reg_observer_rcv_assign_id
;
4946 static int hf_lbmc_umq_reg_resp_reg_observer_rcv_appset_idx
;
4947 static int hf_lbmc_umq_reg_resp_reg_observer_rcv_reserved
;
4948 static int hf_lbmc_umq_reg_resp_observer_rcv_dereg
;
4949 static int hf_lbmc_umq_reg_resp_observer_rcv_dereg_rcr_idx
;
4950 static int hf_lbmc_umq_reg_resp_observer_rcv_dereg_assign_id
;
4951 static int hf_lbmc_umq_ack
;
4952 static int hf_lbmc_umq_ack_next_hdr
;
4953 static int hf_lbmc_umq_ack_hdr_len
;
4954 static int hf_lbmc_umq_ack_msgs
;
4955 static int hf_lbmc_umq_ack_msgs_ignore
;
4956 static int hf_lbmc_umq_ack_msgs_t_flag
;
4957 static int hf_lbmc_umq_ack_msgs_d_flag
;
4958 static int hf_lbmc_umq_ack_numids
;
4959 static int hf_lbmc_umq_ack_ack_type
;
4960 static int hf_lbmc_umq_ack_msgid
;
4961 static int hf_lbmc_umq_ack_msgid_regid
;
4962 static int hf_lbmc_umq_ack_msgid_stamp
;
4963 static int hf_lbmc_umq_ack_stable
;
4964 static int hf_lbmc_umq_ack_stable_queue_id
;
4965 static int hf_lbmc_umq_ack_stable_inst_idx
;
4966 static int hf_lbmc_umq_ack_stable_reserved
;
4967 static int hf_lbmc_umq_ack_cr
;
4968 static int hf_lbmc_umq_ack_cr_rcr_idx
;
4969 static int hf_lbmc_umq_ack_cr_assign_id
;
4970 static int hf_lbmc_umq_ack_cr_appset_idx
;
4971 static int hf_lbmc_umq_ack_cr_reserved
;
4972 static int hf_lbmc_umq_ack_ulb_cr
;
4973 static int hf_lbmc_umq_ack_ulb_cr_ulb_src_id
;
4974 static int hf_lbmc_umq_ack_ulb_cr_assign_id
;
4975 static int hf_lbmc_umq_ack_ulb_cr_appset_idx
;
4976 static int hf_lbmc_umq_ack_ulb_cr_reserved
;
4977 static int hf_lbmc_umq_rcr
;
4978 static int hf_lbmc_umq_rcr_next_hdr
;
4979 static int hf_lbmc_umq_rcr_hdr_len
;
4980 static int hf_lbmc_umq_rcr_flags
;
4981 static int hf_lbmc_umq_rcr_flags_ignore
;
4982 static int hf_lbmc_umq_rcr_flags_r_flag
;
4983 static int hf_lbmc_umq_rcr_flags_d_flag
;
4984 static int hf_lbmc_umq_rcr_flags_s_flag
;
4985 static int hf_lbmc_umq_rcr_flags_eoi_flag
;
4986 static int hf_lbmc_umq_rcr_flags_boi_flag
;
4987 static int hf_lbmc_umq_rcr_queue_id
;
4988 static int hf_lbmc_umq_rcr_rcr_idx
;
4989 static int hf_lbmc_umq_rcr_msgid_regid
;
4990 static int hf_lbmc_umq_rcr_msgid_stamp
;
4991 static int hf_lbmc_umq_rcr_topic_tsp
;
4992 static int hf_lbmc_umq_rcr_q_tsp
;
4993 static int hf_lbmc_umq_rcr_assign_id
;
4994 static int hf_lbmc_umq_rcr_appset_idx
;
4995 static int hf_lbmc_umq_rcr_num_ras
;
4996 static int hf_lbmc_umq_rcr_queue_ver
;
4997 static int hf_lbmc_cntl_umq_ka
;
4998 static int hf_lbmc_cntl_umq_ka_next_hdr
;
4999 static int hf_lbmc_cntl_umq_ka_hdr_len
;
5000 static int hf_lbmc_cntl_umq_ka_flags
;
5001 static int hf_lbmc_cntl_umq_ka_flags_ignore
;
5002 static int hf_lbmc_cntl_umq_ka_flags_r_flag
;
5003 static int hf_lbmc_cntl_umq_ka_ka_type
;
5004 static int hf_lbmc_cntl_umq_ka_queue_id
;
5005 static int hf_lbmc_cntl_umq_ka_regid
;
5006 static int hf_lbmc_cntl_umq_ka_inst_idx
;
5007 static int hf_lbmc_cntl_umq_ka_reserved
;
5008 static int hf_lbmc_umq_ka_src
;
5009 static int hf_lbmc_umq_ka_src_transport_idx
;
5010 static int hf_lbmc_umq_ka_src_topic_idx
;
5011 static int hf_lbmc_umq_ka_rcv
;
5012 static int hf_lbmc_umq_ka_rcv_rcr_idx
;
5013 static int hf_lbmc_umq_ka_rcv_assign_id
;
5014 static int hf_lbmc_umq_ka_ulb_rcv
;
5015 static int hf_lbmc_umq_ka_ulb_rcv_ulb_src_id
;
5016 static int hf_lbmc_umq_ka_ulb_rcv_assign_id
;
5017 static int hf_lbmc_umq_ka_ulb_rcv_resp
;
5018 static int hf_lbmc_umq_ka_ulb_rcv_resp_ulb_src_id
;
5019 static int hf_lbmc_umq_ka_ulb_rcv_resp_assign_id
;
5020 static int hf_lbmc_umq_ka_ulb_rcv_resp_appset_idx
;
5021 static int hf_lbmc_umq_ka_ulb_rcv_resp_reserved
;
5022 static int hf_lbmc_umq_rxreq
;
5023 static int hf_lbmc_umq_rxreq_next_hdr
;
5024 static int hf_lbmc_umq_rxreq_hdr_len
;
5025 static int hf_lbmc_umq_rxreq_flags
;
5026 static int hf_lbmc_umq_rxreq_flags_ignore
;
5027 static int hf_lbmc_umq_rxreq_flags_r_flag
;
5028 static int hf_lbmc_umq_rxreq_rxreq_type
;
5029 static int hf_lbmc_umq_rxreq_regid_resp
;
5030 static int hf_lbmc_umq_rxreq_regid_resp_regid
;
5031 static int hf_lbmc_umq_rxreq_addr_resp
;
5032 static int hf_lbmc_umq_rxreq_addr_resp_ip
;
5033 static int hf_lbmc_umq_rxreq_addr_resp_port
;
5034 static int hf_lbmc_umq_rxreq_addr_resp_reserved
;
5035 static int hf_lbmc_umq_rxreq_mr
;
5036 static int hf_lbmc_umq_rxreq_mr_assign_id
;
5037 static int hf_lbmc_umq_rxreq_mr_msgid_regid
;
5038 static int hf_lbmc_umq_rxreq_mr_msgid_stamp
;
5039 static int hf_lbmc_umq_rxreq_ulb_mr
;
5040 static int hf_lbmc_umq_rxreq_ulb_mr_ulb_src_id
;
5041 static int hf_lbmc_umq_rxreq_ulb_mr_assign_id
;
5042 static int hf_lbmc_umq_rxreq_ulb_mr_appset_idx
;
5043 static int hf_lbmc_umq_rxreq_ulb_mr_reserved
;
5044 static int hf_lbmc_umq_rxreq_ulb_mr_msgid_regid
;
5045 static int hf_lbmc_umq_rxreq_ulb_mr_msgid_stamp
;
5046 static int hf_lbmc_umq_rxreq_ulb_mr_abort
;
5047 static int hf_lbmc_umq_rxreq_ulb_mr_abort_ulb_src_id
;
5048 static int hf_lbmc_umq_rxreq_ulb_mr_abort_assign_id
;
5049 static int hf_lbmc_umq_rxreq_ulb_mr_abort_msgid_regid
;
5050 static int hf_lbmc_umq_rxreq_ulb_mr_abort_msgid_stamp
;
5051 static int hf_lbmc_umq_rxreq_qrcrr
;
5052 static int hf_lbmc_umq_rxreq_qrcrr_tsp
;
5053 static int hf_lbmc_umq_rxreq_trcrr
;
5054 static int hf_lbmc_umq_rxreq_trcrr_rcr_idx
;
5055 static int hf_lbmc_umq_rxreq_trcrr_tsp
;
5056 static int hf_lbmc_umq_rxreq_ulb_trcrr
;
5057 static int hf_lbmc_umq_rxreq_ulb_trcrr_ulb_src_id
;
5058 static int hf_lbmc_umq_rxreq_ulb_trcrr_assign_id
;
5059 static int hf_lbmc_umq_rxreq_ulb_trcrr_tsp
;
5060 static int hf_lbmc_umq_rxreq_ulb_trcrr_abort
;
5061 static int hf_lbmc_umq_rxreq_ulb_trcrr_abort_ulb_src_id
;
5062 static int hf_lbmc_umq_rxreq_ulb_trcrr_abort_assign_id
;
5063 static int hf_lbmc_umq_rxreq_ulb_trcrr_abort_tsp
;
5064 static int hf_lbmc_umq_qmgmt
;
5065 static int hf_lbmc_umq_qmgmt_next_hdr
;
5066 static int hf_lbmc_umq_qmgmt_hdr_len
;
5067 static int hf_lbmc_umq_resub_req
;
5068 static int hf_lbmc_umq_resub_req_next_hdr
;
5069 static int hf_lbmc_umq_resub_req_hdr_len
;
5070 static int hf_lbmc_umq_resub_req_flags
;
5071 static int hf_lbmc_umq_resub_req_flags_ignore
;
5072 static int hf_lbmc_umq_resub_req_msgid_regid
;
5073 static int hf_lbmc_umq_resub_req_msgid_stamp
;
5074 static int hf_lbmc_umq_resub_req_rcr_idx
;
5075 static int hf_lbmc_umq_resub_req_resp_ip
;
5076 static int hf_lbmc_umq_resub_req_resp_port
;
5077 static int hf_lbmc_umq_resub_req_appset_idx
;
5078 static int hf_lbmc_umq_resub_resp
;
5079 static int hf_lbmc_umq_resub_resp_next_hdr
;
5080 static int hf_lbmc_umq_resub_resp_hdr_len
;
5081 static int hf_lbmc_umq_resub_resp_flags
;
5082 static int hf_lbmc_umq_resub_resp_flags_ignore
;
5083 static int hf_lbmc_umq_resub_resp_code
;
5084 static int hf_lbmc_umq_resub_resp_msgid_regid
;
5085 static int hf_lbmc_umq_resub_resp_msgid_stamp
;
5086 static int hf_lbmc_umq_resub_resp_rcr_idx
;
5087 static int hf_lbmc_umq_resub_resp_reserved
;
5088 static int hf_lbmc_umq_resub_resp_appset_idx
;
5089 static int hf_lbmc_topic_interest
;
5090 static int hf_lbmc_topic_interest_next_hdr
;
5091 static int hf_lbmc_topic_interest_hdr_len
;
5092 static int hf_lbmc_topic_interest_flags
;
5093 static int hf_lbmc_topic_interest_flags_ignore
;
5094 static int hf_lbmc_topic_interest_flags_cancel
;
5095 static int hf_lbmc_topic_interest_flags_refresh
;
5096 static int hf_lbmc_topic_interest_domain_id
;
5097 static int hf_lbmc_pattern_interest
;
5098 static int hf_lbmc_pattern_interest_next_hdr
;
5099 static int hf_lbmc_pattern_interest_hdr_len
;
5100 static int hf_lbmc_pattern_interest_flags
;
5101 static int hf_lbmc_pattern_interest_flags_ignore
;
5102 static int hf_lbmc_pattern_interest_flags_cancel
;
5103 static int hf_lbmc_pattern_interest_flags_refresh
;
5104 static int hf_lbmc_pattern_interest_type
;
5105 static int hf_lbmc_pattern_interest_domain_id
;
5106 static int hf_lbmc_pattern_interest_index
;
5107 static int hf_lbmc_advertisement
;
5108 static int hf_lbmc_advertisement_next_hdr
;
5109 static int hf_lbmc_advertisement_hdr_len
;
5110 static int hf_lbmc_advertisement_flags
;
5111 static int hf_lbmc_advertisement_flags_ignore
;
5112 static int hf_lbmc_advertisement_flags_eos
;
5113 static int hf_lbmc_advertisement_flags_pattern
;
5114 static int hf_lbmc_advertisement_flags_change
;
5115 static int hf_lbmc_advertisement_flags_ctxinst
;
5116 static int hf_lbmc_advertisement_hop_count
;
5117 static int hf_lbmc_advertisement_ad_flags
;
5118 static int hf_lbmc_advertisement_ad_flags_lj
;
5119 static int hf_lbmc_advertisement_ad_flags_ume
;
5120 static int hf_lbmc_advertisement_ad_flags_acktosrc
;
5121 static int hf_lbmc_advertisement_ad_flags_queue
;
5122 static int hf_lbmc_advertisement_ad_flags_ulb
;
5123 static int hf_lbmc_advertisement_cost
;
5124 static int hf_lbmc_advertisement_transport_idx
;
5125 static int hf_lbmc_advertisement_topic_idx
;
5126 static int hf_lbmc_advertisement_low_seqno
;
5127 static int hf_lbmc_advertisement_high_seqno
;
5128 static int hf_lbmc_advertisement_domain_id
;
5129 static int hf_lbmc_advertisement_pat_idx
;
5130 static int hf_lbmc_advertisement_ctxinst
;
5131 static int hf_lbmc_ume_storename
;
5132 static int hf_lbmc_ume_storename_next_hdr
;
5133 static int hf_lbmc_ume_storename_hdr_len
;
5134 static int hf_lbmc_ume_storename_flags
;
5135 static int hf_lbmc_ume_storename_flags_ignore
;
5136 static int hf_lbmc_ume_storename_store
;
5137 static int hf_lbmc_umq_ulb_rcr
;
5138 static int hf_lbmc_umq_ulb_rcr_next_hdr
;
5139 static int hf_lbmc_umq_ulb_rcr_hdr_len
;
5140 static int hf_lbmc_umq_ulb_rcr_flags
;
5141 static int hf_lbmc_umq_ulb_rcr_flags_ignore
;
5142 static int hf_lbmc_umq_ulb_rcr_flags_r_flag
;
5143 static int hf_lbmc_umq_ulb_rcr_flags_d_flag
;
5144 static int hf_lbmc_umq_ulb_rcr_flags_eoi_flag
;
5145 static int hf_lbmc_umq_ulb_rcr_flags_boi_flag
;
5146 static int hf_lbmc_umq_ulb_rcr_queue_id
;
5147 static int hf_lbmc_umq_ulb_rcr_ulb_src_id
;
5148 static int hf_lbmc_umq_ulb_rcr_msgid_regid
;
5149 static int hf_lbmc_umq_ulb_rcr_msgid_stamp
;
5150 static int hf_lbmc_umq_ulb_rcr_topic_tsp
;
5151 static int hf_lbmc_umq_ulb_rcr_assign_id
;
5152 static int hf_lbmc_umq_ulb_rcr_appset_idx
;
5153 static int hf_lbmc_umq_ulb_rcr_num_ras
;
5154 static int hf_lbmc_umq_lf
;
5155 static int hf_lbmc_umq_lf_next_hdr
;
5156 static int hf_lbmc_umq_lf_hdr_len
;
5157 static int hf_lbmc_umq_lf_flags
;
5158 static int hf_lbmc_umq_lf_flags_ignore
;
5159 static int hf_lbmc_umq_lf_type
;
5160 static int hf_lbmc_umq_lf_num_srcs
;
5161 static int hf_lbmc_umq_lf_lf
;
5162 static int hf_lbmc_ctxinfo
;
5163 static int hf_lbmc_ctxinfo_next_hdr
;
5164 static int hf_lbmc_ctxinfo_hdr_len
;
5165 static int hf_lbmc_ctxinfo_flags
;
5166 static int hf_lbmc_ctxinfo_flags_ignore
;
5167 static int hf_lbmc_ctxinfo_flags_query
;
5168 static int hf_lbmc_ctxinfo_flags_addr
;
5169 static int hf_lbmc_ctxinfo_flags_ctxinst
;
5170 static int hf_lbmc_ctxinfo_flags_name
;
5171 static int hf_lbmc_ctxinfo_flags_tnwgsrc
;
5172 static int hf_lbmc_ctxinfo_flags_tnwgrcv
;
5173 static int hf_lbmc_ctxinfo_flags_proxy
;
5174 static int hf_lbmc_ctxinfo_reserved
;
5175 static int hf_lbmc_ctxinfo_hop_count
;
5176 static int hf_lbmc_ctxinfo_port
;
5177 static int hf_lbmc_ctxinfo_addr
;
5178 static int hf_lbmc_ctxinfo_domain_id
;
5179 static int hf_lbmc_ctxinfo_ctxinst
;
5180 static int hf_lbmc_ctxinfo_name
;
5181 static int hf_lbmc_ume_pser
;
5182 static int hf_lbmc_ume_pser_next_hdr
;
5183 static int hf_lbmc_ume_pser_hdr_len
;
5184 static int hf_lbmc_ume_pser_flags
;
5185 static int hf_lbmc_ume_pser_flags_ignore
;
5186 static int hf_lbmc_ume_pser_flags_source_ctxinst
;
5187 static int hf_lbmc_ume_pser_flags_store_ctxinst
;
5188 static int hf_lbmc_ume_pser_flags_reelect
;
5189 static int hf_lbmc_ume_pser_source_ip
;
5190 static int hf_lbmc_ume_pser_store_ip
;
5191 static int hf_lbmc_ume_pser_transport_idx
;
5192 static int hf_lbmc_ume_pser_topic_idx
;
5193 static int hf_lbmc_ume_pser_source_port
;
5194 static int hf_lbmc_ume_pser_store_port
;
5195 static int hf_lbmc_ume_pser_source_ctxinst
;
5196 static int hf_lbmc_ume_pser_store_ctxinst
;
5197 static int hf_lbmc_domain
;
5198 static int hf_lbmc_domain_next_hdr
;
5199 static int hf_lbmc_domain_hdr_len
;
5200 static int hf_lbmc_domain_flags
;
5201 static int hf_lbmc_domain_flags_ignore
;
5202 static int hf_lbmc_domain_flags_active
;
5203 static int hf_lbmc_domain_domain
;
5204 static int hf_lbmc_tnwg_capabilities
;
5205 static int hf_lbmc_tnwg_capabilities_next_hdr
;
5206 static int hf_lbmc_tnwg_capabilities_hdr_len
;
5207 static int hf_lbmc_tnwg_capabilities_flags
;
5208 static int hf_lbmc_tnwg_capabilities_flags_ignore
;
5209 static int hf_lbmc_tnwg_capabilities_flags_version
;
5210 static int hf_lbmc_tnwg_capabilities_capabilities1
;
5211 static int hf_lbmc_tnwg_capabilities_capabilities1_ume
;
5212 static int hf_lbmc_tnwg_capabilities_capabilities1_umq
;
5213 static int hf_lbmc_tnwg_capabilities_capabilities2
;
5214 static int hf_lbmc_tnwg_capabilities_capabilities3
;
5215 static int hf_lbmc_tnwg_capabilities_capabilities3_pcre
;
5216 static int hf_lbmc_tnwg_capabilities_capabilities3_regex
;
5217 static int hf_lbmc_tnwg_capabilities_capabilities4
;
5218 static int hf_lbmc_patidx
;
5219 static int hf_lbmc_patidx_next_hdr
;
5220 static int hf_lbmc_patidx_hdr_len
;
5221 static int hf_lbmc_patidx_flags
;
5222 static int hf_lbmc_patidx_flags_ignore
;
5223 static int hf_lbmc_patidx_patidx
;
5224 static int hf_lbmc_ume_client_lifetime
;
5225 static int hf_lbmc_ume_client_lifetime_next_hdr
;
5226 static int hf_lbmc_ume_client_lifetime_hdr_len
;
5227 static int hf_lbmc_ume_client_lifetime_flags
;
5228 static int hf_lbmc_ume_client_lifetime_flags_ignore
;
5229 static int hf_lbmc_ume_client_lifetime_activity_tmo
;
5230 static int hf_lbmc_ume_client_lifetime_lifetime
;
5231 static int hf_lbmc_ume_client_lifetime_ttl
;
5232 static int hf_lbmc_ume_sid
;
5233 static int hf_lbmc_ume_sid_next_hdr
;
5234 static int hf_lbmc_ume_sid_hdr_len
;
5235 static int hf_lbmc_ume_sid_flags
;
5236 static int hf_lbmc_ume_sid_flags_ignore
;
5237 static int hf_lbmc_ume_sid_sid
;
5238 static int hf_lbmc_umq_idx_cmd
;
5239 static int hf_lbmc_umq_idx_cmd_next_hdr
;
5240 static int hf_lbmc_umq_idx_cmd_hdr_len
;
5241 static int hf_lbmc_umq_idx_cmd_flags
;
5242 static int hf_lbmc_umq_idx_cmd_flags_ignore
;
5243 static int hf_lbmc_umq_idx_cmd_cmd_type
;
5244 static int hf_lbmc_umq_idx_cmd_queue_id
;
5245 static int hf_lbmc_umq_idx_cmd_cmd_id
;
5246 static int hf_lbmc_umq_idx_cmd_inst_idx
;
5247 static int hf_lbmc_umq_idx_cmd_regid
;
5248 static int hf_lbmc_umq_idx_cmd_stop_assign
;
5249 static int hf_lbmc_umq_idx_cmd_stop_assign_rcr_idx
;
5250 static int hf_lbmc_umq_idx_cmd_stop_assign_assign_id
;
5251 static int hf_lbmc_umq_idx_cmd_start_assign
;
5252 static int hf_lbmc_umq_idx_cmd_start_assign_rcr_idx
;
5253 static int hf_lbmc_umq_idx_cmd_start_assign_assign_id
;
5254 static int hf_lbmc_umq_idx_cmd_release_assign
;
5255 static int hf_lbmc_umq_idx_cmd_release_assign_rcr_idx
;
5256 static int hf_lbmc_umq_idx_cmd_release_assign_assign_id
;
5257 static int hf_lbmc_umq_idx_cmd_release_assign_flags
;
5258 static int hf_lbmc_umq_idx_cmd_release_assign_flags_numeric
;
5259 static int hf_lbmc_umq_idx_cmd_release_assign_index_len
;
5260 static int hf_lbmc_umq_idx_cmd_release_assign_reserved
;
5261 static int hf_lbmc_umq_idx_cmd_release_assign_numeric_index
;
5262 static int hf_lbmc_umq_idx_cmd_release_assign_string_index
;
5263 static int hf_lbmc_umq_idx_cmd_ulb_stop_assign
;
5264 static int hf_lbmc_umq_idx_cmd_ulb_stop_assign_src_id
;
5265 static int hf_lbmc_umq_idx_cmd_ulb_stop_assign_assign_id
;
5266 static int hf_lbmc_umq_idx_cmd_ulb_stop_assign_appset_idx
;
5267 static int hf_lbmc_umq_idx_cmd_ulb_stop_assign_reserved
;
5268 static int hf_lbmc_umq_idx_cmd_ulb_start_assign
;
5269 static int hf_lbmc_umq_idx_cmd_ulb_start_assign_src_id
;
5270 static int hf_lbmc_umq_idx_cmd_ulb_start_assign_assign_id
;
5271 static int hf_lbmc_umq_idx_cmd_ulb_start_assign_appset_idx
;
5272 static int hf_lbmc_umq_idx_cmd_ulb_start_assign_reserved
;
5273 static int hf_lbmc_umq_idx_cmd_ulb_release_assign
;
5274 static int hf_lbmc_umq_idx_cmd_ulb_release_assign_src_id
;
5275 static int hf_lbmc_umq_idx_cmd_ulb_release_assign_assign_id
;
5276 static int hf_lbmc_umq_idx_cmd_ulb_release_assign_flags
;
5277 static int hf_lbmc_umq_idx_cmd_ulb_release_assign_flags_numeric
;
5278 static int hf_lbmc_umq_idx_cmd_ulb_release_assign_appset_idx
;
5279 static int hf_lbmc_umq_idx_cmd_ulb_release_assign_index_len
;
5280 static int hf_lbmc_umq_idx_cmd_ulb_release_assign_reserved
;
5281 static int hf_lbmc_umq_idx_cmd_ulb_release_assign_numeric_index
;
5282 static int hf_lbmc_umq_idx_cmd_ulb_release_assign_string_index
;
5283 static int hf_lbmc_umq_idx_cmd_reserve_assign
;
5284 static int hf_lbmc_umq_idx_cmd_reserve_assign_rcr_idx
;
5285 static int hf_lbmc_umq_idx_cmd_reserve_assign_assign_id
;
5286 static int hf_lbmc_umq_idx_cmd_reserve_assign_flags
;
5287 static int hf_lbmc_umq_idx_cmd_reserve_assign_flags_numeric
;
5288 static int hf_lbmc_umq_idx_cmd_reserve_assign_index_len
;
5289 static int hf_lbmc_umq_idx_cmd_reserve_assign_reserved
;
5290 static int hf_lbmc_umq_idx_cmd_reserve_assign_numeric_index
;
5291 static int hf_lbmc_umq_idx_cmd_reserve_assign_string_index
;
5292 static int hf_lbmc_umq_idx_cmd_ulb_reserve_assign
;
5293 static int hf_lbmc_umq_idx_cmd_ulb_reserve_assign_src_id
;
5294 static int hf_lbmc_umq_idx_cmd_ulb_reserve_assign_assign_id
;
5295 static int hf_lbmc_umq_idx_cmd_ulb_reserve_assign_flags
;
5296 static int hf_lbmc_umq_idx_cmd_ulb_reserve_assign_flags_numeric
;
5297 static int hf_lbmc_umq_idx_cmd_ulb_reserve_assign_appset_idx
;
5298 static int hf_lbmc_umq_idx_cmd_ulb_reserve_assign_index_len
;
5299 static int hf_lbmc_umq_idx_cmd_ulb_reserve_assign_reserved
;
5300 static int hf_lbmc_umq_idx_cmd_ulb_reserve_assign_numeric_index
;
5301 static int hf_lbmc_umq_idx_cmd_ulb_reserve_assign_string_index
;
5302 static int hf_lbmc_umq_idx_cmd_resp
;
5303 static int hf_lbmc_umq_idx_cmd_resp_next_hdr
;
5304 static int hf_lbmc_umq_idx_cmd_resp_hdr_len
;
5305 static int hf_lbmc_umq_idx_cmd_resp_flags
;
5306 static int hf_lbmc_umq_idx_cmd_resp_flags_ignore
;
5307 static int hf_lbmc_umq_idx_cmd_resp_flags_ulb
;
5308 static int hf_lbmc_umq_idx_cmd_resp_resp_type
;
5309 static int hf_lbmc_umq_idx_cmd_resp_queue_id
;
5310 static int hf_lbmc_umq_idx_cmd_resp_cmd_id
;
5311 static int hf_lbmc_umq_idx_cmd_resp_inst_idx
;
5312 static int hf_lbmc_umq_idx_cmd_resp_regid
;
5313 static int hf_lbmc_umq_idx_cmd_resp_err
;
5314 static int hf_lbmc_umq_idx_cmd_resp_err_reserved
;
5315 static int hf_lbmc_umq_idx_cmd_resp_err_code
;
5316 static int hf_lbmc_umq_idx_cmd_resp_err_error_string
;
5317 static int hf_lbmc_umq_idx_cmd_resp_stop_assign
;
5318 static int hf_lbmc_umq_idx_cmd_resp_stop_assign_rcr_idx
;
5319 static int hf_lbmc_umq_idx_cmd_resp_stop_assign_assign_id
;
5320 static int hf_lbmc_umq_idx_cmd_resp_start_assign
;
5321 static int hf_lbmc_umq_idx_cmd_resp_start_assign_rcr_idx
;
5322 static int hf_lbmc_umq_idx_cmd_resp_start_assign_assign_id
;
5323 static int hf_lbmc_umq_idx_cmd_resp_start_assign_appset_idx
;
5324 static int hf_lbmc_umq_idx_cmd_resp_start_assign_reserved
;
5325 static int hf_lbmc_umq_idx_cmd_resp_release_assign
;
5326 static int hf_lbmc_umq_idx_cmd_resp_release_assign_rcr_idx
;
5327 static int hf_lbmc_umq_idx_cmd_resp_release_assign_assign_id
;
5328 static int hf_lbmc_umq_idx_cmd_resp_release_assign_appset_idx
;
5329 static int hf_lbmc_umq_idx_cmd_resp_release_assign_reserved
;
5330 static int hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign
;
5331 static int hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_src_id
;
5332 static int hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_assign_id
;
5333 static int hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_appset_idx
;
5334 static int hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_reserved
;
5335 static int hf_lbmc_umq_idx_cmd_resp_ulb_start_assign
;
5336 static int hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_src_id
;
5337 static int hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_assign_id
;
5338 static int hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_appset_idx
;
5339 static int hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_reserved
;
5340 static int hf_lbmc_umq_idx_cmd_resp_ulb_release_assign
;
5341 static int hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_src_id
;
5342 static int hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_assign_id
;
5343 static int hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_appset_idx
;
5344 static int hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_reserved
;
5345 static int hf_lbmc_umq_idx_cmd_resp_reserve_assign
;
5346 static int hf_lbmc_umq_idx_cmd_resp_reserve_assign_rcr_idx
;
5347 static int hf_lbmc_umq_idx_cmd_resp_reserve_assign_assign_id
;
5348 static int hf_lbmc_umq_idx_cmd_resp_reserve_assign_flags
;
5349 static int hf_lbmc_umq_idx_cmd_resp_reserve_assign_flags_numeric
;
5350 static int hf_lbmc_umq_idx_cmd_resp_reserve_assign_appset_idx
;
5351 static int hf_lbmc_umq_idx_cmd_resp_reserve_assign_index_len
;
5352 static int hf_lbmc_umq_idx_cmd_resp_reserve_assign_reserved
;
5353 static int hf_lbmc_umq_idx_cmd_resp_reserve_assign_numeric_index
;
5354 static int hf_lbmc_umq_idx_cmd_resp_reserve_assign_string_index
;
5355 static int hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign
;
5356 static int hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_src_id
;
5357 static int hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_assign_id
;
5358 static int hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_flags
;
5359 static int hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_flags_numeric
;
5360 static int hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_appset_idx
;
5361 static int hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_index_len
;
5362 static int hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_reserved
;
5363 static int hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_numeric_index
;
5364 static int hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_string_index
;
5365 static int hf_lbmc_odomain
;
5366 static int hf_lbmc_odomain_next_hdr
;
5367 static int hf_lbmc_odomain_hdr_len
;
5368 static int hf_lbmc_odomain_flags
;
5369 static int hf_lbmc_odomain_flags_ignore
;
5370 static int hf_lbmc_odomain_domain
;
5371 static int hf_lbmc_stream
;
5372 static int hf_lbmc_stream_next_hdr
;
5373 static int hf_lbmc_stream_hdr_len
;
5374 static int hf_lbmc_stream_flags
;
5375 static int hf_lbmc_stream_flags_ignore
;
5376 static int hf_lbmc_stream_stream_id
;
5377 static int hf_lbmc_stream_sqn
;
5378 static int hf_lbmc_stream_ctxinst
;
5379 static int hf_lbmc_topic_md_interest
;
5380 static int hf_lbmc_topic_md_interest_next_hdr
;
5381 static int hf_lbmc_topic_md_interest_hdr_len
;
5382 static int hf_lbmc_topic_md_interest_flags
;
5383 static int hf_lbmc_topic_md_interest_flags_ignore
;
5384 static int hf_lbmc_topic_md_interest_flags_cancel
;
5385 static int hf_lbmc_topic_md_interest_flags_refresh
;
5386 static int hf_lbmc_topic_md_interest_domain_count
;
5387 static int hf_lbmc_topic_md_interest_res1
;
5388 static int hf_lbmc_topic_md_interest_domain_id
;
5389 static int hf_lbmc_pattern_md_interest
;
5390 static int hf_lbmc_pattern_md_interest_next_hdr
;
5391 static int hf_lbmc_pattern_md_interest_hdr_len
;
5392 static int hf_lbmc_pattern_md_interest_flags
;
5393 static int hf_lbmc_pattern_md_interest_flags_ignore
;
5394 static int hf_lbmc_pattern_md_interest_flags_cancel
;
5395 static int hf_lbmc_pattern_md_interest_flags_refresh
;
5396 static int hf_lbmc_pattern_md_interest_type
;
5397 static int hf_lbmc_pattern_md_interest_domain_count
;
5398 static int hf_lbmc_pattern_md_interest_res1
;
5399 static int hf_lbmc_pattern_md_interest_index
;
5400 static int hf_lbmc_pattern_md_interest_domain_id
;
5401 static int hf_lbmc_lji_req
;
5402 static int hf_lbmc_lji_req_next_hdr
;
5403 static int hf_lbmc_lji_req_hdr_len
;
5404 static int hf_lbmc_lji_req_flags
;
5405 static int hf_lbmc_lji_req_flags_ignore
;
5406 static int hf_lbmc_lji_req_flags_l_flag
;
5407 static int hf_lbmc_lji_req_flags_m_flag
;
5408 static int hf_lbmc_lji_req_flags_o_flag
;
5409 static int hf_lbmc_lji_req_request_idx
;
5410 static int hf_lbmc_lji_req_transport_idx
;
5411 static int hf_lbmc_lji_req_topic_idx
;
5412 static int hf_lbmc_lji_req_req_ip
;
5413 static int hf_lbmc_lji_req_req_port
;
5414 static int hf_lbmc_lji_req_res
;
5415 static int hf_lbmc_lji_req_tx_low_sqn
;
5416 static int hf_lbmc_lji_req_rx_req_max
;
5417 static int hf_lbmc_lji_req_rx_req_outstanding_max
;
5418 static int hf_lbmc_tnwg_ka
;
5419 static int hf_lbmc_tnwg_ka_next_hdr
;
5420 static int hf_lbmc_tnwg_ka_hdr_len
;
5421 static int hf_lbmc_tnwg_ka_flags
;
5422 static int hf_lbmc_tnwg_ka_flags_ignore
;
5423 static int hf_lbmc_tnwg_ka_flags_q_flag
;
5424 static int hf_lbmc_tnwg_ka_flags_r_flag
;
5425 static int hf_lbmc_tnwg_ka_index
;
5426 static int hf_lbmc_tnwg_ka_ts_seconds
;
5427 static int hf_lbmc_tnwg_ka_ts_microseconds
;
5428 static int hf_lbmc_tnwg_ka_reserved_1
;
5429 static int hf_lbmc_tnwg_ka_reserved_2
;
5430 static int hf_lbmc_tnwg_ka_reserved_3
;
5431 static int hf_lbmc_tnwg_ka_reserved_4
;
5432 static int hf_lbmc_tnwg_ka_reserved_5
;
5433 static int hf_lbmc_tnwg_ka_reserved_6
;
5434 static int hf_lbmc_ume_receiver_keepalive
;
5435 static int hf_lbmc_ume_receiver_keepalive_next_hdr
;
5436 static int hf_lbmc_ume_receiver_keepalive_hdr_len
;
5437 static int hf_lbmc_ume_receiver_keepalive_flags
;
5438 static int hf_lbmc_ume_receiver_keepalive_flags_ignore
;
5439 static int hf_lbmc_ume_receiver_keepalive_rcv_regid
;
5440 static int hf_lbmc_ume_receiver_keepalive_session_id
;
5441 static int hf_lbmc_ume_receiver_keepalive_ctxinst
;
5442 static int hf_lbmc_umq_cmd
;
5443 static int hf_lbmc_umq_cmd_next_hdr
;
5444 static int hf_lbmc_umq_cmd_hdr_len
;
5445 static int hf_lbmc_umq_cmd_flags
;
5446 static int hf_lbmc_umq_cmd_flags_ignore
;
5447 static int hf_lbmc_umq_cmd_cmd_type
;
5448 static int hf_lbmc_umq_cmd_queue_id
;
5449 static int hf_lbmc_umq_cmd_cmd_id
;
5450 static int hf_lbmc_umq_cmd_inst_idx
;
5451 static int hf_lbmc_umq_cmd_regid
;
5452 static int hf_lbmc_umq_cmd_topic_list
;
5453 static int hf_lbmc_umq_cmd_topic_list_serial_num
;
5454 static int hf_lbmc_umq_cmd_msg_retrieve
;
5455 static int hf_lbmc_umq_cmd_msg_retrieve_rcr_idx
;
5456 static int hf_lbmc_umq_cmd_msg_retrieve_assign_id
;
5457 static int hf_lbmc_umq_cmd_msg_retrieve_info_only
;
5458 static int hf_lbmc_umq_cmd_msg_retrieve_num_msgids
;
5459 static int hf_lbmc_umq_cmd_msg_retrieve_flags
;
5460 static int hf_lbmc_umq_cmd_msg_retrieve_entry
;
5461 static int hf_lbmc_umq_cmd_msg_retrieve_entry_regid
;
5462 static int hf_lbmc_umq_cmd_msg_retrieve_entry_stamp
;
5463 static int hf_lbmc_umq_cmd_msg_list
;
5464 static int hf_lbmc_umq_cmd_msg_list_rcr_idx
;
5465 static int hf_lbmc_umq_cmd_msg_list_assign_id
;
5466 static int hf_lbmc_umq_cmd_resp
;
5467 static int hf_lbmc_umq_cmd_resp_next_hdr
;
5468 static int hf_lbmc_umq_cmd_resp_hdr_len
;
5469 static int hf_lbmc_umq_cmd_resp_flags
;
5470 static int hf_lbmc_umq_cmd_resp_flags_ignore
;
5471 static int hf_lbmc_umq_cmd_resp_resp_type
;
5472 static int hf_lbmc_umq_cmd_resp_queue_id
;
5473 static int hf_lbmc_umq_cmd_resp_cmd_id
;
5474 static int hf_lbmc_umq_cmd_resp_inst_idx
;
5475 static int hf_lbmc_umq_cmd_resp_regid
;
5476 static int hf_lbmc_umq_cmd_resp_msg_retrieve
;
5477 static int hf_lbmc_umq_cmd_resp_msg_retrieve_rcr_idx
;
5478 static int hf_lbmc_umq_cmd_resp_msg_retrieve_assign_id
;
5479 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve
;
5480 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve_num_msgs
;
5481 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve_flags
;
5482 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve_reserved
;
5483 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry
;
5484 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_regid
;
5485 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_stamp
;
5486 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_assign_id
;
5487 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_num_ras
;
5488 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_status
;
5489 static int hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_reserved
;
5490 static int hf_lbmc_umq_cmd_resp_msg_list
;
5491 static int hf_lbmc_umq_cmd_resp_msg_list_rcr_idx
;
5492 static int hf_lbmc_umq_cmd_resp_msg_list_assign_id
;
5493 static int hf_lbmc_umq_cmd_resp_xmsg_list
;
5494 static int hf_lbmc_umq_cmd_resp_xmsg_list_num_msgs
;
5495 static int hf_lbmc_umq_cmd_resp_xmsg_list_entry
;
5496 static int hf_lbmc_umq_cmd_resp_xmsg_list_entry_regid
;
5497 static int hf_lbmc_umq_cmd_resp_xmsg_list_entry_stamp
;
5498 static int hf_lbmc_umq_cmd_resp_topic_list
;
5499 static int hf_lbmc_umq_cmd_resp_topic_list_num_topics
;
5500 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry
;
5501 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_rcr_idx
;
5502 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_num_appsets
;
5503 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_topic_len
;
5504 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_reserved
;
5505 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_topic
;
5506 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry
;
5507 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_num_receiver_type_ids
;
5508 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_appset_idx
;
5509 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_appset_name_len
;
5510 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_reserved
;
5511 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_name
;
5512 static int hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_receiver_type_id
;
5513 static int hf_lbmc_umq_cmd_resp_err
;
5514 static int hf_lbmc_umq_cmd_resp_err_reserved
;
5515 static int hf_lbmc_umq_cmd_resp_err_code
;
5516 static int hf_lbmc_umq_cmd_resp_err_errmsg
;
5517 static int hf_lbmc_sri_req
;
5518 static int hf_lbmc_sri_req_next_hdr
;
5519 static int hf_lbmc_sri_req_hdr_len
;
5520 static int hf_lbmc_sri_req_flags
;
5521 static int hf_lbmc_sri_req_flags_ignore
;
5522 static int hf_lbmc_sri_req_transport_idx
;
5523 static int hf_lbmc_sri_req_topic_idx
;
5524 static int hf_lbmc_ume_store_domain
;
5525 static int hf_lbmc_ume_store_domain_next_hdr
;
5526 static int hf_lbmc_ume_store_domain_hdr_len
;
5527 static int hf_lbmc_ume_store_domain_flags
;
5528 static int hf_lbmc_ume_store_domain_flags_ignore
;
5529 static int hf_lbmc_ume_store_domain_domain
;
5530 static int hf_lbmc_sri
;
5531 static int hf_lbmc_sri_next_hdr
;
5532 static int hf_lbmc_sri_hdr_len
;
5533 static int hf_lbmc_sri_flags
;
5534 static int hf_lbmc_sri_flags_ignore
;
5535 static int hf_lbmc_sri_flags_acktosrc
;
5536 static int hf_lbmc_sri_flags_initial_sqn_known
;
5537 static int hf_lbmc_sri_version
;
5538 static int hf_lbmc_sri_low_sqn
;
5539 static int hf_lbmc_sri_high_sqn
;
5540 static int hf_lbmc_route_info
;
5541 static int hf_lbmc_route_info_next_hdr
;
5542 static int hf_lbmc_route_info_hdr_len
;
5543 static int hf_lbmc_route_info_flags
;
5544 static int hf_lbmc_route_info_flags_ignore
;
5545 static int hf_lbmc_route_info_gateway_version
;
5546 static int hf_lbmc_route_info_configuration_signature
;
5547 static int hf_lbmc_route_info_node_id
;
5548 static int hf_lbmc_route_info_topology
;
5549 static int hf_lbmc_route_info_vers
;
5550 static int hf_lbmc_route_info_sqn
;
5551 static int hf_lbmc_route_info_ttl
;
5552 static int hf_lbmc_route_info_reserved1
;
5553 static int hf_lbmc_route_info_reserved2
;
5554 static int hf_lbmc_route_info_neighbor
;
5555 static int hf_lbmc_route_info_neighbor_next_hdr
;
5556 static int hf_lbmc_route_info_neighbor_hdr_len
;
5557 static int hf_lbmc_route_info_neighbor_flags
;
5558 static int hf_lbmc_route_info_neighbor_flags_ignore
;
5559 static int hf_lbmc_route_info_neighbor_node_id
;
5560 static int hf_lbmc_route_info_neighbor_ingress_cost
;
5561 static int hf_lbmc_route_info_neighbor_egress_cost
;
5562 static int hf_lbmc_gateway_name
;
5563 static int hf_lbmc_gateway_name_next_hdr
;
5564 static int hf_lbmc_gateway_name_hdr_len
;
5565 static int hf_lbmc_gateway_name_flags
;
5566 static int hf_lbmc_gateway_name_flags_ignore
;
5567 static int hf_lbmc_gateway_name_gateway_name
;
5568 static int hf_lbmc_auth_request
;
5569 static int hf_lbmc_auth_request_next_hdr
;
5570 static int hf_lbmc_auth_request_hdr_len
;
5571 static int hf_lbmc_auth_request_flags
;
5572 static int hf_lbmc_auth_request_flags_ignore
;
5573 static int hf_lbmc_auth_request_opid
;
5574 static int hf_lbmc_auth_request_user_len
;
5575 static int hf_lbmc_auth_request_user_name
;
5576 static int hf_lbmc_auth_challenge
;
5577 static int hf_lbmc_auth_challenge_next_hdr
;
5578 static int hf_lbmc_auth_challenge_hdr_len
;
5579 static int hf_lbmc_auth_challenge_flags
;
5580 static int hf_lbmc_auth_challenge_flags_ignore
;
5581 static int hf_lbmc_auth_challenge_opid
;
5582 static int hf_lbmc_auth_challenge_mod_len
;
5583 static int hf_lbmc_auth_challenge_gen_len
;
5584 static int hf_lbmc_auth_challenge_salt_len
;
5585 static int hf_lbmc_auth_challenge_pubkey_len
;
5586 static int hf_lbmc_auth_challenge_mod
;
5587 static int hf_lbmc_auth_challenge_gen
;
5588 static int hf_lbmc_auth_challenge_salt
;
5589 static int hf_lbmc_auth_challenge_pubkey
;
5590 static int hf_lbmc_auth_challenge_rsp
;
5591 static int hf_lbmc_auth_challenge_rsp_next_hdr
;
5592 static int hf_lbmc_auth_challenge_rsp_hdr_len
;
5593 static int hf_lbmc_auth_challenge_rsp_flags
;
5594 static int hf_lbmc_auth_challenge_rsp_flags_ignore
;
5595 static int hf_lbmc_auth_challenge_rsp_opid
;
5596 static int hf_lbmc_auth_challenge_rsp_pubkey_len
;
5597 static int hf_lbmc_auth_challenge_rsp_evidence_len
;
5598 static int hf_lbmc_auth_challenge_rsp_pubkey
;
5599 static int hf_lbmc_auth_challenge_rsp_evidence
;
5600 static int hf_lbmc_auth_result
;
5601 static int hf_lbmc_auth_result_next_hdr
;
5602 static int hf_lbmc_auth_result_hdr_len
;
5603 static int hf_lbmc_auth_result_flags
;
5604 static int hf_lbmc_auth_result_flags_ignore
;
5605 static int hf_lbmc_auth_result_opid
;
5606 static int hf_lbmc_auth_result_result
;
5607 static int hf_lbmc_auth_unknown
;
5608 static int hf_lbmc_auth_unknown_next_hdr
;
5609 static int hf_lbmc_auth_unknown_hdr_len
;
5610 static int hf_lbmc_auth_unknown_flags
;
5611 static int hf_lbmc_auth_unknown_opid
;
5612 static int hf_lbmc_auth_unknown_data
;
5613 static int hf_lbmc_hmac
;
5614 static int hf_lbmc_hmac_next_hdr
;
5615 static int hf_lbmc_hmac_hdr_len
;
5616 static int hf_lbmc_hmac_flags
;
5617 static int hf_lbmc_hmac_flags_ignore
;
5618 static int hf_lbmc_hmac_padding
;
5619 static int hf_lbmc_hmac_data
;
5620 static int hf_lbmc_umq_sid
;
5621 static int hf_lbmc_umq_sid_next_hdr
;
5622 static int hf_lbmc_umq_sid_hdr_len
;
5623 static int hf_lbmc_umq_sid_flags
;
5624 static int hf_lbmc_umq_sid_flags_ignore
;
5625 static int hf_lbmc_umq_sid_key
;
5626 static int hf_lbmc_umq_sid_sid
;
5627 static int hf_lbmc_destination
;
5628 static int hf_lbmc_destination_next_hdr
;
5629 static int hf_lbmc_destination_hdr_len
;
5630 static int hf_lbmc_destination_flags
;
5631 static int hf_lbmc_destination_flags_ignore
;
5632 static int hf_lbmc_destination_domain_id
;
5633 static int hf_lbmc_destination_ipaddr
;
5634 static int hf_lbmc_destination_port
;
5635 static int hf_lbmc_destination_hops_taken
;
5636 static int hf_lbmc_destination_orig_domain_id
;
5637 static int hf_lbmc_destination_orig_ipaddr
;
5638 static int hf_lbmc_destination_orig_port
;
5639 static int hf_lbmc_destination_reserved
;
5640 static int hf_lbmc_topic_idx
;
5641 static int hf_lbmc_topic_idx_next_hdr
;
5642 static int hf_lbmc_topic_idx_hdr_len
;
5643 static int hf_lbmc_topic_idx_flags
;
5644 static int hf_lbmc_topic_idx_flags_ignore
;
5645 static int hf_lbmc_topic_idx_tidx
;
5646 static int hf_lbmc_topic_source
;
5647 static int hf_lbmc_topic_source_next_hdr
;
5648 static int hf_lbmc_topic_source_hdr_len
;
5649 static int hf_lbmc_topic_source_flags
;
5650 static int hf_lbmc_topic_source_flags_ignore
;
5651 static int hf_lbmc_topic_source_flags_eos
;
5652 static int hf_lbmc_topic_source_domain_id
;
5653 static int hf_lbmc_topic_source_exfunc
;
5654 static int hf_lbmc_topic_source_exfunc_next_hdr
;
5655 static int hf_lbmc_topic_source_exfunc_hdr_len
;
5656 static int hf_lbmc_topic_source_exfunc_flags
;
5657 static int hf_lbmc_topic_source_exfunc_flags_ignore
;
5658 static int hf_lbmc_topic_source_exfunc_src_ip
;
5659 static int hf_lbmc_topic_source_exfunc_src_port
;
5660 static int hf_lbmc_topic_source_exfunc_unused
;
5661 static int hf_lbmc_topic_source_exfunc_functionality_flags
;
5662 static int hf_lbmc_topic_source_exfunc_functionality_flags_ulb
;
5663 static int hf_lbmc_topic_source_exfunc_functionality_flags_umq
;
5664 static int hf_lbmc_topic_source_exfunc_functionality_flags_ume
;
5665 static int hf_lbmc_topic_source_exfunc_functionality_flags_lj
;
5666 static int hf_lbmc_ume_store_ext
;
5667 static int hf_lbmc_ume_store_ext_next_hdr
;
5668 static int hf_lbmc_ume_store_ext_hdr_len
;
5669 static int hf_lbmc_ume_store_ext_flags
;
5670 static int hf_lbmc_ume_store_ext_flags_ignore
;
5671 static int hf_lbmc_ume_store_ext_grp_idx
;
5672 static int hf_lbmc_ume_store_ext_store_tcp_port
;
5673 static int hf_lbmc_ume_store_ext_store_idx
;
5674 static int hf_lbmc_ume_store_ext_store_ip_addr
;
5675 static int hf_lbmc_ume_store_ext_src_reg_id
;
5676 static int hf_lbmc_ume_store_ext_domain_id
;
5677 static int hf_lbmc_ume_store_ext_version
;
5678 static int hf_lbmc_ume_psrc_election_token
;
5679 static int hf_lbmc_ume_psrc_election_token_next_hdr
;
5680 static int hf_lbmc_ume_psrc_election_token_hdr_len
;
5681 static int hf_lbmc_ume_psrc_election_token_flags
;
5682 static int hf_lbmc_ume_psrc_election_token_flags_ignore
;
5683 static int hf_lbmc_ume_psrc_election_token_store_index
;
5684 static int hf_lbmc_ume_psrc_election_token_token
;
5685 static int hf_lbmc_tcp_sid
;
5686 static int hf_lbmc_tcp_sid_next_hdr
;
5687 static int hf_lbmc_tcp_sid_hdr_len
;
5688 static int hf_lbmc_tcp_sid_flags
;
5689 static int hf_lbmc_tcp_sid_flags_ignore
;
5690 static int hf_lbmc_tcp_sid_sid
;
5691 static int hf_lbmc_extopt
;
5692 static int hf_lbmc_extopt_next_hdr
;
5693 static int hf_lbmc_extopt_hdr_len
;
5694 static int hf_lbmc_extopt_flags
;
5695 static int hf_lbmc_extopt_flags_ignore
;
5696 static int hf_lbmc_extopt_flags_ignore_subtype
;
5697 static int hf_lbmc_extopt_flags_more_fragments
;
5698 static int hf_lbmc_extopt_id
;
5699 static int hf_lbmc_extopt_subtype
;
5700 static int hf_lbmc_extopt_fragment_offset
;
5701 static int hf_lbmc_extopt_data
;
5702 static int hf_lbmc_extopt_cfgopt
;
5703 static int hf_lbmc_extopt_cfgopt_scope
;
5704 static int hf_lbmc_extopt_cfgopt_parent
;
5705 static int hf_lbmc_extopt_cfgopt_name
;
5706 static int hf_lbmc_extopt_cfgopt_value
;
5707 static int hf_lbmc_extopt_msgsel
;
5708 static int hf_lbmc_extopt_reassembled_data
;
5709 static int hf_lbmc_extopt_reassembled_data_subtype
;
5710 static int hf_lbmc_extopt_reassembled_data_len
;
5711 static int hf_lbmc_extopt_reassembled_data_data
;
5712 static int hf_lbmc_extopt_reassembled_data_msgsel
;
5713 static int hf_lbm_msg_properties
;
5714 static int hf_lbm_msg_properties_data
;
5715 static int hf_lbm_msg_properties_data_magic
;
5716 static int hf_lbm_msg_properties_data_num_fields
;
5717 static int hf_lbm_msg_properties_data_version
;
5718 static int hf_lbm_msg_properties_data_type
;
5719 static int hf_lbm_msg_properties_data_res
;
5720 static int hf_lbm_msg_properties_hdr
;
5721 static int hf_lbm_msg_properties_hdr_key_offset
;
5722 static int hf_lbm_msg_properties_hdr_value_offset
;
5723 static int hf_lbm_msg_properties_hdr_hash
;
5724 static int hf_lbm_msg_properties_hdr_type
;
5725 static int hf_lbm_msg_properties_hdr_key
;
5726 static int hf_lbm_msg_properties_hdr_boolean_value
;
5727 static int hf_lbm_msg_properties_hdr_byte_value
;
5728 static int hf_lbm_msg_properties_hdr_short_value
;
5729 static int hf_lbm_msg_properties_hdr_int_value
;
5730 static int hf_lbm_msg_properties_hdr_float_value
;
5731 static int hf_lbm_msg_properties_hdr_long_value
;
5732 static int hf_lbm_msg_properties_hdr_double_value
;
5733 static int hf_lbm_msg_properties_hdr_string_value
;
5734 static int hf_lbm_msg_properties_hdr_unknown_value
;
5735 static int hf_lbmc_unhandled
;
5736 static int hf_lbmc_unhandled_next_hdr
;
5737 static int hf_lbmc_unhandled_hdr_len
;
5738 static int hf_lbmc_unhandled_data
;
5739 static int hf_lbm_stream
;
5740 static int hf_lbm_stream_stream_id
;
5741 static int hf_lbm_stream_substream_id
;
5742 static int hf_lbmc_reassembly
;
5743 static int hf_lbmc_reassembly_fragment
;
5744 static int hf_reassembly_frame
;
5746 /* Protocol trees */
5747 static int ett_lbmc
;
5748 static int ett_lbmc_frag
;
5749 static int ett_lbmc_frag_flags
;
5750 static int ett_lbmc_batch
;
5751 static int ett_lbmc_batch_flags
;
5752 static int ett_lbmc_tcp_request
;
5753 static int ett_lbmc_tcp_request_flags
;
5754 static int ett_lbmc_topicname
;
5755 static int ett_lbmc_topicname_flags
;
5756 static int ett_lbmc_apphdr
;
5757 static int ett_lbmc_apphdr_chain
;
5758 static int ett_lbmc_apphdr_chain_element
;
5759 static int ett_lbmc_apphdr_chain_msgprop
;
5760 static int ett_lbmc_umq_msgid
;
5761 static int ett_lbmc_umq_msgid_flags
;
5762 static int ett_lbmc_umq_sqd_rcv
;
5763 static int ett_lbmc_umq_sqd_rcv_flags
;
5764 static int ett_lbmc_umq_resub
;
5765 static int ett_lbmc_umq_resub_flags
;
5766 static int ett_lbmc_otid
;
5767 static int ett_lbmc_otid_flags
;
5768 static int ett_lbmc_ctxinst
;
5769 static int ett_lbmc_ctxinst_flags
;
5770 static int ett_lbmc_ctxinstd
;
5771 static int ett_lbmc_ctxinstr
;
5772 static int ett_lbmc_srcidx
;
5773 static int ett_lbmc_srcidx_flags
;
5774 static int ett_lbmc_umq_ulb_msg
;
5775 static int ett_lbmc_umq_ulb_msg_flags
;
5776 static int ett_lbmc_ssf_init
;
5777 static int ett_lbmc_ssf_init_flags
;
5778 static int ett_lbmc_ssf_creq
;
5779 static int ett_lbmc_ssf_creq_flags
;
5780 static int ett_lbmc_ume_preg
;
5781 static int ett_lbmc_ume_preg_flags
;
5782 static int ett_lbmc_ume_preg_resp
;
5783 static int ett_lbmc_ume_preg_resp_code
;
5784 static int ett_lbmc_ume_preg_resp_marker
;
5785 static int ett_lbmc_ume_ack
;
5786 static int ett_lbmc_ume_ack_flags
;
5787 static int ett_lbmc_ume_rxreq
;
5788 static int ett_lbmc_ume_rxreq_flags
;
5789 static int ett_lbmc_ume_keepalive
;
5790 static int ett_lbmc_ume_keepalive_flags
;
5791 static int ett_lbmc_ume_storeid
;
5792 static int ett_lbmc_ume_ranged_ack
;
5793 static int ett_lbmc_ume_ranged_ack_flags
;
5794 static int ett_lbmc_ume_ack_id
;
5795 static int ett_lbmc_ume_ack_id_flags
;
5796 static int ett_lbmc_ume_capability
;
5797 static int ett_lbmc_ume_capability_flags
;
5798 static int ett_lbmc_ume_proxy_src
;
5799 static int ett_lbmc_ume_proxy_src_flags
;
5800 static int ett_lbmc_ume_store_group
;
5801 static int ett_lbmc_ume_store_group_flags
;
5802 static int ett_lbmc_ume_store
;
5803 static int ett_lbmc_ume_store_flags
;
5804 static int ett_lbmc_ume_lj_info
;
5805 static int ett_lbmc_ume_lj_info_flags
;
5806 static int ett_lbmc_tsni
;
5807 static int ett_lbmc_tsni_rec
;
5808 static int ett_lbmc_umq_reg
;
5809 static int ett_lbmc_umq_reg_flags
;
5810 static int ett_lbmc_umq_reg_reg_ctx
;
5811 static int ett_lbmc_umq_reg_reg_src
;
5812 static int ett_lbmc_umq_reg_reg_rcv
;
5813 static int ett_lbmc_umq_reg_rcv_dereg
;
5814 static int ett_lbmc_umq_reg_reg_ulb_rcv
;
5815 static int ett_lbmc_umq_reg_ulb_rcv_dereg
;
5816 static int ett_lbmc_umq_reg_reg_observer_rcv
;
5817 static int ett_lbmc_umq_reg_observer_rcv_dereg
;
5818 static int ett_lbmc_umq_reg_resp
;
5819 static int ett_lbmc_umq_reg_resp_flags
;
5820 static int ett_lbmc_umq_reg_resp_reg_ctx
;
5821 static int ett_lbmc_umq_reg_resp_reg_ctx_ex
;
5822 static int ett_lbmc_umq_reg_resp_reg_ctx_ex_flags
;
5823 static int ett_lbmc_umq_reg_resp_err
;
5824 static int ett_lbmc_umq_reg_resp_reg_src
;
5825 static int ett_lbmc_umq_reg_resp_reg_rcv
;
5826 static int ett_lbmc_umq_reg_resp_rcv_dereg
;
5827 static int ett_lbmc_umq_reg_resp_reg_ulb_rcv
;
5828 static int ett_lbmc_umq_reg_resp_ulb_rcv_dereg
;
5829 static int ett_lbmc_umq_reg_resp_reg_observer_rcv
;
5830 static int ett_lbmc_umq_reg_resp_observer_rcv_dereg
;
5831 static int ett_lbmc_umq_ack
;
5832 static int ett_lbmc_umq_ack_msgs
;
5833 static int ett_lbmc_umq_ack_msgid
;
5834 static int ett_lbmc_umq_ack_stable
;
5835 static int ett_lbmc_umq_ack_cr
;
5836 static int ett_lbmc_umq_ack_ulb_cr
;
5837 static int ett_lbmc_umq_rcr
;
5838 static int ett_lbmc_umq_rcr_flags
;
5839 static int ett_lbmc_umq_ka
;
5840 static int ett_lbmc_umq_ka_flags
;
5841 static int ett_lbmc_umq_ka_src
;
5842 static int ett_lbmc_umq_ka_rcv
;
5843 static int ett_lbmc_umq_ka_ulb_rcv
;
5844 static int ett_lbmc_umq_ka_ulb_rcv_resp
;
5845 static int ett_lbmc_umq_rxreq
;
5846 static int ett_lbmc_umq_rxreq_flags
;
5847 static int ett_lbmc_umq_rxreq_regid_resp
;
5848 static int ett_lbmc_umq_rxreq_addr_resp
;
5849 static int ett_lbmc_umq_rxreq_mr
;
5850 static int ett_lbmc_umq_rxreq_ulb_mr
;
5851 static int ett_lbmc_umq_rxreq_ulb_mr_abort
;
5852 static int ett_lbmc_umq_rxreq_qrcrr
;
5853 static int ett_lbmc_umq_rxreq_trcrr
;
5854 static int ett_lbmc_umq_rxreq_ulb_trcrr
;
5855 static int ett_lbmc_umq_rxreq_ulb_trcrr_abort
;
5856 static int ett_lbmc_umq_qmgmt
;
5857 static int ett_lbmc_umq_resub_req
;
5858 static int ett_lbmc_umq_resub_req_flags
;
5859 static int ett_lbmc_umq_resub_resp
;
5860 static int ett_lbmc_umq_resub_resp_flags
;
5861 static int ett_lbmc_topic_interest
;
5862 static int ett_lbmc_topic_interest_flags
;
5863 static int ett_lbmc_pattern_interest
;
5864 static int ett_lbmc_pattern_interest_flags
;
5865 static int ett_lbmc_advertisement
;
5866 static int ett_lbmc_advertisement_flags
;
5867 static int ett_lbmc_advertisement_ad_flags
;
5868 static int ett_lbmc_ume_storename
;
5869 static int ett_lbmc_ume_storename_flags
;
5870 static int ett_lbmc_umq_ulb_rcr
;
5871 static int ett_lbmc_umq_ulb_rcr_flags
;
5872 static int ett_lbmc_umq_lf
;
5873 static int ett_lbmc_umq_lf_flags
;
5874 static int ett_lbmc_ctxinfo
;
5875 static int ett_lbmc_ctxinfo_flags
;
5876 static int ett_lbmc_ume_pser
;
5877 static int ett_lbmc_ume_pser_flags
;
5878 static int ett_lbmc_domain
;
5879 static int ett_lbmc_domain_flags
;
5880 static int ett_lbmc_tnwg_capabilities
;
5881 static int ett_lbmc_tnwg_capabilities_flags
;
5882 static int ett_lbmc_tnwg_capabilities_capabilities1
;
5883 static int ett_lbmc_tnwg_capabilities_capabilities3
;
5884 static int ett_lbmc_patidx
;
5885 static int ett_lbmc_patidx_flags
;
5886 static int ett_lbmc_ume_client_lifetime
;
5887 static int ett_lbmc_ume_client_lifetime_flags
;
5888 static int ett_lbmc_ume_sid
;
5889 static int ett_lbmc_ume_sid_flags
;
5890 static int ett_lbmc_umq_idx_cmd
;
5891 static int ett_lbmc_umq_idx_cmd_flags
;
5892 static int ett_lbmc_umq_idx_cmd_stop_assign
;
5893 static int ett_lbmc_umq_idx_cmd_start_assign
;
5894 static int ett_lbmc_umq_idx_cmd_release_assign
;
5895 static int ett_lbmc_umq_idx_cmd_release_assign_flags
;
5896 static int ett_lbmc_umq_idx_cmd_ulb_stop_assign
;
5897 static int ett_lbmc_umq_idx_cmd_ulb_start_assign
;
5898 static int ett_lbmc_umq_idx_cmd_ulb_release_assign
;
5899 static int ett_lbmc_umq_idx_cmd_ulb_release_assign_flags
;
5900 static int ett_lbmc_umq_idx_cmd_reserve_assign
;
5901 static int ett_lbmc_umq_idx_cmd_reserve_assign_flags
;
5902 static int ett_lbmc_umq_idx_cmd_ulb_reserve_assign
;
5903 static int ett_lbmc_umq_idx_cmd_ulb_reserve_assign_flags
;
5904 static int ett_lbmc_umq_idx_cmd_resp
;
5905 static int ett_lbmc_umq_idx_cmd_resp_flags
;
5906 static int ett_lbmc_umq_idx_cmd_resp_err
;
5907 static int ett_lbmc_umq_idx_cmd_resp_stop_assign
;
5908 static int ett_lbmc_umq_idx_cmd_resp_start_assign
;
5909 static int ett_lbmc_umq_idx_cmd_resp_release_assign
;
5910 static int ett_lbmc_umq_idx_cmd_resp_ulb_stop_assign
;
5911 static int ett_lbmc_umq_idx_cmd_resp_ulb_start_assign
;
5912 static int ett_lbmc_umq_idx_cmd_resp_ulb_release_assign
;
5913 static int ett_lbmc_umq_idx_cmd_resp_reserve_assign
;
5914 static int ett_lbmc_umq_idx_cmd_resp_reserve_assign_flags
;
5915 static int ett_lbmc_umq_idx_cmd_resp_ulb_reserve_assign
;
5916 static int ett_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_flags
;
5917 static int ett_lbmc_odomain
;
5918 static int ett_lbmc_odomain_flags
;
5919 static int ett_lbmc_stream
;
5920 static int ett_lbmc_stream_flags
;
5921 static int ett_lbmc_topic_md_interest
;
5922 static int ett_lbmc_topic_md_interest_flags
;
5923 static int ett_lbmc_pattern_md_interest
;
5924 static int ett_lbmc_pattern_md_interest_flags
;
5925 static int ett_lbmc_lji_req
;
5926 static int ett_lbmc_lji_req_flags
;
5927 static int ett_lbmc_tnwg_ka
;
5928 static int ett_lbmc_tnwg_ka_flags
;
5929 static int ett_lbmc_ume_receiver_keepalive
;
5930 static int ett_lbmc_ume_receiver_keepalive_flags
;
5931 static int ett_lbmc_umq_cmd
;
5932 static int ett_lbmc_umq_cmd_flags
;
5933 static int ett_lbmc_umq_cmd_topic_list
;
5934 static int ett_lbmc_umq_cmd_msg_retrieve
;
5935 static int ett_lbmc_umq_cmd_msg_retrieve_entry
;
5936 static int ett_lbmc_umq_cmd_msg_list
;
5937 static int ett_lbmc_umq_cmd_resp
;
5938 static int ett_lbmc_umq_cmd_resp_flags
;
5939 static int ett_lbmc_umq_cmd_resp_msg_retrieve
;
5940 static int ett_lbmc_umq_cmd_resp_xmsg_retrieve
;
5941 static int ett_lbmc_umq_cmd_resp_xmsg_retrieve_entry
;
5942 static int ett_lbmc_umq_cmd_resp_msg_list
;
5943 static int ett_lbmc_umq_cmd_resp_xmsg_list
;
5944 static int ett_lbmc_umq_cmd_resp_xmsg_list_entry
;
5945 static int ett_lbmc_umq_cmd_resp_topic_list
;
5946 static int ett_lbmc_umq_cmd_resp_topic_list_topic_entry
;
5947 static int ett_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry
;
5948 static int ett_lbmc_umq_cmd_resp_err
;
5949 static int ett_lbmc_sri_req
;
5950 static int ett_lbmc_sri_req_flags
;
5951 static int ett_lbmc_ume_store_domain
;
5952 static int ett_lbmc_ume_store_domain_flags
;
5953 static int ett_lbmc_sri
;
5954 static int ett_lbmc_sri_flags
;
5955 static int ett_lbmc_route_info
;
5956 static int ett_lbmc_route_info_flags
;
5957 static int ett_lbmc_route_info_neighbor
;
5958 static int ett_lbmc_route_info_neighbor_flags
;
5959 static int ett_lbmc_gateway_name
;
5960 static int ett_lbmc_gateway_name_flags
;
5961 static int ett_lbmc_auth_request
;
5962 static int ett_lbmc_auth_request_flags
;
5963 static int ett_lbmc_auth_challenge
;
5964 static int ett_lbmc_auth_challenge_flags
;
5965 static int ett_lbmc_auth_challenge_rsp
;
5966 static int ett_lbmc_auth_challenge_rsp_flags
;
5967 static int ett_lbmc_auth_result
;
5968 static int ett_lbmc_auth_result_flags
;
5969 static int ett_lbmc_auth_unknown
;
5970 static int ett_lbmc_hmac
;
5971 static int ett_lbmc_hmac_flags
;
5972 static int ett_lbmc_umq_sid
;
5973 static int ett_lbmc_umq_sid_flags
;
5974 static int ett_lbmc_destination
;
5975 static int ett_lbmc_destination_flags
;
5976 static int ett_lbmc_topic_idx
;
5977 static int ett_lbmc_topic_idx_flags
;
5978 static int ett_lbmc_topic_source
;
5979 static int ett_lbmc_topic_source_flags
;
5980 static int ett_lbmc_topic_source_exfunc
;
5981 static int ett_lbmc_topic_source_exfunc_flags
;
5982 static int ett_lbmc_topic_source_exfunc_functionality_flags
;
5983 static int ett_lbmc_ume_store_ext
;
5984 static int ett_lbmc_ume_store_ext_flags
;
5985 static int ett_lbmc_ume_psrc_election_token
;
5986 static int ett_lbmc_ume_psrc_election_token_flags
;
5987 static int ett_lbmc_tcp_sid
;
5988 static int ett_lbmc_tcp_sid_flags
;
5989 static int ett_lbmc_extopt
;
5990 static int ett_lbmc_extopt_flags
;
5991 static int ett_lbmc_extopt_cfgopt
;
5992 static int ett_lbmc_extopt_reassembled_data
;
5993 static int ett_lbmc_extopt_reassembled_data_cfgopt
;
5994 static int ett_lbm_msg_properties
;
5995 static int ett_lbm_msg_properties_data
;
5996 static int ett_lbm_msg_properties_hdr
;
5997 static int ett_lbmc_unhandled_hdr
;
5998 static int ett_lbm_stream
;
5999 static int ett_lbmc_reassembly
;
6000 static int ett_unknown
;
6001 static int ett_msg_data
;
6002 static int ett_msgprop_data
;
6004 /* Expert info handles */
6005 static expert_field ei_lbmc_analysis_length_incorrect
;
6006 static expert_field ei_lbmc_analysis_zero_length
;
6007 static expert_field ei_lbmc_analysis_tsni
;
6008 static expert_field ei_lbmc_analysis_invalid_value
;
6009 static expert_field ei_lbmc_analysis_no_reassembly
;
6010 /* static expert_field ei_lbmc_analysis_invalid_offset; */
6011 static expert_field ei_lbmc_analysis_missing_reassembly_frame
;
6012 static expert_field ei_lbmc_analysis_invalid_fragment
;
6013 static expert_field ei_lbmc_extopt_fragment_offset
;
6015 /* Extended option reassembly structures. */
6016 #define LBMC_EXTOPT_REASSEMBLED_DATA_MAX_LEN 65536
6019 bool reassembly_in_progress
;
6022 char data
[LBMC_EXTOPT_REASSEMBLED_DATA_MAX_LEN
];
6023 } lbmc_extopt_reassembled_data_t
;
6025 /* Stream structures. */
6031 char ctxinst
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
6032 } lbmc_stream_info_t
;
6037 char ctxinst
[LBM_CONTEXT_INSTANCE_BLOCK_SZ
];
6038 } lbmc_ctxinst_info_t
;
6043 lbm_uim_stream_destination_t endpoint_a
;
6044 lbm_uim_stream_destination_t endpoint_b
;
6045 } lbmc_destination_info_t
;
6047 /* TCP session ID structures. */
6051 uint32_t session_id
;
6052 } lbmc_tcp_sid_info_t
;
6054 /*----------------------------------------------------------------------------*/
6055 /* UIM Flow tap handler */
6056 /*----------------------------------------------------------------------------*/
6061 lbm_uim_stream_endpoint_t endpoint_a
;
6062 lbm_uim_stream_endpoint_t endpoint_b
;
6063 const char * description
;
6064 } lbm_uim_stream_info_t
;
6066 static tap_packet_status
6067 lbm_uim_seq_analysis_packet(void *ptr
, packet_info
*pinfo
, epan_dissect_t
*edt _U_
, const void *uim_info
, tap_flags_t flags _U_
)
6069 seq_analysis_info_t
*sainfo
= (seq_analysis_info_t
*) ptr
;
6070 const lbm_uim_stream_info_t
* stream_info
= (const lbm_uim_stream_info_t
*)uim_info
;
6071 lbm_uim_stream_endpoint_t epa
;
6072 lbm_uim_stream_endpoint_t epb
;
6075 bool swap_endpoints
= false;
6076 seq_analysis_item_t
* sai
;
6077 char time_str
[COL_MAX_LEN
];
6080 if (stream_info
->endpoint_a
.type
!= stream_info
->endpoint_b
.type
)
6082 return TAP_PACKET_DONT_REDRAW
;
6084 if (stream_info
->endpoint_a
.type
== lbm_uim_instance_stream
)
6086 rc
= memcmp((const void *)stream_info
->endpoint_a
.stream_info
.ctxinst
.ctxinst
,
6087 (const void *)stream_info
->endpoint_b
.stream_info
.ctxinst
.ctxinst
,
6088 LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
6091 swap_endpoints
= false;
6095 swap_endpoints
= true;
6100 if (stream_info
->endpoint_a
.stream_info
.dest
.domain
< stream_info
->endpoint_b
.stream_info
.dest
.domain
)
6102 swap_endpoints
= false;
6104 else if (stream_info
->endpoint_a
.stream_info
.dest
.domain
> stream_info
->endpoint_b
.stream_info
.dest
.domain
)
6106 swap_endpoints
= true;
6112 compare
= cmp_address(&(stream_info
->endpoint_a
.stream_info
.dest
.addr
), &(stream_info
->endpoint_b
.stream_info
.dest
.addr
));
6115 swap_endpoints
= false;
6117 else if (compare
> 0)
6119 swap_endpoints
= true;
6123 if (stream_info
->endpoint_a
.stream_info
.dest
.port
<= stream_info
->endpoint_b
.stream_info
.dest
.port
)
6125 swap_endpoints
= false;
6129 swap_endpoints
= true;
6134 if (swap_endpoints
== false)
6136 epa
= stream_info
->endpoint_a
;
6137 epb
= stream_info
->endpoint_b
;
6141 epb
= stream_info
->endpoint_a
;
6142 epa
= stream_info
->endpoint_b
;
6145 sai
= g_new0(seq_analysis_item_t
, 1);
6146 copy_address(&(sai
->src_addr
), &(pinfo
->src
));
6147 copy_address(&(sai
->dst_addr
), &(pinfo
->dst
));
6148 sai
->frame_number
= pinfo
->num
;
6149 sai
->port_src
= pinfo
->srcport
;
6150 sai
->port_dst
= pinfo
->destport
;
6152 if (stream_info
->description
== NULL
)
6154 sai
->frame_label
= ws_strdup_printf("(%" PRIu32
")", stream_info
->sqn
);
6158 sai
->frame_label
= ws_strdup_printf("%s (%" PRIu32
")", stream_info
->description
, stream_info
->sqn
);
6160 if (epa
.type
== lbm_uim_instance_stream
)
6162 ctxinst1
= bytes_to_str(pinfo
->pool
, epa
.stream_info
.ctxinst
.ctxinst
, sizeof(epa
.stream_info
.ctxinst
.ctxinst
));
6163 ctxinst2
= bytes_to_str(pinfo
->pool
, epb
.stream_info
.ctxinst
.ctxinst
, sizeof(epb
.stream_info
.ctxinst
.ctxinst
));
6164 sai
->comment
= ws_strdup_printf("%s <-> %s [%" PRIu64
"]",
6167 stream_info
->channel
);
6171 sai
->comment
= ws_strdup_printf("%" PRIu32
":%s:%" PRIu16
" <-> %" PRIu32
":%s:%" PRIu16
" [%" PRIu64
"]",
6172 epa
.stream_info
.dest
.domain
,
6173 address_to_str(pinfo
->pool
, &(epa
.stream_info
.dest
.addr
)),
6174 epa
.stream_info
.dest
.port
,
6175 epb
.stream_info
.dest
.domain
,
6176 address_to_str(pinfo
->pool
, &(epb
.stream_info
.dest
.addr
)),
6177 epb
.stream_info
.dest
.port
,
6178 stream_info
->channel
);
6181 /* Fill in the timestamps */
6182 set_fd_time(pinfo
->epan
, pinfo
->fd
, time_str
);
6183 sai
->time_str
= g_strdup(time_str
);
6185 sai
->conv_num
= (uint16_t)LBM_CHANNEL_ID(stream_info
->channel
);
6186 sai
->display
= true;
6187 sai
->line_style
= 1;
6189 g_queue_push_tail(sainfo
->items
, sai
);
6191 return TAP_PACKET_REDRAW
;
6195 /*----------------------------------------------------------------------------*/
6196 /* Message reassembly. */
6197 /*----------------------------------------------------------------------------*/
6198 #define LBMC_MESSAGE_KEY_ELEMENT_COUNT 5
6199 #define LBMC_MESSAGE_KEY_ELEMENT_CHANNEL_HIGH 0
6200 #define LBMC_MESSAGE_KEY_ELEMENT_CHANNEL_LOW 1
6201 #define LBMC_MESSAGE_KEY_ELEMENT_ADDR 2
6202 #define LBMC_MESSAGE_KEY_ELEMENT_PORT 3
6203 #define LBMC_MESSAGE_KEY_ELEMENT_FIRST_SQN 4
6205 static wmem_tree_t
* lbmc_message_table
;
6213 } lbmc_fragment_info_t
;
6215 struct lbmc_fragment_entry_t_stct
;
6216 typedef struct lbmc_fragment_entry_t_stct lbmc_fragment_entry_t
;
6217 struct lbmc_fragment_entry_t_stct
6219 lbmc_fragment_entry_t
* prev
;
6220 lbmc_fragment_entry_t
* next
;
6221 uint32_t fragment_start
;
6222 uint32_t fragment_len
;
6234 uint32_t fragment_count
;
6236 uint32_t accumulated_len
;
6237 uint32_t msgprop_len
;
6238 bool data_is_umq_cmd_resp
;
6239 lbmc_fragment_entry_t
* entry
;
6240 uint32_t reassembled_frame
;
6241 tvbuff_t
* reassembled_data
;
6244 } lbmc_message_entry_t
;
6246 static void lbmc_message_build_key(uint32_t * key_value
, wmem_tree_key_t
* key
, const lbmc_message_entry_t
* message
)
6250 key_value
[LBMC_MESSAGE_KEY_ELEMENT_CHANNEL_HIGH
] = (uint32_t) ((message
->channel
>> 32) & 0xffffffff);
6251 key_value
[LBMC_MESSAGE_KEY_ELEMENT_CHANNEL_LOW
] = (uint32_t) (message
->channel
& 0xffffffff);
6252 memcpy((void *) &val
, (const void *) message
->addr
.data
, sizeof(uint32_t));
6253 key_value
[LBMC_MESSAGE_KEY_ELEMENT_ADDR
] = val
;
6254 key_value
[LBMC_MESSAGE_KEY_ELEMENT_PORT
] = (uint32_t) message
->port
;
6255 key_value
[LBMC_MESSAGE_KEY_ELEMENT_FIRST_SQN
] = message
->first_sqn
;
6256 key
[0].length
= LBMC_MESSAGE_KEY_ELEMENT_COUNT
;
6257 key
[0].key
= key_value
;
6262 static lbmc_message_entry_t
* lbmc_message_find(uint64_t channel
, const address
* dest_address
, uint16_t port
, lbmc_fragment_info_t
* info
)
6264 lbmc_message_entry_t key
;
6265 lbmc_message_entry_t
* entry
= NULL
;
6266 uint32_t keyval
[LBMC_MESSAGE_KEY_ELEMENT_COUNT
];
6267 wmem_tree_key_t tkey
[2];
6269 memset((void *)&key
, 0, sizeof(lbmc_message_entry_t
));
6270 key
.channel
= channel
;
6271 copy_address_shallow(&(key
.addr
), dest_address
);
6273 key
.first_sqn
= info
->first_sqn
;
6274 lbmc_message_build_key(keyval
, tkey
, &key
);
6275 entry
= (lbmc_message_entry_t
*) wmem_tree_lookup32_array(lbmc_message_table
, tkey
);
6279 static lbmc_message_entry_t
* lbmc_message_create(uint64_t channel
, const address
* dest_address
, uint16_t port
, lbmc_fragment_info_t
* info
, uint32_t msgprop_length
)
6281 lbmc_message_entry_t
* entry
= NULL
;
6282 uint32_t keyval
[LBMC_MESSAGE_KEY_ELEMENT_COUNT
];
6283 wmem_tree_key_t tkey
[2];
6285 entry
= lbmc_message_find(channel
, dest_address
, port
, info
);
6290 entry
= wmem_new(wmem_file_scope(), lbmc_message_entry_t
);
6291 entry
->channel
= channel
;
6292 copy_address_wmem(wmem_file_scope(), &(entry
->addr
), dest_address
);
6294 entry
->first_sqn
= info
->first_sqn
;
6295 entry
->fragment_count
= 0;
6296 entry
->total_len
= info
->len
;
6297 entry
->accumulated_len
= 0;
6298 entry
->msgprop_len
= msgprop_length
;
6299 entry
->data_is_umq_cmd_resp
= false;
6300 entry
->entry
= NULL
;
6301 entry
->reassembled_frame
= 0;
6302 entry
->reassembled_data
= NULL
;
6304 entry
->msgprop
= NULL
;
6305 lbmc_message_build_key(keyval
, tkey
, entry
);
6306 wmem_tree_insert32_array(lbmc_message_table
, tkey
, (void *) entry
);
6310 static void lbmc_message_add_fragment(lbmc_message_entry_t
* message
, tvbuff_t
* tvb
, int data_offset
, lbmc_fragment_info_t
* info
, uint32_t frame
)
6312 lbmc_fragment_entry_t
* frag
= NULL
;
6313 lbmc_fragment_entry_t
* cur
= NULL
;
6315 if ((tvb
== NULL
) || (info
== NULL
) || (message
== NULL
))
6319 if (message
->entry
== NULL
)
6321 frag
= wmem_new(wmem_file_scope(), lbmc_fragment_entry_t
);
6328 message
->entry
= frag
;
6332 cur
= message
->entry
;
6335 if (info
->offset
== cur
->fragment_start
)
6337 /* Already have this fragment */
6340 if (info
->offset
< cur
->fragment_start
)
6342 /* Fragment goes after cur->prev */
6346 if (cur
->next
== NULL
)
6348 /* Fragment goes after cur */
6353 frag
= wmem_new(wmem_file_scope(), lbmc_fragment_entry_t
);
6361 frag
->next
= message
->entry
;
6362 message
->entry
->prev
= frag
;
6363 message
->entry
= frag
;
6368 frag
->next
= cur
->next
;
6370 if (frag
->next
!= NULL
)
6372 frag
->next
->prev
= frag
;
6376 frag
->fragment_start
= info
->offset
;
6377 frag
->fragment_len
= tvb_reported_length_remaining(tvb
, data_offset
);
6378 frag
->data
= (char *) tvb_memdup(wmem_file_scope(), tvb
, data_offset
, frag
->fragment_len
);
6379 frag
->frame
= frame
;
6380 frag
->frame_offset
= data_offset
;
6381 message
->accumulated_len
+= frag
->fragment_len
;
6382 message
->fragment_count
++;
6385 /*----------------------------------------------------------------------------*/
6386 /* Message table/reassembly functions. */
6387 /*----------------------------------------------------------------------------*/
6388 static void lbmc_init_extopt_reassembled_data(lbmc_extopt_reassembled_data_t
* reassembly
)
6390 reassembly
->reassembly_in_progress
= false;
6391 reassembly
->subtype
= 0;
6392 reassembly
->len
= 0;
6393 memset((void *)&(reassembly
->data
), 0, sizeof(reassembly
->data
));
6396 /*----------------------------------------------------------------------------*/
6397 /* Dissection functions. */
6398 /*----------------------------------------------------------------------------*/
6399 static int dissect_nhdr_frag(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, lbmc_fragment_info_t
* frag_info
)
6401 proto_item
* subtree_item
= NULL
;
6402 proto_tree
* subtree
= NULL
;
6403 static int * const flags
[] =
6405 &hf_lbmc_frag_flags_ignore
,
6409 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_frag
, tvb
, offset
, L_LBMC_FRAG_HDR_T
, ENC_NA
);
6410 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_frag
);
6411 proto_tree_add_item(subtree
, hf_lbmc_frag_next_hdr
, tvb
, offset
+ O_LBMC_FRAG_HDR_T_NEXT_HDR
, L_LBMC_FRAG_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6412 proto_tree_add_item(subtree
, hf_lbmc_frag_hdr_len
, tvb
, offset
+ O_LBMC_FRAG_HDR_T_HDR_LEN
, L_LBMC_FRAG_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6413 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_FRAG_HDR_T_FLAGS
, hf_lbmc_frag_flags
, ett_lbmc_frag
, flags
, ENC_BIG_ENDIAN
);
6414 proto_tree_add_item(subtree
, hf_lbmc_frag_first_sqn
, tvb
, offset
+ O_LBMC_FRAG_HDR_T_FIRST_SQN
, L_LBMC_FRAG_HDR_T_FIRST_SQN
, ENC_BIG_ENDIAN
);
6415 proto_tree_add_item(subtree
, hf_lbmc_frag_offset
, tvb
, offset
+ O_LBMC_FRAG_HDR_T_OFFSET
, L_LBMC_FRAG_HDR_T_OFFSET
, ENC_BIG_ENDIAN
);
6416 proto_tree_add_item(subtree
, hf_lbmc_frag_len
, tvb
, offset
+ O_LBMC_FRAG_HDR_T_LEN
, L_LBMC_FRAG_HDR_T_LEN
, ENC_BIG_ENDIAN
);
6417 if (frag_info
!= NULL
)
6419 frag_info
->fragment_found
= 1;
6420 frag_info
->first_sqn
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_FRAG_HDR_T_FIRST_SQN
);
6421 frag_info
->offset
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_FRAG_HDR_T_OFFSET
);
6422 frag_info
->len
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_FRAG_HDR_T_LEN
);
6424 return (L_LBMC_FRAG_HDR_T
);
6427 static int dissect_nhdr_batch(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6429 proto_item
* subtree_item
= NULL
;
6430 proto_tree
* subtree
= NULL
;
6431 static int * const flags
[] =
6433 &hf_lbmc_batch_flags_ignore
,
6434 &hf_lbmc_batch_flags_batch_start
,
6435 &hf_lbmc_batch_flags_batch_end
,
6439 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_batch
, tvb
, offset
, L_LBMC_BATCH_HDR_T
, ENC_NA
);
6440 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_batch
);
6441 proto_tree_add_item(subtree
, hf_lbmc_batch_next_hdr
, tvb
, offset
+ O_LBMC_BATCH_HDR_T_NEXT_HDR
, L_LBMC_BATCH_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6442 proto_tree_add_item(subtree
, hf_lbmc_batch_hdr_len
, tvb
, offset
+ O_LBMC_BATCH_HDR_T_HDR_LEN
, L_LBMC_BATCH_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6443 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_BATCH_HDR_T_FLAGS
, hf_lbmc_batch_flags
, ett_lbmc_batch_flags
, flags
, ENC_BIG_ENDIAN
);
6444 return (L_LBMC_BATCH_HDR_T
);
6447 static int dissect_nhdr_request(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6449 proto_item
* subtree_item
= NULL
;
6450 proto_tree
* subtree
= NULL
;
6451 static int * const flags
[] =
6453 &hf_lbmc_tcp_request_flags_ignore
,
6457 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_tcp_request
, tvb
, offset
, L_LBMC_TCP_REQUEST_HDR_T
, ENC_NA
);
6458 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_tcp_request
);
6459 proto_tree_add_item(subtree
, hf_lbmc_tcp_request_next_hdr
, tvb
, offset
+ O_LBMC_TCP_REQUEST_HDR_T_NEXT_HDR
, L_LBMC_TCP_REQUEST_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6460 proto_tree_add_item(subtree
, hf_lbmc_tcp_request_hdr_len
, tvb
, offset
+ O_LBMC_TCP_REQUEST_HDR_T_HDR_LEN
, L_LBMC_TCP_REQUEST_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6461 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_TCP_REQUEST_HDR_T_FLAGS
, hf_lbmc_tcp_request_flags
, ett_lbmc_tcp_request_flags
, flags
, ENC_BIG_ENDIAN
);
6462 proto_tree_add_item(subtree
, hf_lbmc_tcp_request_transport
, tvb
, offset
+ O_LBMC_TCP_REQUEST_HDR_T_TRANSPORT
, L_LBMC_TCP_REQUEST_HDR_T_TRANSPORT
, ENC_BIG_ENDIAN
);
6463 proto_tree_add_item(subtree
, hf_lbmc_tcp_request_qidx
, tvb
, offset
+ O_LBMC_TCP_REQUEST_HDR_T_QIDX
, L_LBMC_TCP_REQUEST_HDR_T_QIDX
, ENC_BIG_ENDIAN
);
6464 proto_tree_add_item(subtree
, hf_lbmc_tcp_request_port
, tvb
, offset
+ O_LBMC_TCP_REQUEST_HDR_T_PORT
, L_LBMC_TCP_REQUEST_HDR_T_PORT
, ENC_BIG_ENDIAN
);
6465 proto_tree_add_item(subtree
, hf_lbmc_tcp_request_reserved
, tvb
, offset
+ O_LBMC_TCP_REQUEST_HDR_T_RESERVED
, L_LBMC_TCP_REQUEST_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
6466 proto_tree_add_item(subtree
, hf_lbmc_tcp_request_ipaddr
, tvb
, offset
+ O_LBMC_TCP_REQUEST_HDR_T_IPADDR
, L_LBMC_TCP_REQUEST_HDR_T_IPADDR
, ENC_BIG_ENDIAN
);
6467 return (L_LBMC_TCP_REQUEST_HDR_T
);
6470 static int dissect_nhdr_topicname(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6472 proto_item
* subtree_item
= NULL
;
6473 proto_tree
* subtree
= NULL
;
6475 static int * const flags
[] =
6477 &hf_lbmc_topicname_flags_ignore
,
6480 int len_dissected
= 0;
6482 proto_item
* hdrlen_item
= NULL
;
6484 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_TOPICNAME_HDR_T_HDR_LEN
);
6485 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_topicname
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
6486 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_topicname
);
6487 proto_tree_add_item(subtree
, hf_lbmc_topicname_next_hdr
, tvb
, offset
+ O_LBMC_TOPICNAME_HDR_T_NEXT_HDR
, L_LBMC_TOPICNAME_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6488 hdrlen_item
= proto_tree_add_item(subtree
, hf_lbmc_topicname_hdr_len
, tvb
, offset
+ O_LBMC_TOPICNAME_HDR_T_HDR_LEN
, L_LBMC_TOPICNAME_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6489 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_TOPICNAME_HDR_T_FLAGS
, hf_lbmc_topicname_flags
, ett_lbmc_topicname_flags
, flags
, ENC_BIG_ENDIAN
);
6490 len_dissected
= L_LBMC_BASIC_HDR_T
;
6491 namelen
= (int) hdrlen
- len_dissected
;
6494 proto_tree_add_item(subtree
, hf_lbmc_topicname_topicname
, tvb
, offset
+ O_LBMC_TOPICNAME_HDR_T_FLAGS
+ L_LBMC_TOPICNAME_HDR_T_FLAGS
, namelen
, ENC_ASCII
| ENC_NA
);
6495 len_dissected
+= namelen
;
6499 expert_add_info(pinfo
, hdrlen_item
, &ei_lbmc_analysis_length_incorrect
);
6501 proto_item_set_len(subtree_item
, len_dissected
);
6502 return (len_dissected
);
6505 static int dissect_nhdr_apphdr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6507 proto_item
* subtree_item
= NULL
;
6508 proto_tree
* subtree
= NULL
;
6510 int len_dissected
= 0;
6512 proto_item
* hdrlen_item
= NULL
;
6514 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_APPHDR_HDR_T_HDR_LEN
);
6515 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_apphdr
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
6516 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_apphdr
);
6517 proto_tree_add_item(subtree
, hf_lbmc_apphdr_next_hdr
, tvb
, offset
+ O_LBMC_APPHDR_HDR_T_NEXT_HDR
, L_LBMC_APPHDR_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6518 hdrlen_item
= proto_tree_add_item(subtree
, hf_lbmc_apphdr_hdr_len
, tvb
, offset
+ O_LBMC_APPHDR_HDR_T_HDR_LEN
, L_LBMC_APPHDR_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6519 proto_tree_add_item(subtree
, hf_lbmc_apphdr_ignore
, tvb
, offset
+ O_LBMC_APPHDR_HDR_T_CODE
, L_LBMC_APPHDR_HDR_T_CODE
, ENC_BIG_ENDIAN
);
6520 proto_tree_add_item(subtree
, hf_lbmc_apphdr_code
, tvb
, offset
+ O_LBMC_APPHDR_HDR_T_CODE
, L_LBMC_APPHDR_HDR_T_CODE
, ENC_BIG_ENDIAN
);
6521 len_dissected
= O_LBMC_APPHDR_HDR_T_CODE
+ L_LBMC_APPHDR_HDR_T_CODE
;
6522 datalen
= (int) hdrlen
- len_dissected
;
6525 proto_tree_add_none_format(subtree
, hf_lbmc_apphdr_data
, tvb
, O_LBMC_APPHDR_HDR_T_CODE
+ L_LBMC_APPHDR_HDR_T_CODE
, datalen
, "Data (%u bytes)", datalen
);
6526 len_dissected
+= datalen
;
6530 expert_add_info(pinfo
, hdrlen_item
, &ei_lbmc_analysis_length_incorrect
);
6532 proto_item_set_len(subtree_item
, len_dissected
);
6533 return (len_dissected
);
6536 static int dissect_nhdr_apphdr_chain_element(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, uint8_t element
)
6538 proto_item
* subtree_item
= NULL
;
6539 proto_tree
* subtree
= NULL
;
6541 proto_item
* hdrlen_item
;
6543 int len_dissected
= 0;
6545 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_APPHDR_CHAIN_ELEMENT_T_HDR_LEN
);
6546 subtree_item
= proto_tree_add_none_format(tree
, hf_lbmc_apphdr_chain_element
, tvb
, offset
, (int)hdrlen
, "%s element", val_to_str(element
, lbmc_apphdr_chain_type
, "Unknown (0x%02x)"));
6547 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_apphdr_chain_element
);
6548 proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_element_next_hdr
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_ELEMENT_T_NEXT_HDR
, L_LBMC_APPHDR_CHAIN_ELEMENT_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6549 hdrlen_item
= proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_element_hdr_len
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_ELEMENT_T_HDR_LEN
, L_LBMC_APPHDR_CHAIN_ELEMENT_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6552 expert_add_info_format(pinfo
, hdrlen_item
, &ei_lbmc_analysis_zero_length
, "Element header length is zero");
6553 return ((int)hdrlen
);
6555 proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_element_res
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_ELEMENT_T_RES
, L_LBMC_APPHDR_CHAIN_ELEMENT_T_RES
, ENC_BIG_ENDIAN
);
6556 len_dissected
= L_LBMC_APPHDR_CHAIN_ELEMENT_T_MIN
;
6557 datalen
= (int) hdrlen
- len_dissected
;
6560 proto_tree_add_none_format(subtree
, hf_lbmc_apphdr_chain_element_data
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_ELEMENT_T_RES
+ L_LBMC_APPHDR_CHAIN_ELEMENT_T_RES
, datalen
, "Data (%u bytes)", datalen
);
6561 len_dissected
+= datalen
;
6565 expert_add_info(pinfo
, hdrlen_item
, &ei_lbmc_analysis_length_incorrect
);
6567 proto_item_set_len(subtree_item
, len_dissected
);
6568 return (len_dissected
);
6571 static int dissect_nhdr_apphdr_chain_msgprop_element(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, uint8_t element
, uint32_t * msg_prop_len
)
6573 proto_item
* subtree_item
= NULL
;
6574 proto_tree
* subtree
= NULL
;
6577 int len_dissected
= 0;
6578 proto_item
* hdrlen_item
= NULL
;
6580 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_HDR_LEN
);
6581 subtree_item
= proto_tree_add_none_format(tree
, hf_lbmc_apphdr_chain_msgprop
, tvb
, offset
, (int)hdrlen
, "%s element", val_to_str(element
, lbmc_apphdr_chain_type
, "Unknown (0x%02x)"));
6582 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_apphdr_chain_msgprop
);
6583 proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_msgprop_next_hdr
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_NEXT_HDR
, L_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6584 hdrlen_item
= proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_msgprop_hdr_len
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_HDR_LEN
, L_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6587 expert_add_info_format(pinfo
, hdrlen_item
, &ei_lbmc_analysis_zero_length
, "Element header length is zero");
6588 return ((int)hdrlen
);
6590 proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_msgprop_res
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_RES
, L_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_RES
, ENC_BIG_ENDIAN
);
6591 proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_msgprop_len
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_LEN
, L_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_LEN
, ENC_BIG_ENDIAN
);
6592 len_dissected
= L_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T
;
6593 datalen
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_APPHDR_CHAIN_MSGPROP_ELEMENT_T_LEN
);
6594 if (msg_prop_len
!= NULL
)
6596 *msg_prop_len
+= datalen
;
6598 proto_item_set_len(subtree_item
, len_dissected
);
6599 return (len_dissected
);
6602 static int dissect_nhdr_apphdr_chain(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, uint32_t * msg_prop_len
)
6604 proto_item
* subtree_item
= NULL
;
6605 proto_tree
* subtree
= NULL
;
6607 uint8_t datalen
= 0;
6608 int elem_offset
= 0;
6611 int len_dissected
= 0;
6613 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_APPHDR_CHAIN_HDR_T_HDR_LEN
);
6614 datalen
= hdrlen
- L_LBMC_APPHDR_CHAIN_HDR_T
;
6615 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_apphdr_chain
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
6616 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_apphdr_chain
);
6617 proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_next_hdr
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_HDR_T_NEXT_HDR
, L_LBMC_APPHDR_CHAIN_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6618 proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_hdr_len
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_HDR_T_HDR_LEN
, L_LBMC_APPHDR_CHAIN_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6619 proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_res
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_HDR_T_RES
, L_LBMC_APPHDR_CHAIN_HDR_T_RES
, ENC_BIG_ENDIAN
);
6620 proto_tree_add_item(subtree
, hf_lbmc_apphdr_chain_first_chain_hdr
, tvb
, offset
+ O_LBMC_APPHDR_CHAIN_HDR_T_FIRST_CHAIN_HDR
, L_LBMC_APPHDR_CHAIN_HDR_T_FIRST_CHAIN_HDR
, ENC_BIG_ENDIAN
);
6621 len_dissected
= L_LBMC_APPHDR_CHAIN_HDR_T
;
6622 elem_offset
= offset
+ L_LBMC_APPHDR_CHAIN_HDR_T
;
6623 elem
= tvb_get_uint8(tvb
, offset
+ O_LBMC_APPHDR_CHAIN_HDR_T_FIRST_CHAIN_HDR
);
6628 case LBM_CHAIN_ELEM_PROPERTIES_LENGTH
:
6629 elem_len
= dissect_nhdr_apphdr_chain_msgprop_element(tvb
, elem_offset
, pinfo
, subtree
, elem
, msg_prop_len
);
6632 elem_len
= dissect_nhdr_apphdr_chain_element(tvb
, elem_offset
, pinfo
, subtree
, elem
);
6637 return (len_dissected
);
6639 elem_offset
+= elem_len
;
6640 datalen
-= elem_len
;
6641 len_dissected
+= elem_len
;
6642 if (datalen
>= L_LBMC_APPHDR_CHAIN_ELEMENT_T_MIN
)
6644 elem
= tvb_get_uint8(tvb
, elem_offset
+ O_LBMC_APPHDR_CHAIN_ELEMENT_T_NEXT_HDR
);
6647 proto_item_set_len(subtree_item
, len_dissected
);
6648 return (len_dissected
);
6651 static int dissect_nhdr_umq_msgid(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6653 proto_item
* subtree_item
= NULL
;
6654 proto_tree
* subtree
= NULL
;
6655 static int * const flags
[] =
6657 &hf_lbmc_umq_msgid_flags_ignore
,
6661 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_msgid
, tvb
, offset
, L_LBMC_UMQ_MSGID_HDR_T
, ENC_NA
);
6662 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_msgid
);
6663 proto_tree_add_item(subtree
, hf_lbmc_umq_msgid_next_hdr
, tvb
, offset
+ O_LBMC_UMQ_MSGID_HDR_T_NEXT_HDR
, L_LBMC_UMQ_MSGID_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6664 proto_tree_add_item(subtree
, hf_lbmc_umq_msgid_hdr_len
, tvb
, offset
+ O_LBMC_UMQ_MSGID_HDR_T_HDR_LEN
, L_LBMC_UMQ_MSGID_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6665 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_UMQ_MSGID_HDR_T_FLAGS
, hf_lbmc_umq_msgid_flags
, ett_lbmc_umq_msgid_flags
, flags
, ENC_BIG_ENDIAN
);
6666 proto_tree_add_item(subtree
, hf_lbmc_umq_msgid_msgid_regid
, tvb
, offset
+ O_LBMC_UMQ_MSGID_HDR_T_MSGID_REGID
, L_LBMC_UMQ_MSGID_HDR_T_MSGID_REGID
, ENC_BIG_ENDIAN
);
6667 proto_tree_add_item(subtree
, hf_lbmc_umq_msgid_msgid_stamp
, tvb
, offset
+ O_LBMC_UMQ_MSGID_HDR_T_MSGID_STAMP
, L_LBMC_UMQ_MSGID_HDR_T_MSGID_STAMP
, ENC_BIG_ENDIAN
);
6668 return (L_LBMC_UMQ_MSGID_HDR_T
);
6671 static int dissect_nhdr_umq_sqd_rcv(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, bool * data_is_response
)
6673 proto_item
* subtree_item
= NULL
;
6674 proto_tree
* subtree
= NULL
;
6675 static int * const flags
[] =
6677 &hf_lbmc_umq_sqd_rcv_flags_ignore
,
6678 &hf_lbmc_umq_sqd_rcv_flags_r_flag
,
6679 &hf_lbmc_umq_sqd_rcv_flags_s_flag
,
6680 &hf_lbmc_umq_sqd_rcv_flags_re_flag
,
6681 &hf_lbmc_umq_sqd_rcv_flags_eoi_flag
,
6682 &hf_lbmc_umq_sqd_rcv_flags_boi_flag
,
6686 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_sqd_rcv
, tvb
, offset
, L_LBMC_UMQ_SQD_RCV_HDR_T
, ENC_NA
);
6687 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_sqd_rcv
);
6688 proto_tree_add_item(subtree
, hf_lbmc_umq_sqd_rcv_next_hdr
, tvb
, offset
+ O_LBMC_UMQ_SQD_RCV_HDR_T_NEXT_HDR
, L_LBMC_UMQ_SQD_RCV_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6689 proto_tree_add_item(subtree
, hf_lbmc_umq_sqd_rcv_hdr_len
, tvb
, offset
+ O_LBMC_UMQ_SQD_RCV_HDR_T_HDR_LEN
, L_LBMC_UMQ_SQD_RCV_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6690 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_UMQ_SQD_RCV_HDR_T_FLAGS
, hf_lbmc_umq_sqd_rcv_flags
, ett_lbmc_umq_sqd_rcv_flags
, flags
, ENC_BIG_ENDIAN
);
6691 proto_tree_add_item(subtree
, hf_lbmc_umq_sqd_rcv_queue_id
, tvb
, offset
+ O_LBMC_UMQ_SQD_RCV_HDR_T_QUEUE_ID
, L_LBMC_UMQ_SQD_RCV_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
6692 proto_tree_add_item(subtree
, hf_lbmc_umq_sqd_rcv_queue_ver
, tvb
, offset
+ O_LBMC_UMQ_SQD_RCV_HDR_T_QUEUE_VER
, L_LBMC_UMQ_SQD_RCV_HDR_T_QUEUE_VER
, ENC_BIG_ENDIAN
);
6693 proto_tree_add_item(subtree
, hf_lbmc_umq_sqd_rcv_rcr_idx
, tvb
, offset
+ O_LBMC_UMQ_SQD_RCV_HDR_T_RCR_IDX
, L_LBMC_UMQ_SQD_RCV_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
6694 proto_tree_add_item(subtree
, hf_lbmc_umq_sqd_rcv_assign_id
, tvb
, offset
+ O_LBMC_UMQ_SQD_RCV_HDR_T_ASSIGN_ID
, L_LBMC_UMQ_SQD_RCV_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
6695 if (data_is_response
!= NULL
)
6699 rcr_index
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_UMQ_SQD_RCV_HDR_T_RCR_IDX
);
6702 *data_is_response
= true;
6706 *data_is_response
= false;
6709 return (L_LBMC_UMQ_SQD_RCV_HDR_T
);
6712 static int dissect_nhdr_umq_resub(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6714 proto_item
* subtree_item
= NULL
;
6715 proto_tree
* subtree
= NULL
;
6716 static int * const flags
[] =
6718 &hf_lbmc_umq_resub_flags_ignore
,
6719 &hf_lbmc_umq_resub_flags_q_flag
,
6723 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_resub
, tvb
, offset
, L_LBMC_UMQ_RESUB_HDR_T
, ENC_NA
);
6724 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_resub
);
6725 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_next_hdr
, tvb
, offset
+ O_LBMC_UMQ_RESUB_HDR_T_NEXT_HDR
, L_LBMC_UMQ_RESUB_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6726 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_hdr_len
, tvb
, offset
+ O_LBMC_UMQ_RESUB_HDR_T_HDR_LEN
, L_LBMC_UMQ_RESUB_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6727 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_UMQ_RESUB_HDR_T_FLAGS
, hf_lbmc_umq_resub_flags
, ett_lbmc_umq_resub_flags
, flags
, ENC_BIG_ENDIAN
);
6728 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_rcr_idx
, tvb
, offset
+ O_LBMC_UMQ_RESUB_HDR_T_RCR_IDX
, L_LBMC_UMQ_RESUB_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
6729 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_resp_ip
, tvb
, offset
+ O_LBMC_UMQ_RESUB_HDR_T_RESP_IP
, L_LBMC_UMQ_RESUB_HDR_T_RESP_IP
, ENC_BIG_ENDIAN
);
6730 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_resp_port
, tvb
, offset
+ O_LBMC_UMQ_RESUB_HDR_T_RESP_PORT
, L_LBMC_UMQ_RESUB_HDR_T_RESP_PORT
, ENC_BIG_ENDIAN
);
6731 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_appset_idx
, tvb
, offset
+ O_LBMC_UMQ_RESUB_HDR_T_APPSET_IDX
, L_LBMC_UMQ_RESUB_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
6732 return (L_LBMC_UMQ_RESUB_HDR_T
);
6735 static int dissect_nhdr_otid(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6737 proto_item
* subtree_item
= NULL
;
6738 proto_tree
* subtree
= NULL
;
6739 static int * const flags
[] =
6741 &hf_lbmc_otid_flags_ignore
,
6745 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_otid
, tvb
, offset
, L_LBMC_OTID_HDR_T
, ENC_NA
);
6746 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_otid
);
6747 proto_tree_add_item(subtree
, hf_lbmc_otid_next_hdr
, tvb
, offset
+ O_LBMC_OTID_HDR_T_NEXT_HDR
, L_LBMC_OTID_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6748 proto_tree_add_item(subtree
, hf_lbmc_otid_hdr_len
, tvb
, offset
+ O_LBMC_OTID_HDR_T_HDR_LEN
, L_LBMC_OTID_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6749 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_OTID_HDR_T_FLAGS
, hf_lbmc_otid_flags
, ett_lbmc_otid_flags
, flags
, ENC_BIG_ENDIAN
);
6750 proto_tree_add_item(subtree
, hf_lbmc_otid_otid
, tvb
, offset
+ O_LBMC_OTID_HDR_T_OTID
, L_LBMC_OTID_HDR_T_OTID
, ENC_NA
);
6751 return (L_LBMC_OTID_HDR_T
);
6754 static void dissect_ctxinst(tvbuff_t
* tvb
, int offset
, proto_tree
* tree
, lbmc_ctxinst_info_t
* info
)
6756 static int * const flags
[] =
6758 &hf_lbmc_ctxinst_flags_ignore
,
6762 proto_tree_add_item(tree
, hf_lbmc_ctxinst_next_hdr
, tvb
, offset
+ O_LBMC_CTXINST_HDR_T_NEXT_HDR
, L_LBMC_CTXINST_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6763 proto_tree_add_item(tree
, hf_lbmc_ctxinst_hdr_len
, tvb
, offset
+ O_LBMC_CTXINST_HDR_T_HDR_LEN
, L_LBMC_CTXINST_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6764 proto_tree_add_bitmask(tree
, tvb
, offset
+ O_LBMC_CTXINST_HDR_T_FLAGS
, hf_lbmc_ctxinst_flags
, ett_lbmc_ctxinst_flags
, flags
, ENC_BIG_ENDIAN
);
6765 proto_tree_add_item(tree
, hf_lbmc_ctxinst_ctxinst
, tvb
, offset
+ O_LBMC_CTXINST_HDR_T_CTXINST
, L_LBMC_CTXINST_HDR_T_CTXINST
, ENC_NA
);
6769 tvb_memcpy(tvb
, (void *)&(info
->ctxinst
), offset
+ O_LBMC_CTXINST_HDR_T_CTXINST
, L_LBMC_CTXINST_HDR_T_CTXINST
);
6773 static int dissect_nhdr_ctxinstd(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, lbmc_ctxinst_info_t
* info
)
6775 proto_item
* subtree_item
= NULL
;
6776 proto_tree
* subtree
= NULL
;
6778 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ctxinstd
, tvb
, offset
, L_LBMC_CTXINST_HDR_T
, ENC_NA
);
6779 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ctxinstd
);
6780 dissect_ctxinst(tvb
, offset
, subtree
, info
);
6781 return (L_LBMC_CTXINST_HDR_T
);
6784 static int dissect_nhdr_ctxinstr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, lbmc_ctxinst_info_t
* info
)
6786 proto_item
* subtree_item
= NULL
;
6787 proto_tree
* subtree
= NULL
;
6789 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ctxinstr
, tvb
, offset
, L_LBMC_CTXINST_HDR_T
, ENC_NA
);
6790 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ctxinstr
);
6791 dissect_ctxinst(tvb
, offset
, subtree
, info
);
6792 return (L_LBMC_CTXINST_HDR_T
);
6795 static int dissect_nhdr_ctxinst(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, lbmc_ctxinst_info_t
* info
)
6797 proto_item
* subtree_item
= NULL
;
6798 proto_tree
* subtree
= NULL
;
6800 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ctxinst
, tvb
, offset
, L_LBMC_CTXINST_HDR_T
, ENC_NA
);
6801 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ctxinst
);
6802 dissect_ctxinst(tvb
, offset
, subtree
, info
);
6803 return (L_LBMC_CTXINST_HDR_T
);
6806 static int dissect_nhdr_srcidx(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6808 proto_item
* subtree_item
= NULL
;
6809 proto_tree
* subtree
= NULL
;
6810 static int * const flags
[] =
6812 &hf_lbmc_srcidx_flags_ignore
,
6816 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_srcidx
, tvb
, offset
, L_LBMC_SRCIDX_HDR_T
, ENC_NA
);
6817 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_srcidx
);
6818 proto_tree_add_item(subtree
, hf_lbmc_srcidx_next_hdr
, tvb
, offset
+ O_LBMC_SRCIDX_HDR_T_NEXT_HDR
, L_LBMC_SRCIDX_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6819 proto_tree_add_item(subtree
, hf_lbmc_srcidx_hdr_len
, tvb
, offset
+ O_LBMC_SRCIDX_HDR_T_HDR_LEN
, L_LBMC_SRCIDX_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6820 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_SRCIDX_HDR_T_FLAGS
, hf_lbmc_srcidx_flags
, ett_lbmc_srcidx_flags
, flags
, ENC_BIG_ENDIAN
);
6821 proto_tree_add_item(subtree
, hf_lbmc_srcidx_srcidx
, tvb
, offset
+ O_LBMC_SRCIDX_HDR_T_SRCIDX
, L_LBMC_SRCIDX_HDR_T_SRCIDX
, ENC_BIG_ENDIAN
);
6822 return (L_LBMC_SRCIDX_HDR_T
);
6825 static int dissect_nhdr_umq_ulb_msg(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6827 proto_item
* subtree_item
= NULL
;
6828 proto_tree
* subtree
= NULL
;
6829 static int * const flags
[] =
6831 &hf_lbmc_umq_ulb_msg_flags_ignore
,
6832 &hf_lbmc_umq_ulb_msg_flags_a_flag
,
6833 &hf_lbmc_umq_ulb_msg_flags_r_flag
,
6837 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ulb_msg
, tvb
, offset
, L_LBMC_UMQ_ULB_MSG_HDR_T
, ENC_NA
);
6838 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ulb_msg
);
6839 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_msg_next_hdr
, tvb
, offset
+ O_LBMC_UMQ_ULB_MSG_HDR_T_NEXT_HDR
, L_LBMC_UMQ_ULB_MSG_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6840 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_msg_hdr_len
, tvb
, offset
+ O_LBMC_UMQ_ULB_MSG_HDR_T_HDR_LEN
, L_LBMC_UMQ_ULB_MSG_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6841 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_UMQ_ULB_MSG_HDR_T_FLAGS
, hf_lbmc_umq_ulb_msg_flags
, ett_lbmc_umq_ulb_msg
, flags
, ENC_BIG_ENDIAN
);
6842 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_msg_queue_id
, tvb
, offset
+ O_LBMC_UMQ_ULB_MSG_HDR_T_QUEUE_ID
, L_LBMC_UMQ_ULB_MSG_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
6843 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_msg_ulb_src_id
, tvb
, offset
+ O_LBMC_UMQ_ULB_MSG_HDR_T_ULB_SRC_ID
, L_LBMC_UMQ_ULB_MSG_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
6844 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_msg_assign_id
, tvb
, offset
+ O_LBMC_UMQ_ULB_MSG_HDR_T_ASSIGN_ID
, L_LBMC_UMQ_ULB_MSG_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
6845 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_msg_appset_idx
, tvb
, offset
+ O_LBMC_UMQ_ULB_MSG_HDR_T_APPSET_IDX
, L_LBMC_UMQ_ULB_MSG_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
6846 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_msg_num_ras
, tvb
, offset
+ O_LBMC_UMQ_ULB_MSG_HDR_T_NUM_RAS
, L_LBMC_UMQ_ULB_MSG_HDR_T_NUM_RAS
, ENC_BIG_ENDIAN
);
6847 return (L_LBMC_UMQ_ULB_MSG_HDR_T
);
6850 static int dissect_nhdr_ssf_init(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6852 proto_item
* subtree_item
= NULL
;
6853 proto_tree
* subtree
= NULL
;
6854 static int * const flags
[] =
6856 &hf_lbmc_ssf_init_flags_ignore
,
6857 &hf_lbmc_ssf_init_flags_default_exclusions
,
6858 &hf_lbmc_ssf_init_flags_default_inclusions
,
6862 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ssf_init
, tvb
, offset
, L_LBMC_CNTL_SSF_INIT_HDR_T
, ENC_NA
);
6863 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ssf_init
);
6864 proto_tree_add_item(subtree
, hf_lbmc_ssf_init_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_SSF_INIT_HDR_T_NEXT_HDR
, L_LBMC_CNTL_SSF_INIT_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6865 proto_tree_add_item(subtree
, hf_lbmc_ssf_init_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_SSF_INIT_HDR_T_HDR_LEN
, L_LBMC_CNTL_SSF_INIT_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6866 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_SSF_INIT_HDR_T_FLAGS
, hf_lbmc_ssf_init_flags
, ett_lbmc_ssf_init
, flags
, ENC_BIG_ENDIAN
);
6867 proto_tree_add_item(subtree
, hf_lbmc_ssf_init_transport
, tvb
, offset
+ O_LBMC_CNTL_SSF_INIT_HDR_T_TRANSPORT
, L_LBMC_CNTL_SSF_INIT_HDR_T_TRANSPORT
, ENC_BIG_ENDIAN
);
6868 proto_tree_add_item(subtree
, hf_lbmc_ssf_init_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_SSF_INIT_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_SSF_INIT_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
6869 proto_tree_add_item(subtree
, hf_lbmc_ssf_init_client_idx
, tvb
, offset
+ O_LBMC_CNTL_SSF_INIT_HDR_T_CLIENT_IDX
, L_LBMC_CNTL_SSF_INIT_HDR_T_CLIENT_IDX
, ENC_BIG_ENDIAN
);
6870 proto_tree_add_item(subtree
, hf_lbmc_ssf_init_ssf_port
, tvb
, offset
+ O_LBMC_CNTL_SSF_INIT_HDR_T_SSF_PORT
, L_LBMC_CNTL_SSF_INIT_HDR_T_SSF_PORT
, ENC_BIG_ENDIAN
);
6871 proto_tree_add_item(subtree
, hf_lbmc_ssf_init_res
, tvb
, offset
+ O_LBMC_CNTL_SSF_INIT_HDR_T_RES
, L_LBMC_CNTL_SSF_INIT_HDR_T_RES
, ENC_BIG_ENDIAN
);
6872 proto_tree_add_item(subtree
, hf_lbmc_ssf_init_ssf_ip
, tvb
, offset
+ O_LBMC_CNTL_SSF_INIT_HDR_T_SSF_IP
, L_LBMC_CNTL_SSF_INIT_HDR_T_SSF_IP
, ENC_BIG_ENDIAN
);
6873 return (L_LBMC_CNTL_SSF_INIT_HDR_T
);
6876 static int dissect_nhdr_ssf_creq(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6878 proto_item
* subtree_item
= NULL
;
6879 proto_tree
* subtree
= NULL
;
6880 static int * const flags
[] =
6882 &hf_lbmc_ssf_creq_flags_ignore
,
6886 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ssf_creq
, tvb
, offset
, L_LBMC_CNTL_SSF_CREQ_HDR_T
, ENC_NA
);
6887 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ssf_creq
);
6888 proto_tree_add_item(subtree
, hf_lbmc_ssf_creq_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_SSF_CREQ_HDR_T_NEXT_HDR
, L_LBMC_CNTL_SSF_CREQ_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6889 proto_tree_add_item(subtree
, hf_lbmc_ssf_creq_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_SSF_CREQ_HDR_T_HDR_LEN
, L_LBMC_CNTL_SSF_CREQ_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6890 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_SSF_CREQ_HDR_T_FLAGS
, hf_lbmc_ssf_creq_flags
, ett_lbmc_ssf_creq
, flags
, ENC_BIG_ENDIAN
);
6891 proto_tree_add_item(subtree
, hf_lbmc_ssf_creq_mode
, tvb
, offset
+ O_LBMC_CNTL_SSF_CREQ_HDR_T_MODE
, L_LBMC_CNTL_SSF_CREQ_HDR_T_MODE
, ENC_BIG_ENDIAN
);
6892 proto_tree_add_item(subtree
, hf_lbmc_ssf_creq_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_SSF_CREQ_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_SSF_CREQ_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
6893 proto_tree_add_item(subtree
, hf_lbmc_ssf_creq_topic_idx
, tvb
, offset
+ O_LBMC_CNTL_SSF_CREQ_HDR_T_TOPIC_IDX
, L_LBMC_CNTL_SSF_CREQ_HDR_T_TOPIC_IDX
, ENC_BIG_ENDIAN
);
6894 proto_tree_add_item(subtree
, hf_lbmc_ssf_creq_client_idx
, tvb
, offset
+ O_LBMC_CNTL_SSF_CREQ_HDR_T_CLIENT_IDX
, L_LBMC_CNTL_SSF_CREQ_HDR_T_CLIENT_IDX
, ENC_BIG_ENDIAN
);
6895 return (L_LBMC_CNTL_SSF_CREQ_HDR_T
);
6898 static int dissect_nhdr_ume_preg(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6900 proto_item
* subtree_item
= NULL
;
6901 proto_tree
* subtree
= NULL
;
6902 static int * const flags
[] =
6904 &hf_lbmc_ume_preg_flags_ignore
,
6905 &hf_lbmc_ume_preg_flags_f_flag
,
6906 &hf_lbmc_ume_preg_flags_p_flag
,
6907 &hf_lbmc_ume_preg_flags_w_flag
,
6908 &hf_lbmc_ume_preg_flags_d_flag
,
6912 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_preg
, tvb
, offset
, L_LBMC_CNTL_UME_PREG_HDR_T
, ENC_NA
);
6913 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_preg
);
6914 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_PREG_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6915 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_PREG_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6916 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_FLAGS
, hf_lbmc_ume_preg_flags
, ett_lbmc_ume_preg_flags
, flags
, ENC_BIG_ENDIAN
);
6917 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_s_flag
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_MARKER
, L_LBMC_CNTL_UME_PREG_HDR_T_MARKER
, ENC_BIG_ENDIAN
);
6918 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_marker
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_MARKER
, L_LBMC_CNTL_UME_PREG_HDR_T_MARKER
, ENC_BIG_ENDIAN
);
6919 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_reg_id
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_REG_ID
, L_LBMC_CNTL_UME_PREG_HDR_T_REG_ID
, ENC_BIG_ENDIAN
);
6920 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_UME_PREG_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
6921 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_topic_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_TOPIC_IDX
, L_LBMC_CNTL_UME_PREG_HDR_T_TOPIC_IDX
, ENC_BIG_ENDIAN
);
6922 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_src_reg_id
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_SRC_REG_ID
, L_LBMC_CNTL_UME_PREG_HDR_T_SRC_REG_ID
, ENC_BIG_ENDIAN
);
6923 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_port
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_RESP_PORT
, L_LBMC_CNTL_UME_PREG_HDR_T_RESP_PORT
, ENC_BIG_ENDIAN
);
6924 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_res2
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_RES2
, L_LBMC_CNTL_UME_PREG_HDR_T_RES2
, ENC_BIG_ENDIAN
);
6925 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_ip
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_HDR_T_RESP_IP
, L_LBMC_CNTL_UME_PREG_HDR_T_RESP_IP
, ENC_BIG_ENDIAN
);
6926 return (L_LBMC_CNTL_UME_PREG_HDR_T
);
6929 static int dissect_nhdr_ume_preg_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6931 proto_item
* subtree_item
= NULL
;
6932 proto_tree
* subtree
= NULL
;
6934 static int * const codes
[] =
6936 &hf_lbmc_ume_preg_resp_code_ignore
,
6937 &hf_lbmc_ume_preg_resp_code_o_flag
,
6938 &hf_lbmc_ume_preg_resp_code_e_flag
,
6939 &hf_lbmc_ume_preg_resp_code_n_flag
,
6940 &hf_lbmc_ume_preg_resp_code_w_flag
,
6941 &hf_lbmc_ume_preg_resp_code_d_flag
,
6944 static int * const codes_e
[] =
6946 &hf_lbmc_ume_preg_resp_code_ignore
,
6947 &hf_lbmc_ume_preg_resp_code_o_flag
,
6948 &hf_lbmc_ume_preg_resp_code_e_flag
,
6949 &hf_lbmc_ume_preg_resp_code_code
,
6953 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_preg_resp
, tvb
, offset
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T
, ENC_NA
);
6954 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_preg_resp
);
6955 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6956 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6957 code
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE
);
6958 if ((code
& LBMC_UME_PREG_RESP_E_FLAG
) == 0)
6960 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE
, hf_lbmc_ume_preg_resp_code
, ett_lbmc_ume_preg_resp_code
, codes
, ENC_BIG_ENDIAN
);
6964 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE
, hf_lbmc_ume_preg_resp_code
, ett_lbmc_ume_preg_resp_code
, codes_e
, ENC_BIG_ENDIAN
);
6966 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_s_flag
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_MARKER
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_MARKER
, ENC_BIG_ENDIAN
);
6967 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_marker
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_MARKER
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_MARKER
, ENC_BIG_ENDIAN
);
6968 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_reg_id
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_REG_ID
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_REG_ID
, ENC_BIG_ENDIAN
);
6969 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
6970 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_topic_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_TOPIC_IDX
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_TOPIC_IDX
, ENC_BIG_ENDIAN
);
6971 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_low_seqnum
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_LOW_SEQNUM
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_LOW_SEQNUM
, ENC_BIG_ENDIAN
);
6972 proto_tree_add_item(subtree
, hf_lbmc_ume_preg_resp_high_seqnum
, tvb
, offset
+ O_LBMC_CNTL_UME_PREG_RESP_HDR_T_HIGH_SEQNUM
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_HIGH_SEQNUM
, ENC_BIG_ENDIAN
);
6973 return (L_LBMC_CNTL_UME_PREG_RESP_HDR_T
);
6976 static int dissect_nhdr_ume_ack(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
6978 proto_item
* subtree_item
= NULL
;
6979 proto_tree
* subtree
= NULL
;
6980 static int * const flags
[] =
6982 &hf_lbmc_ume_ack_flags_ignore
,
6983 &hf_lbmc_ume_ack_flags_o_flag
,
6984 &hf_lbmc_ume_ack_flags_f_flag
,
6985 &hf_lbmc_ume_ack_flags_u_flag
,
6986 &hf_lbmc_ume_ack_flags_e_flag
,
6990 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_ack
, tvb
, offset
, L_LBMC_CNTL_UME_ACK_HDR_T
, ENC_NA
);
6991 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_ack
);
6992 proto_tree_add_item(subtree
, hf_lbmc_ume_ack_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_ACK_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
6993 proto_tree_add_item(subtree
, hf_lbmc_ume_ack_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_ACK_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
6994 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_HDR_T_FLAGS
, hf_lbmc_ume_ack_flags
, ett_lbmc_ume_ack_flags
, flags
, ENC_BIG_ENDIAN
);
6995 proto_tree_add_item(subtree
, hf_lbmc_ume_ack_type
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_HDR_T_TYPE
, L_LBMC_CNTL_UME_ACK_HDR_T_TYPE
, ENC_BIG_ENDIAN
);
6996 proto_tree_add_item(subtree
, hf_lbmc_ume_ack_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_UME_ACK_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
6997 proto_tree_add_item(subtree
, hf_lbmc_ume_ack_id_2
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_HDR_T_ID_2
, L_LBMC_CNTL_UME_ACK_HDR_T_ID_2
, ENC_BIG_ENDIAN
);
6998 proto_tree_add_item(subtree
, hf_lbmc_ume_ack_rcv_reg_id
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_HDR_T_RCV_REG_ID
, L_LBMC_CNTL_UME_ACK_HDR_T_RCV_REG_ID
, ENC_BIG_ENDIAN
);
6999 proto_tree_add_item(subtree
, hf_lbmc_ume_ack_seqnum
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_HDR_T_SEQNUM
, L_LBMC_CNTL_UME_ACK_HDR_T_SEQNUM
, ENC_BIG_ENDIAN
);
7000 return (L_LBMC_CNTL_UME_ACK_HDR_T
);
7003 static int dissect_nhdr_ume_rxreq(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7005 proto_item
* subtree_item
= NULL
;
7006 proto_tree
* subtree
= NULL
;
7007 static int * const flags
[] =
7009 &hf_lbmc_ume_rxreq_flags_ignore
,
7010 &hf_lbmc_ume_rxreq_flags_tsni_req
,
7014 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_rxreq
, tvb
, offset
, L_LBMC_CNTL_UME_RXREQ_HDR_T
, ENC_NA
);
7015 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_rxreq
);
7016 proto_tree_add_item(subtree
, hf_lbmc_ume_rxreq_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_RXREQ_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7017 proto_tree_add_item(subtree
, hf_lbmc_ume_rxreq_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_RXREQ_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7018 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_FLAGS
, hf_lbmc_ume_rxreq_flags
, ett_lbmc_ume_rxreq_flags
, flags
, ENC_BIG_ENDIAN
);
7019 proto_tree_add_item(subtree
, hf_lbmc_ume_rxreq_marker
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_FLAGS
, L_LBMC_CNTL_UME_RXREQ_HDR_T_FLAGS
, ENC_BIG_ENDIAN
);
7020 proto_tree_add_item(subtree
, hf_lbmc_ume_rxreq_request_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_REQUEST_IDX
, L_LBMC_CNTL_UME_RXREQ_HDR_T_REQUEST_IDX
, ENC_BIG_ENDIAN
);
7021 proto_tree_add_item(subtree
, hf_lbmc_ume_rxreq_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_UME_RXREQ_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
7022 proto_tree_add_item(subtree
, hf_lbmc_ume_rxreq_id_2
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_ID_2
, L_LBMC_CNTL_UME_RXREQ_HDR_T_ID_2
, ENC_BIG_ENDIAN
);
7023 proto_tree_add_item(subtree
, hf_lbmc_ume_rxreq_seqnum
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_SEQNUM
, L_LBMC_CNTL_UME_RXREQ_HDR_T_SEQNUM
, ENC_BIG_ENDIAN
);
7024 proto_tree_add_item(subtree
, hf_lbmc_ume_rxreq_rx_port
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_RX_PORT
, L_LBMC_CNTL_UME_RXREQ_HDR_T_RX_PORT
, ENC_BIG_ENDIAN
);
7025 proto_tree_add_item(subtree
, hf_lbmc_ume_rxreq_res
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_RES
, L_LBMC_CNTL_UME_RXREQ_HDR_T_RES
, ENC_BIG_ENDIAN
);
7026 proto_tree_add_item(subtree
, hf_lbmc_ume_rxreq_rx_ip
, tvb
, offset
+ O_LBMC_CNTL_UME_RXREQ_HDR_T_RX_IP
, L_LBMC_CNTL_UME_RXREQ_HDR_T_RX_IP
, ENC_BIG_ENDIAN
);
7027 return (L_LBMC_CNTL_UME_RXREQ_HDR_T
);
7030 static int dissect_nhdr_ume_keepalive(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7032 proto_item
* subtree_item
= NULL
;
7033 proto_tree
* subtree
= NULL
;
7034 static int * const flags
[] =
7036 &hf_lbmc_ume_keepalive_flags_ignore
,
7037 &hf_lbmc_ume_keepalive_flags_r_flag
,
7038 &hf_lbmc_ume_keepalive_flags_t_flag
,
7042 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_keepalive
, tvb
, offset
, L_LBMC_CNTL_UME_KEEPALIVE_HDR_T
, ENC_NA
);
7043 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_keepalive
);
7044 proto_tree_add_item(subtree
, hf_lbmc_ume_keepalive_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7045 proto_tree_add_item(subtree
, hf_lbmc_ume_keepalive_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7046 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_FLAGS
, hf_lbmc_ume_keepalive_flags
, ett_lbmc_ume_keepalive_flags
, flags
, ENC_BIG_ENDIAN
);
7047 proto_tree_add_item(subtree
, hf_lbmc_ume_keepalive_type
, tvb
, offset
+ O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TYPE
, L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TYPE
, ENC_BIG_ENDIAN
);
7048 proto_tree_add_item(subtree
, hf_lbmc_ume_keepalive_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
7049 proto_tree_add_item(subtree
, hf_lbmc_ume_keepalive_topic_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TOPIC_IDX
, L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_TOPIC_IDX
, ENC_BIG_ENDIAN
);
7050 proto_tree_add_item(subtree
, hf_lbmc_ume_keepalive_reg_id
, tvb
, offset
+ O_LBMC_CNTL_UME_KEEPALIVE_HDR_T_REG_ID
, L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_REG_ID
, ENC_BIG_ENDIAN
);
7051 return (L_LBMC_CNTL_UME_KEEPALIVE_HDR_T
);
7054 static int dissect_nhdr_ume_storeid(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7056 proto_item
* subtree_item
= NULL
;
7057 proto_tree
* subtree
= NULL
;
7059 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_storeid
, tvb
, offset
, L_LBMC_CNTL_UME_STOREID_HDR_T
, ENC_NA
);
7060 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_storeid
);
7061 proto_tree_add_item(subtree
, hf_lbmc_ume_storeid_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_STOREID_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_STOREID_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7062 proto_tree_add_item(subtree
, hf_lbmc_ume_storeid_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_STOREID_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_STOREID_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7063 proto_tree_add_item(subtree
, hf_lbmc_ume_storeid_ignore
, tvb
, offset
+ O_LBMC_CNTL_UME_STOREID_HDR_T_STORE_ID
, L_LBMC_CNTL_UME_STOREID_HDR_T_STORE_ID
, ENC_BIG_ENDIAN
);
7064 proto_tree_add_item(subtree
, hf_lbmc_ume_storeid_store_id
, tvb
, offset
+ O_LBMC_CNTL_UME_STOREID_HDR_T_STORE_ID
, L_LBMC_CNTL_UME_STOREID_HDR_T_STORE_ID
, ENC_BIG_ENDIAN
);
7065 return (L_LBMC_CNTL_UME_STOREID_HDR_T
);
7068 static int dissect_nhdr_ume_ranged_ack(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7070 proto_item
* subtree_item
= NULL
;
7071 proto_tree
* subtree
= NULL
;
7072 static int * const flags
[] =
7074 &hf_lbmc_ume_ranged_ack_flags_ignore
,
7078 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_ranged_ack
, tvb
, offset
, L_LBMC_CNTL_UME_RANGED_ACK_HDR_T
, ENC_NA
);
7079 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_ranged_ack
);
7080 proto_tree_add_item(subtree
, hf_lbmc_ume_ranged_ack_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_RANGED_ACK_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_RANGED_ACK_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7081 proto_tree_add_item(subtree
, hf_lbmc_ume_ranged_ack_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_RANGED_ACK_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_RANGED_ACK_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7082 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_RANGED_ACK_HDR_T_FLAGS
, hf_lbmc_ume_ranged_ack_flags
, ett_lbmc_ume_ranged_ack_flags
, flags
, ENC_BIG_ENDIAN
);
7083 proto_tree_add_item(subtree
, hf_lbmc_ume_ranged_ack_first_seqnum
, tvb
, offset
+ O_LBMC_CNTL_UME_RANGED_ACK_HDR_T_FIRST_SEQNUM
, L_LBMC_CNTL_UME_RANGED_ACK_HDR_T_FIRST_SEQNUM
, ENC_BIG_ENDIAN
);
7084 proto_tree_add_item(subtree
, hf_lbmc_ume_ranged_ack_last_seqnum
, tvb
, offset
+ O_LBMC_CNTL_UME_RANGED_ACK_HDR_T_LAST_SEQNUM
, L_LBMC_CNTL_UME_RANGED_ACK_HDR_T_LAST_SEQNUM
, ENC_BIG_ENDIAN
);
7085 return (L_LBMC_CNTL_UME_RANGED_ACK_HDR_T
);
7088 static int dissect_nhdr_ume_ack_id(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7090 proto_item
* subtree_item
= NULL
;
7091 proto_tree
* subtree
= NULL
;
7092 static int * const flags
[] =
7094 &hf_lbmc_ume_ack_id_flags_ignore
,
7098 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_ack_id
, tvb
, offset
, L_LBMC_CNTL_UME_ACK_ID_HDR_T
, ENC_NA
);
7099 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_ack_id
);
7100 proto_tree_add_item(subtree
, hf_lbmc_ume_ack_id_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_ID_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_ACK_ID_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7101 proto_tree_add_item(subtree
, hf_lbmc_ume_ack_id_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_ID_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_ACK_ID_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7102 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_ID_HDR_T_FLAGS
, hf_lbmc_ume_ack_id_flags
, ett_lbmc_ume_ack_id_flags
, flags
, ENC_BIG_ENDIAN
);
7103 proto_tree_add_item(subtree
, hf_lbmc_ume_ack_id_id
, tvb
, offset
+ O_LBMC_CNTL_UME_ACK_ID_HDR_T_ID
, L_LBMC_CNTL_UME_ACK_ID_HDR_T_ID
, ENC_BIG_ENDIAN
);
7104 return (L_LBMC_CNTL_UME_ACK_ID_HDR_T
);
7107 static int dissect_nhdr_ume_capability(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7109 proto_item
* subtree_item
= NULL
;
7110 proto_tree
* subtree
= NULL
;
7111 static int * const flags
[] =
7113 &hf_lbmc_ume_capability_flags_ignore
,
7114 &hf_lbmc_ume_capability_flags_qc_flag
,
7115 &hf_lbmc_ume_capability_flags_client_lifetime_flag
,
7116 &hf_lbmc_ume_capability_flags_ranged_rx_flag
,
7120 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_capability
, tvb
, offset
, L_LBMC_CNTL_UME_CAPABILITY_HDR_T
, ENC_NA
);
7121 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_capability
);
7122 proto_tree_add_item(subtree
, hf_lbmc_ume_capability_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_CAPABILITY_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_CAPABILITY_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7123 proto_tree_add_item(subtree
, hf_lbmc_ume_capability_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_CAPABILITY_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_CAPABILITY_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7124 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_CAPABILITY_HDR_T_FLAGS
, hf_lbmc_ume_capability_flags
, ett_lbmc_ume_capability_flags
, flags
, ENC_BIG_ENDIAN
);
7125 return (L_LBMC_CNTL_UME_CAPABILITY_HDR_T
);
7128 static int dissect_nhdr_ume_proxy_src(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7130 proto_item
* subtree_item
= NULL
;
7131 proto_tree
* subtree
= NULL
;
7132 static int * const flags
[] =
7134 &hf_lbmc_ume_proxy_src_flags_ignore
,
7135 &hf_lbmc_ume_proxy_src_flags_enable
,
7136 &hf_lbmc_ume_proxy_src_flags_compatibility
,
7140 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_proxy_src
, tvb
, offset
, L_LBMC_CNTL_UME_PROXY_SRC_HDR_T
, ENC_NA
);
7141 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_proxy_src
);
7142 proto_tree_add_item(subtree
, hf_lbmc_ume_proxy_src_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_PROXY_SRC_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_PROXY_SRC_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7143 proto_tree_add_item(subtree
, hf_lbmc_ume_proxy_src_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_PROXY_SRC_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_PROXY_SRC_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7144 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_PROXY_SRC_HDR_T_FLAGS
, hf_lbmc_ume_proxy_src_flags
, ett_lbmc_ume_proxy_src_flags
, flags
, ENC_BIG_ENDIAN
);
7145 return (L_LBMC_CNTL_UME_PROXY_SRC_HDR_T
);
7148 static int dissect_nhdr_ume_store_group(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7150 proto_item
* subtree_item
= NULL
;
7151 proto_tree
* subtree
= NULL
;
7152 static int * const flags
[] =
7154 &hf_lbmc_ume_store_group_flags_ignore
,
7158 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_store_group
, tvb
, offset
, L_LBMC_CNTL_UME_STORE_GROUP_HDR_T
, ENC_NA
);
7159 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_store_group
);
7160 proto_tree_add_item(subtree
, hf_lbmc_ume_store_group_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7161 proto_tree_add_item(subtree
, hf_lbmc_ume_store_group_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7162 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_FLAGS
, hf_lbmc_ume_store_group_flags
, ett_lbmc_ume_store_group_flags
, flags
, ENC_BIG_ENDIAN
);
7163 proto_tree_add_item(subtree
, hf_lbmc_ume_store_group_grp_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_GRP_IDX
, L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_GRP_IDX
, ENC_BIG_ENDIAN
);
7164 proto_tree_add_item(subtree
, hf_lbmc_ume_store_group_grp_sz
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_GRP_SZ
, L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_GRP_SZ
, ENC_BIG_ENDIAN
);
7165 proto_tree_add_item(subtree
, hf_lbmc_ume_store_group_res1
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_GROUP_HDR_T_RES1
, L_LBMC_CNTL_UME_STORE_GROUP_HDR_T_RES1
, ENC_BIG_ENDIAN
);
7166 return (L_LBMC_CNTL_UME_STORE_GROUP_HDR_T
);
7169 static int dissect_nhdr_ume_store(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7171 proto_item
* subtree_item
= NULL
;
7172 proto_tree
* subtree
= NULL
;
7173 static int * const flags
[] =
7175 &hf_lbmc_ume_store_flags_ignore
,
7179 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_store
, tvb
, offset
, L_LBMC_CNTL_UME_STORE_HDR_T
, ENC_NA
);
7180 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_store
);
7181 proto_tree_add_item(subtree
, hf_lbmc_ume_store_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_STORE_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7182 proto_tree_add_item(subtree
, hf_lbmc_ume_store_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_STORE_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7183 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_HDR_T_FLAGS
, hf_lbmc_ume_store_flags
, ett_lbmc_ume_store_flags
, flags
, ENC_BIG_ENDIAN
);
7184 proto_tree_add_item(subtree
, hf_lbmc_ume_store_grp_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_HDR_T_GRP_IDX
, L_LBMC_CNTL_UME_STORE_HDR_T_GRP_IDX
, ENC_BIG_ENDIAN
);
7185 proto_tree_add_item(subtree
, hf_lbmc_ume_store_store_tcp_port
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_HDR_T_STORE_TCP_PORT
, L_LBMC_CNTL_UME_STORE_HDR_T_STORE_TCP_PORT
, ENC_BIG_ENDIAN
);
7186 proto_tree_add_item(subtree
, hf_lbmc_ume_store_store_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_HDR_T_STORE_IDX
, L_LBMC_CNTL_UME_STORE_HDR_T_STORE_IDX
, ENC_BIG_ENDIAN
);
7187 proto_tree_add_item(subtree
, hf_lbmc_ume_store_store_ip_addr
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_HDR_T_STORE_IP_ADDR
, L_LBMC_CNTL_UME_STORE_HDR_T_STORE_IP_ADDR
, ENC_BIG_ENDIAN
);
7188 proto_tree_add_item(subtree
, hf_lbmc_ume_store_src_reg_id
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_HDR_T_SRC_REG_ID
, L_LBMC_CNTL_UME_STORE_HDR_T_SRC_REG_ID
, ENC_BIG_ENDIAN
);
7189 return (L_LBMC_CNTL_UME_STORE_HDR_T
);
7192 static int dissect_nhdr_ume_lj_info(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7194 proto_item
* subtree_item
= NULL
;
7195 proto_tree
* subtree
= NULL
;
7196 static int * const flags
[] =
7198 &hf_lbmc_ume_lj_info_flags_ignore
,
7202 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_lj_info
, tvb
, offset
, L_LBMC_CNTL_UME_LJ_INFO_HDR_T
, ENC_NA
);
7203 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_lj_info
);
7204 proto_tree_add_item(subtree
, hf_lbmc_ume_lj_info_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_LJ_INFO_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_LJ_INFO_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7205 proto_tree_add_item(subtree
, hf_lbmc_ume_lj_info_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_LJ_INFO_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_LJ_INFO_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7206 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_LJ_INFO_HDR_T_FLAGS
, hf_lbmc_ume_lj_info_flags
, ett_lbmc_ume_lj_info_flags
, flags
, ENC_BIG_ENDIAN
);
7207 proto_tree_add_item(subtree
, hf_lbmc_ume_lj_info_low_seqnum
, tvb
, offset
+ O_LBMC_CNTL_UME_LJ_INFO_HDR_T_LOW_SEQNUM
, L_LBMC_CNTL_UME_LJ_INFO_HDR_T_LOW_SEQNUM
, ENC_BIG_ENDIAN
);
7208 proto_tree_add_item(subtree
, hf_lbmc_ume_lj_info_high_seqnum
, tvb
, offset
+ O_LBMC_CNTL_UME_LJ_INFO_HDR_T_HIGH_SEQNUM
, L_LBMC_CNTL_UME_LJ_INFO_HDR_T_HIGH_SEQNUM
, ENC_BIG_ENDIAN
);
7209 proto_tree_add_item(subtree
, hf_lbmc_ume_lj_info_qidx
, tvb
, offset
+ O_LBMC_CNTL_UME_LJ_INFO_HDR_T_QIDX
, L_LBMC_CNTL_UME_LJ_INFO_HDR_T_QIDX
, ENC_BIG_ENDIAN
);
7210 return (L_LBMC_CNTL_UME_LJ_INFO_HDR_T
);
7213 static int dissect_nhdr_tsni_rec(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
7215 proto_item
* subtree_item
= NULL
;
7216 proto_tree
* subtree
= NULL
;
7217 proto_item
* sqn_item
= NULL
;
7220 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_tsni_rec
, tvb
, offset
, L_LBMC_CNTL_TSNI_REC_HDR_T
, ENC_NA
);
7221 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_tsni_rec
);
7222 proto_tree_add_item(subtree
, hf_lbmc_tsni_rec_tidx
, tvb
, offset
+ O_LBMC_CNTL_TSNI_REC_HDR_T_TIDX
, L_LBMC_CNTL_TSNI_REC_HDR_T_TIDX
, ENC_BIG_ENDIAN
);
7223 sqn_item
= proto_tree_add_item(subtree
, hf_lbmc_tsni_rec_sqn
, tvb
, offset
+ O_LBMC_CNTL_TSNI_REC_HDR_T_SQN
, L_LBMC_CNTL_TSNI_REC_HDR_T_SQN
, ENC_BIG_ENDIAN
);
7224 sqn
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_CNTL_TSNI_REC_HDR_T_SQN
);
7225 expert_add_info_format(pinfo
, sqn_item
, &ei_lbmc_analysis_tsni
, "TSNI Sqn 0x%08x", sqn
);
7226 return (L_LBMC_CNTL_TSNI_REC_HDR_T
);
7229 static int dissect_nhdr_tsni(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
7231 proto_item
* subtree_item
= NULL
;
7232 proto_tree
* subtree
= NULL
;
7234 uint8_t hdrlen_remaining
;
7236 int len_dissected
= 0;
7238 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_TSNI_HDR_T_HDR_LEN
);
7239 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_tsni
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
7240 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_tsni
);
7241 proto_tree_add_item(subtree
, hf_lbmc_tsni_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_TSNI_HDR_T_NEXT_HDR
, L_LBMC_CNTL_TSNI_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7242 proto_tree_add_item(subtree
, hf_lbmc_tsni_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_TSNI_HDR_T_HDR_LEN
, L_LBMC_CNTL_TSNI_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7243 proto_tree_add_item(subtree
, hf_lbmc_tsni_ignore
, tvb
, offset
+ O_LBMC_CNTL_TSNI_HDR_T_NUM_RECS
, L_LBMC_CNTL_TSNI_HDR_T_NUM_RECS
, ENC_BIG_ENDIAN
);
7244 proto_tree_add_item(subtree
, hf_lbmc_tsni_num_recs
, tvb
, offset
+ O_LBMC_CNTL_TSNI_HDR_T_NUM_RECS
, L_LBMC_CNTL_TSNI_HDR_T_NUM_RECS
, ENC_BIG_ENDIAN
);
7245 len_dissected
= L_LBMC_CNTL_TSNI_HDR_T
;
7246 hdrlen_remaining
= hdrlen
- L_LBMC_CNTL_TSNI_HDR_T
;
7247 rec_offset
= L_LBMC_CNTL_TSNI_HDR_T
;
7248 while (hdrlen_remaining
>= L_LBMC_CNTL_TSNI_REC_HDR_T
)
7252 reclen
= dissect_nhdr_tsni_rec(tvb
, offset
+ rec_offset
, pinfo
, subtree
);
7253 hdrlen_remaining
-= reclen
;
7254 rec_offset
+= reclen
;
7255 len_dissected
+= reclen
;
7257 proto_item_set_len(subtree_item
, len_dissected
);
7258 return (len_dissected
);
7261 static int dissect_nhdr_umq_reg_ctx(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7263 proto_item
* subtree_item
= NULL
;
7264 proto_tree
* subtree
= NULL
;
7266 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_reg_ctx
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_CTX_HDR_T
, ENC_NA
);
7267 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_reg_ctx
);
7268 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ctx_port
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_CTX_HDR_T_PORT
, L_LBMC_CNTL_UMQ_REG_CTX_HDR_T_PORT
, ENC_BIG_ENDIAN
);
7269 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ctx_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_CTX_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_REG_CTX_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7270 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ctx_ip
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_CTX_HDR_T_IP
, L_LBMC_CNTL_UMQ_REG_CTX_HDR_T_IP
, ENC_BIG_ENDIAN
);
7271 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ctx_capabilities
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_CTX_HDR_T_CAPABILITIES
, L_LBMC_CNTL_UMQ_REG_CTX_HDR_T_CAPABILITIES
, ENC_BIG_ENDIAN
);
7272 return (L_LBMC_CNTL_UMQ_REG_CTX_HDR_T
);
7275 static int dissect_nhdr_umq_reg_src(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7277 proto_item
* subtree_item
= NULL
;
7278 proto_tree
* subtree
= NULL
;
7280 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_reg_src
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_SRC_HDR_T
, ENC_NA
);
7281 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_reg_src
);
7282 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_src_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_SRC_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_UMQ_REG_SRC_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
7283 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_src_topic_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_SRC_HDR_T_TOPIC_IDX
, L_LBMC_CNTL_UMQ_REG_SRC_HDR_T_TOPIC_IDX
, ENC_BIG_ENDIAN
);
7284 return (L_LBMC_CNTL_UMQ_REG_SRC_HDR_T
);
7287 static int dissect_nhdr_umq_reg_rcv(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7289 proto_item
* subtree_item
= NULL
;
7290 proto_tree
* subtree
= NULL
;
7292 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_reg_rcv
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_RCV_HDR_T
, ENC_NA
);
7293 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_reg_rcv
);
7294 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_rcv_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RCV_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_REG_RCV_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7295 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_rcv_rcv_type_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RCV_HDR_T_RCV_TYPE_ID
, L_LBMC_CNTL_UMQ_REG_RCV_HDR_T_RCV_TYPE_ID
, ENC_BIG_ENDIAN
);
7296 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_rcv_last_topic_rcr_tsp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RCV_HDR_T_LAST_TOPIC_RCR_TSP
, L_LBMC_CNTL_UMQ_REG_RCV_HDR_T_LAST_TOPIC_RCR_TSP
, ENC_BIG_ENDIAN
);
7297 return (L_LBMC_CNTL_UMQ_REG_RCV_HDR_T
);
7300 static int dissect_nhdr_umq_rcv_dereg(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7302 proto_item
* subtree_item
= NULL
;
7303 proto_tree
* subtree
= NULL
;
7305 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_rcv_dereg
, tvb
, offset
, L_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T
, ENC_NA
);
7306 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_rcv_dereg
);
7307 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_rcv_dereg_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
7308 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_rcv_dereg_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7309 return (L_LBMC_CNTL_UMQ_RCV_DEREG_HDR_T
);
7312 static int dissect_nhdr_umq_reg_ulb_rcv(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7314 proto_item
* subtree_item
= NULL
;
7315 proto_tree
* subtree
= NULL
;
7317 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_reg_ulb_rcv
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T
, ENC_NA
);
7318 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_reg_ulb_rcv
);
7319 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ulb_rcv_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
7320 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ulb_rcv_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7321 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ulb_rcv_rcv_type_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_RCV_TYPE_ID
, L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_RCV_TYPE_ID
, ENC_BIG_ENDIAN
);
7322 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ulb_rcv_port
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_PORT
, L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_PORT
, ENC_BIG_ENDIAN
);
7323 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ulb_rcv_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7324 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ulb_rcv_ip
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_IP
, L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_IP
, ENC_BIG_ENDIAN
);
7325 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_ulb_rcv_capabilities
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_CAPABILITIES
, L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T_CAPABILITIES
, ENC_BIG_ENDIAN
);
7326 return (L_LBMC_CNTL_UMQ_REG_ULB_RCV_HDR_T
);
7329 static int dissect_nhdr_umq_ulb_rcv_dereg(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7331 proto_item
* subtree_item
= NULL
;
7332 proto_tree
* subtree
= NULL
;
7334 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_ulb_rcv_dereg
, tvb
, offset
, L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T
, ENC_NA
);
7335 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_ulb_rcv_dereg
);
7336 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_ulb_rcv_dereg_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
7337 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_ulb_rcv_dereg_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7338 return (L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_HDR_T
);
7341 static int dissect_nhdr_umq_reg_observer_rcv(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7343 proto_item
* subtree_item
= NULL
;
7344 proto_tree
* subtree
= NULL
;
7346 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_reg_observer_rcv
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T
, ENC_NA
);
7347 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_reg_observer_rcv
);
7348 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_observer_rcv_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7349 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_observer_rcv_rcv_type_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_RCV_TYPE_ID
, L_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_RCV_TYPE_ID
, ENC_BIG_ENDIAN
);
7350 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_observer_rcv_last_topic_rcr_tsp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_LAST_TOPIC_RCR_TSP
, L_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T_LAST_TOPIC_RCR_TSP
, ENC_BIG_ENDIAN
);
7351 return (L_LBMC_CNTL_UMQ_REG_OBSERVER_RCV_HDR_T
);
7354 static int dissect_nhdr_umq_observer_rcv_dereg(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7356 proto_item
* subtree_item
= NULL
;
7357 proto_tree
* subtree
= NULL
;
7359 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_observer_rcv_dereg
, tvb
, offset
, L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T
, ENC_NA
);
7360 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_observer_rcv_dereg
);
7361 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_observer_rcv_dereg_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
7362 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_observer_rcv_dereg_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7363 return (L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_HDR_T
);
7366 static int dissect_nhdr_umq_reg(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
7368 proto_item
* subtree_item
= NULL
;
7369 proto_tree
* subtree
= NULL
;
7371 uint8_t reg_type
= 0;
7372 int len_dissected
= 0;
7374 proto_item
* reg_type_item
= NULL
;
7375 static int * const flags
[] =
7377 &hf_lbmc_umq_reg_flags_ignore
,
7378 &hf_lbmc_umq_reg_flags_r_flag
,
7379 &hf_lbmc_umq_reg_flags_t_flag
,
7380 &hf_lbmc_umq_reg_flags_i_flag
,
7381 &hf_lbmc_umq_reg_flags_msg_sel_flag
,
7385 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_HDR_T_HDR_LEN
);
7386 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
7387 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg
);
7388 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_REG_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7389 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_REG_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7390 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_HDR_T_FLAGS
, hf_lbmc_umq_reg_flags
, ett_lbmc_umq_reg_flags
, flags
, ENC_BIG_ENDIAN
);
7391 reg_type_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_reg_reg_type
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_HDR_T_REG_TYPE
, L_LBMC_CNTL_UMQ_REG_HDR_T_REG_TYPE
, ENC_BIG_ENDIAN
);
7392 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_queue_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_HDR_T_QUEUE_ID
, L_LBMC_CNTL_UMQ_REG_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
7393 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_cmd_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_HDR_T_CMD_ID
, L_LBMC_CNTL_UMQ_REG_HDR_T_CMD_ID
, ENC_BIG_ENDIAN
);
7394 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_inst_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_HDR_T_INST_IDX
, L_LBMC_CNTL_UMQ_REG_HDR_T_INST_IDX
, ENC_BIG_ENDIAN
);
7395 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_HDR_T_REGID
, L_LBMC_CNTL_UMQ_REG_HDR_T_REGID
, ENC_BIG_ENDIAN
);
7397 len_dissected
= L_LBMC_CNTL_UMQ_REG_HDR_T
;
7398 reg_type
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_HDR_T_REG_TYPE
);
7401 case LBMC_UMQ_REG_CTX_TYPE
:
7402 len
= dissect_nhdr_umq_reg_ctx(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7404 case LBMC_UMQ_REG_SRC_TYPE
:
7405 len
= dissect_nhdr_umq_reg_src(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7407 case LBMC_UMQ_REG_RCV_TYPE
:
7408 len
= dissect_nhdr_umq_reg_rcv(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7410 case LBMC_UMQ_REG_RCV_DEREG_TYPE
:
7411 len
= dissect_nhdr_umq_rcv_dereg(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7413 case LBMC_UMQ_REG_ULB_RCV_TYPE
:
7414 len
= dissect_nhdr_umq_reg_ulb_rcv(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7416 case LBMC_UMQ_REG_ULB_RCV_DEREG_TYPE
:
7417 len
= dissect_nhdr_umq_ulb_rcv_dereg(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7419 case LBMC_UMQ_REG_OBSERVER_RCV_TYPE
:
7420 len
= dissect_nhdr_umq_reg_observer_rcv(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7422 case LBMC_UMQ_REG_OBSERVER_RCV_DEREG_TYPE
:
7423 len
= dissect_nhdr_umq_observer_rcv_dereg(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7426 expert_add_info_format(pinfo
, reg_type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC UMQ REG type 0x%02x", reg_type
);
7430 len_dissected
+= len
;
7431 proto_item_set_len(subtree_item
, len_dissected
);
7432 return (len_dissected
);
7435 static int dissect_nhdr_umq_reg_resp_ctx(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7437 proto_item
* subtree_item
= NULL
;
7438 proto_tree
* subtree
= NULL
;
7440 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp_reg_ctx
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_RESP_CTX_HDR_T
, ENC_NA
);
7441 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp_reg_ctx
);
7442 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_ctx_capabilities
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_CTX_HDR_T_CAPABILITIES
, L_LBMC_CNTL_UMQ_REG_RESP_CTX_HDR_T_CAPABILITIES
, ENC_BIG_ENDIAN
);
7443 return (L_LBMC_CNTL_UMQ_REG_RESP_CTX_HDR_T
);
7446 static int dissect_nhdr_umq_reg_resp_ctx_ex(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7448 proto_item
* subtree_item
= NULL
;
7449 proto_tree
* subtree
= NULL
;
7450 static int * const flags
[] =
7452 &hf_lbmc_umq_reg_resp_reg_ctx_ex_flags_firstmsg
,
7456 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp_reg_ctx_ex
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T
, ENC_NA
);
7457 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp_reg_ctx_ex
);
7458 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_ctx_ex_capabilities
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_CAPABILITIES
, L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_CAPABILITIES
, ENC_BIG_ENDIAN
);
7459 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_ctx_ex_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7460 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_FLAGS
, hf_lbmc_umq_reg_resp_reg_ctx_ex_flags
, ett_lbmc_umq_reg_resp_reg_ctx_ex_flags
, flags
, ENC_BIG_ENDIAN
);
7461 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_ctx_ex_stamp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_STAMP
, L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_STAMP
, ENC_BIG_ENDIAN
);
7462 return (L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T
);
7465 static int dissect_nhdr_umq_reg_resp_err(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7467 proto_item
* subtree_item
= NULL
;
7468 proto_tree
* subtree
= NULL
;
7470 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp_err
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T
, ENC_NA
);
7471 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp_err
);
7472 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_err_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7473 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_err_code
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T_CODE
, L_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T_CODE
, ENC_BIG_ENDIAN
);
7474 return (L_LBMC_CNTL_UMQ_REG_RESP_ERR_HDR_T
);
7477 static int dissect_nhdr_umq_reg_resp_src(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7479 proto_item
* subtree_item
= NULL
;
7480 proto_tree
* subtree
= NULL
;
7482 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp_reg_src
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_RESP_SRC_HDR_T
, ENC_NA
);
7483 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp_reg_src
);
7484 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_src_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_SRC_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_REG_RESP_SRC_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
7485 return (L_LBMC_CNTL_UMQ_REG_RESP_SRC_HDR_T
);
7488 static int dissect_nhdr_umq_reg_resp_rcv(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7490 proto_item
* subtree_item
= NULL
;
7491 proto_tree
* subtree
= NULL
;
7493 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp_reg_rcv
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T
, ENC_NA
);
7494 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp_reg_rcv
);
7495 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_rcv_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
7496 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_rcv_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7497 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_rcv_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
7498 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_rcv_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7499 return (L_LBMC_CNTL_UMQ_REG_RESP_RCV_HDR_T
);
7502 static int dissect_nhdr_umq_rcv_dereg_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7504 proto_item
* subtree_item
= NULL
;
7505 proto_tree
* subtree
= NULL
;
7507 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp_rcv_dereg
, tvb
, offset
, L_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T
, ENC_NA
);
7508 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp_rcv_dereg
);
7509 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_rcv_dereg_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
7510 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_rcv_dereg_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7511 return (L_LBMC_CNTL_UMQ_RCV_DEREG_RESP_HDR_T
);
7514 static int dissect_nhdr_umq_reg_resp_ulb_rcv(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7516 proto_item
* subtree_item
= NULL
;
7517 proto_tree
* subtree
= NULL
;
7519 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp_reg_ulb_rcv
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T
, ENC_NA
);
7520 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp_reg_ulb_rcv
);
7521 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_ulb_rcv_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
7522 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_ulb_rcv_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7523 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_ulb_rcv_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
7524 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_ulb_rcv_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7525 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_ulb_rcv_capabilities
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_CAPABILITIES
, L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T_CAPABILITIES
, ENC_BIG_ENDIAN
);
7526 return (L_LBMC_CNTL_UMQ_REG_RESP_ULB_RCV_HDR_T
);
7529 static int dissect_nhdr_umq_ulb_rcv_dereg_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7531 proto_item
* subtree_item
= NULL
;
7532 proto_tree
* subtree
= NULL
;
7534 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp_ulb_rcv_dereg
, tvb
, offset
, L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T
, ENC_NA
);
7535 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp_ulb_rcv_dereg
);
7536 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_ulb_rcv_dereg_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
7537 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_ulb_rcv_dereg_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7538 return (L_LBMC_CNTL_UMQ_ULB_RCV_DEREG_RESP_HDR_T
);
7541 static int dissect_nhdr_umq_reg_resp_observer_rcv(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7543 proto_item
* subtree_item
= NULL
;
7544 proto_tree
* subtree
= NULL
;
7546 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp_reg_observer_rcv
, tvb
, offset
, L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T
, ENC_NA
);
7547 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp_reg_observer_rcv
);
7548 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_observer_rcv_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
7549 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_observer_rcv_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7550 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_observer_rcv_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
7551 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_reg_observer_rcv_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7552 return (L_LBMC_CNTL_UMQ_REG_RESP_OBSERVER_RCV_HDR_T
);
7555 static int dissect_nhdr_umq_observer_rcv_dereg_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7557 proto_item
* subtree_item
= NULL
;
7558 proto_tree
* subtree
= NULL
;
7560 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp_observer_rcv_dereg
, tvb
, offset
, L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T
, ENC_NA
);
7561 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp_observer_rcv_dereg
);
7562 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_observer_rcv_dereg_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
7563 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_observer_rcv_dereg_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7564 return (L_LBMC_CNTL_UMQ_OBSERVER_RCV_DEREG_RESP_HDR_T
);
7567 static int dissect_nhdr_umq_reg_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
7569 proto_item
* subtree_item
= NULL
;
7570 proto_tree
* subtree
= NULL
;
7572 uint8_t resp_type
= 0;
7573 int len_dissected
= 0;
7574 static int * const flags
[] =
7576 &hf_lbmc_umq_reg_resp_flags_ignore
,
7577 &hf_lbmc_umq_reg_resp_flags_r_flag
,
7580 static int * const flags_err
[] =
7582 &hf_lbmc_umq_reg_resp_flags_ignore
,
7583 &hf_lbmc_umq_reg_resp_flags_r_flag
,
7584 &hf_lbmc_umq_reg_resp_flags_l_flag
,
7587 static int * const flags_src
[] =
7589 &hf_lbmc_umq_reg_resp_flags_ignore
,
7590 &hf_lbmc_umq_reg_resp_flags_r_flag
,
7591 &hf_lbmc_umq_reg_resp_flags_src_s_flag
,
7592 &hf_lbmc_umq_reg_resp_flags_src_d_flag
,
7597 proto_item
* resp_type_item
= NULL
;
7599 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_HDR_LEN
);
7600 resp_type
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_REG_RESP_TYPE
);
7601 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_reg_resp
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
7602 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_reg_resp
);
7603 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7604 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7607 case LBMC_UMQ_REG_RESP_CTX_TYPE
:
7608 case LBMC_UMQ_REG_RESP_CTX_EX_TYPE
:
7609 case LBMC_UMQ_REG_RESP_RCV_TYPE
:
7610 case LBMC_UMQ_REG_RESP_OBSERVER_RCV_TYPE
:
7611 case LBMC_UMQ_REG_RESP_RCV_DEREG_TYPE
:
7612 case LBMC_UMQ_REG_RESP_OBSERVER_RCV_DEREG_TYPE
:
7613 case LBMC_UMQ_REG_RESP_ULB_RCV_TYPE
:
7614 case LBMC_UMQ_REG_RESP_ULB_RCV_DEREG_TYPE
:
7616 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_FLAGS
, hf_lbmc_umq_reg_resp_flags
, ett_lbmc_umq_reg_resp_flags
, flags
, ENC_BIG_ENDIAN
);
7618 case LBMC_UMQ_REG_RESP_ERR_TYPE
:
7619 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_FLAGS
, hf_lbmc_umq_reg_resp_flags
, ett_lbmc_umq_reg_resp_flags
, flags_err
, ENC_BIG_ENDIAN
);
7621 case LBMC_UMQ_REG_RESP_SRC_TYPE
:
7622 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_FLAGS
, hf_lbmc_umq_reg_resp_flags
, ett_lbmc_umq_reg_resp_flags
, flags_src
, ENC_BIG_ENDIAN
);
7625 resp_type_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_resp_type
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_REG_RESP_TYPE
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_REG_RESP_TYPE
, ENC_BIG_ENDIAN
);
7626 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_queue_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_QUEUE_ID
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
7627 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_cmd_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_CMD_ID
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_CMD_ID
, ENC_BIG_ENDIAN
);
7628 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_inst_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_INST_IDX
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_INST_IDX
, ENC_BIG_ENDIAN
);
7629 proto_tree_add_item(subtree
, hf_lbmc_umq_reg_resp_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_REG_RESP_HDR_T_REG_RESPID
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_REG_RESPID
, ENC_BIG_ENDIAN
);
7630 len_dissected
= L_LBMC_CNTL_UMQ_REG_RESP_HDR_T
;
7633 case LBMC_UMQ_REG_RESP_CTX_TYPE
:
7634 len
= dissect_nhdr_umq_reg_resp_ctx(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7636 case LBMC_UMQ_REG_RESP_CTX_EX_TYPE
:
7637 len
= dissect_nhdr_umq_reg_resp_ctx_ex(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7639 case LBMC_UMQ_REG_RESP_ERR_TYPE
:
7640 len
= dissect_nhdr_umq_reg_resp_err(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7642 case LBMC_UMQ_REG_RESP_SRC_TYPE
:
7643 len
= dissect_nhdr_umq_reg_resp_src(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7645 case LBMC_UMQ_REG_RESP_RCV_TYPE
:
7646 len
= dissect_nhdr_umq_reg_resp_rcv(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7648 case LBMC_UMQ_REG_RESP_RCV_DEREG_TYPE
:
7649 len
= dissect_nhdr_umq_rcv_dereg_resp(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7651 case LBMC_UMQ_REG_RESP_ULB_RCV_TYPE
:
7652 len
= dissect_nhdr_umq_reg_resp_ulb_rcv(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7654 case LBMC_UMQ_REG_RESP_ULB_RCV_DEREG_TYPE
:
7655 len
= dissect_nhdr_umq_ulb_rcv_dereg_resp(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7657 case LBMC_UMQ_REG_RESP_OBSERVER_RCV_TYPE
:
7658 len
= dissect_nhdr_umq_reg_resp_observer_rcv(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7660 case LBMC_UMQ_REG_RESP_OBSERVER_RCV_DEREG_TYPE
:
7661 len
= dissect_nhdr_umq_observer_rcv_dereg_resp(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7664 expert_add_info_format(pinfo
, resp_type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC UMQ REG RESP type 0x%02x", resp_type
);
7668 len_dissected
+= len
;
7669 proto_item_set_len(subtree_item
, len_dissected
);
7670 return (len_dissected
);
7673 static int dissect_nhdr_umq_ack_msgid(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7675 proto_item
* subtree_item
= NULL
;
7676 proto_tree
* subtree
= NULL
;
7678 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ack_msgid
, tvb
, offset
, L_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T
, ENC_NA
);
7679 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ack_msgid
);
7680 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_msgid_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T_REGID
, L_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T_REGID
, ENC_BIG_ENDIAN
);
7681 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_msgid_stamp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T_STAMP
, L_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T_STAMP
, ENC_BIG_ENDIAN
);
7682 return (L_LBMC_CNTL_UMQ_ACK_MSGID_HDR_T
);
7685 static int dissect_nhdr_umq_ack_stable(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7687 proto_item
* subtree_item
= NULL
;
7688 proto_tree
* subtree
= NULL
;
7690 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ack_stable
, tvb
, offset
, L_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T
, ENC_NA
);
7691 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ack_stable
);
7692 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_stable_queue_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_QUEUE_ID
, L_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
7693 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_stable_inst_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_INST_IDX
, L_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_INST_IDX
, ENC_BIG_ENDIAN
);
7694 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_stable_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7695 return (L_LBMC_CNTL_UMQ_ACK_STABLE_HDR_T
);
7698 static int dissect_nhdr_umq_ack_cr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7700 proto_item
* subtree_item
= NULL
;
7701 proto_tree
* subtree
= NULL
;
7703 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ack_cr
, tvb
, offset
, L_LBMC_CNTL_UMQ_ACK_CR_HDR_T
, ENC_NA
);
7704 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ack_cr
);
7705 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_cr_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_CR_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_ACK_CR_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
7706 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_cr_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_CR_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_ACK_CR_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7707 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_cr_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_CR_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_ACK_CR_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
7708 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_cr_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_CR_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_ACK_CR_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7709 return (L_LBMC_CNTL_UMQ_ACK_CR_HDR_T
);
7712 static int dissect_nhdr_umq_ack_ulb_cr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7714 proto_item
* subtree_item
= NULL
;
7715 proto_tree
* subtree
= NULL
;
7717 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ack_ulb_cr
, tvb
, offset
, L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T
, ENC_NA
);
7718 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ack_ulb_cr
);
7719 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_ulb_cr_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
7720 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_ulb_cr_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7721 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_ulb_cr_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
7722 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_ulb_cr_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7723 return (L_LBMC_CNTL_UMQ_ACK_ULB_CR_HDR_T
);
7726 static int dissect_nhdr_umq_ack(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
7728 proto_item
* subtree_item
= NULL
;
7729 proto_tree
* subtree
= NULL
;
7731 uint8_t ack_type
= 0;
7732 uint8_t num_ids
= 0;
7734 int len_dissected
= 0;
7736 static int * const msgs
[] =
7738 &hf_lbmc_umq_ack_msgs_ignore
,
7739 &hf_lbmc_umq_ack_msgs_t_flag
,
7740 &hf_lbmc_umq_ack_msgs_d_flag
,
7745 proto_item
* ack_type_item
= NULL
;
7747 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_HDR_T_HDR_LEN
);
7748 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ack
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
7749 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ack
);
7750 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_ACK_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7751 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_ACK_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7752 msg_count
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_HDR_T_MSGS
);
7753 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_HDR_T_MSGS
, hf_lbmc_umq_ack_msgs
, ett_lbmc_umq_ack_msgs
, msgs
, ENC_BIG_ENDIAN
);
7754 proto_tree_add_item(subtree
, hf_lbmc_umq_ack_numids
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_HDR_T_MSGS
, L_LBMC_CNTL_UMQ_ACK_HDR_T_MSGS
, ENC_BIG_ENDIAN
);
7755 ack_type_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_ack_ack_type
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_HDR_T_ACK_TYPE
, L_LBMC_CNTL_UMQ_ACK_HDR_T_ACK_TYPE
, ENC_BIG_ENDIAN
);
7756 packet_len
= tvb_reported_length_remaining(tvb
, offset
);
7757 len_dissected
= L_LBMC_CNTL_UMQ_ACK_HDR_T
;
7758 num_ids
= msg_count
& LBMC_UMQ_ACK_NUMIDS_MASK
;
7759 for (idx
= 0; (idx
< num_ids
) && (len_dissected
< packet_len
); idx
++)
7761 len
= dissect_nhdr_umq_ack_msgid(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7762 len_dissected
+= len
;
7764 ack_type
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_ACK_HDR_T_ACK_TYPE
);
7767 case LBMC_UMQ_ACK_STABLE_TYPE
:
7768 len
= dissect_nhdr_umq_ack_stable(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7770 case LBMC_UMQ_ACK_CR_TYPE
:
7771 len
= dissect_nhdr_umq_ack_cr(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7773 case LBMC_UMQ_ACK_ULB_CR_TYPE
:
7774 len
= dissect_nhdr_umq_ack_ulb_cr(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7777 expert_add_info_format(pinfo
, ack_type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC UMQ ACK type 0x%02x", ack_type
);
7781 len_dissected
+= len
;
7782 proto_item_set_len(subtree_item
, len_dissected
);
7783 return (len_dissected
);
7786 static int dissect_nhdr_umq_rcr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7788 proto_item
* subtree_item
= NULL
;
7789 proto_tree
* subtree
= NULL
;
7790 static int * const flags
[] =
7792 &hf_lbmc_umq_rcr_flags_ignore
,
7793 &hf_lbmc_umq_rcr_flags_r_flag
,
7794 &hf_lbmc_umq_rcr_flags_d_flag
,
7795 &hf_lbmc_umq_rcr_flags_s_flag
,
7796 &hf_lbmc_umq_rcr_flags_eoi_flag
,
7797 &hf_lbmc_umq_rcr_flags_boi_flag
,
7801 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rcr
, tvb
, offset
, L_LBMC_CNTL_UMQ_RCR_HDR_T
, ENC_NA
);
7802 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rcr
);
7803 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_RCR_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7804 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_RCR_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7805 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_FLAGS
, hf_lbmc_umq_rcr_flags
, ett_lbmc_umq_rcr_flags
, flags
, ENC_BIG_ENDIAN
);
7806 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_queue_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_QUEUE_ID
, L_LBMC_CNTL_UMQ_RCR_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
7807 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_RCR_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
7808 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_msgid_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_MSGID_REGID
, L_LBMC_CNTL_UMQ_RCR_HDR_T_MSGID_REGID
, ENC_BIG_ENDIAN
);
7809 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_msgid_stamp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_MSGID_STAMP
, L_LBMC_CNTL_UMQ_RCR_HDR_T_MSGID_STAMP
, ENC_BIG_ENDIAN
);
7810 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_topic_tsp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_TOPIC_TSP
, L_LBMC_CNTL_UMQ_RCR_HDR_T_TOPIC_TSP
, ENC_BIG_ENDIAN
);
7811 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_q_tsp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_Q_TSP
, L_LBMC_CNTL_UMQ_RCR_HDR_T_Q_TSP
, ENC_BIG_ENDIAN
);
7812 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RCR_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7813 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_RCR_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
7814 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_num_ras
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_NUM_RAS
, L_LBMC_CNTL_UMQ_RCR_HDR_T_NUM_RAS
, ENC_BIG_ENDIAN
);
7815 proto_tree_add_item(subtree
, hf_lbmc_umq_rcr_queue_ver
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCR_HDR_T_QUEUE_VER
, L_LBMC_CNTL_UMQ_RCR_HDR_T_QUEUE_VER
, ENC_BIG_ENDIAN
);
7816 return (L_LBMC_CNTL_UMQ_RCR_HDR_T
);
7819 static int dissect_nhdr_umq_ka_src(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7821 proto_item
* subtree_item
= NULL
;
7822 proto_tree
* subtree
= NULL
;
7824 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ka_src
, tvb
, offset
, L_LBMC_CNTL_UMQ_KA_SRC_HDR_T
, ENC_NA
);
7825 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ka_src
);
7826 proto_tree_add_item(subtree
, hf_lbmc_umq_ka_src_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_SRC_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_UMQ_KA_SRC_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
7827 proto_tree_add_item(subtree
, hf_lbmc_umq_ka_src_topic_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_SRC_HDR_T_TOPIC_IDX
, L_LBMC_CNTL_UMQ_KA_SRC_HDR_T_TOPIC_IDX
, ENC_BIG_ENDIAN
);
7828 return (L_LBMC_CNTL_UMQ_KA_SRC_HDR_T
);
7831 static int dissect_nhdr_umq_ka_rcv(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7833 proto_item
* subtree_item
= NULL
;
7834 proto_tree
* subtree
= NULL
;
7836 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ka_rcv
, tvb
, offset
, L_LBMC_CNTL_UMQ_KA_RCV_HDR_T
, ENC_NA
);
7837 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ka_rcv
);
7838 proto_tree_add_item(subtree
, hf_lbmc_umq_ka_rcv_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_RCV_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_KA_RCV_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
7839 proto_tree_add_item(subtree
, hf_lbmc_umq_ka_rcv_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_RCV_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_KA_RCV_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7840 return (L_LBMC_CNTL_UMQ_KA_RCV_HDR_T
);
7843 static int dissect_nhdr_umq_ka_ulb_rcv(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7845 proto_item
* subtree_item
= NULL
;
7846 proto_tree
* subtree
= NULL
;
7848 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ka_ulb_rcv
, tvb
, offset
, L_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T
, ENC_NA
);
7849 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ka_ulb_rcv
);
7850 proto_tree_add_item(subtree
, hf_lbmc_umq_ka_ulb_rcv_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
7851 proto_tree_add_item(subtree
, hf_lbmc_umq_ka_ulb_rcv_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7852 return (L_LBMC_CNTL_UMQ_KA_ULB_RCV_HDR_T
);
7855 static int dissect_nhdr_umq_ka_ulb_rcv_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7857 proto_item
* subtree_item
= NULL
;
7858 proto_tree
* subtree
= NULL
;
7860 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ka_ulb_rcv_resp
, tvb
, offset
, L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T
, ENC_NA
);
7861 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ka_ulb_rcv_resp
);
7862 proto_tree_add_item(subtree
, hf_lbmc_umq_ka_ulb_rcv_resp_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
7863 proto_tree_add_item(subtree
, hf_lbmc_umq_ka_ulb_rcv_resp_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7864 proto_tree_add_item(subtree
, hf_lbmc_umq_ka_ulb_rcv_resp_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
7865 proto_tree_add_item(subtree
, hf_lbmc_umq_ka_ulb_rcv_resp_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7866 return (L_LBMC_CNTL_UMQ_KA_ULB_RCV_RESP_HDR_T
);
7869 static int dissect_nhdr_umq_ka(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
7871 proto_item
* subtree_item
= NULL
;
7872 proto_tree
* subtree
= NULL
;
7875 int len_dissected
= 0;
7877 proto_item
* ka_type_item
= NULL
;
7878 static int * const flags
[] =
7880 &hf_lbmc_cntl_umq_ka_flags_ignore
,
7881 &hf_lbmc_cntl_umq_ka_flags_r_flag
,
7885 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_HDR_T_HDR_LEN
);
7886 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_cntl_umq_ka
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
7887 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ka
);
7888 proto_tree_add_item(subtree
, hf_lbmc_cntl_umq_ka_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_KA_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
7889 proto_tree_add_item(subtree
, hf_lbmc_cntl_umq_ka_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_KA_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
7890 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_HDR_T_FLAGS
, hf_lbmc_cntl_umq_ka_flags
, ett_lbmc_umq_ka_flags
, flags
, ENC_BIG_ENDIAN
);
7891 ka_type_item
= proto_tree_add_item(subtree
, hf_lbmc_cntl_umq_ka_ka_type
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_HDR_T_KA_TYPE
, L_LBMC_CNTL_UMQ_KA_HDR_T_KA_TYPE
, ENC_BIG_ENDIAN
);
7892 proto_tree_add_item(subtree
, hf_lbmc_cntl_umq_ka_queue_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_HDR_T_QUEUE_ID
, L_LBMC_CNTL_UMQ_KA_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
7893 proto_tree_add_item(subtree
, hf_lbmc_cntl_umq_ka_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_HDR_T_REGID
, L_LBMC_CNTL_UMQ_KA_HDR_T_REGID
, ENC_BIG_ENDIAN
);
7894 proto_tree_add_item(subtree
, hf_lbmc_cntl_umq_ka_inst_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_HDR_T_INST_IDX
, L_LBMC_CNTL_UMQ_KA_HDR_T_INST_IDX
, ENC_BIG_ENDIAN
);
7895 proto_tree_add_item(subtree
, hf_lbmc_cntl_umq_ka_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_KA_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7896 len_dissected
= L_LBMC_CNTL_UMQ_KA_HDR_T
;
7897 type
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_KA_HDR_T_KA_TYPE
);
7900 case LBMC_UMQ_KA_SRC_TYPE
:
7901 case LBMC_UMQ_KA_SRC_RESP_TYPE
:
7902 len
= dissect_nhdr_umq_ka_src(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7904 case LBMC_UMQ_KA_RCV_TYPE
:
7905 case LBMC_UMQ_KA_RCV_RESP_TYPE
:
7906 len
= dissect_nhdr_umq_ka_rcv(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7908 case LBMC_UMQ_KA_ULB_RCV_TYPE
:
7909 len
= dissect_nhdr_umq_ka_ulb_rcv(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7911 case LBMC_UMQ_KA_ULB_RCV_RESP_TYPE
:
7912 len
= dissect_nhdr_umq_ka_ulb_rcv_resp(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
7914 case LBMC_UMQ_KA_CTX_TYPE
:
7915 case LBMC_UMQ_KA_CTX_RESP_TYPE
:
7919 expert_add_info_format(pinfo
, ka_type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC UMQ KA type 0x%02x", type
);
7923 len_dissected
+= len
;
7924 proto_item_set_len(subtree_item
, len_dissected
);
7925 return (len_dissected
);
7928 static int dissect_nhdr_umq_rxreq_regid_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7930 proto_item
* subtree_item
= NULL
;
7931 proto_tree
* subtree
= NULL
;
7933 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rxreq_regid_resp
, tvb
, offset
, L_LBMC_CNTL_UMQ_RXREQ_REGID_RESP_HDR_T
, ENC_NA
);
7934 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rxreq_regid_resp
);
7935 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_regid_resp_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_REGID_RESP_HDR_T_REGID
, L_LBMC_CNTL_UMQ_RXREQ_REGID_RESP_HDR_T_REGID
, ENC_BIG_ENDIAN
);
7936 return (L_LBMC_CNTL_UMQ_RXREQ_REGID_RESP_HDR_T
);
7939 static int dissect_nhdr_umq_rxreq_addr_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7941 proto_item
* subtree_item
= NULL
;
7942 proto_tree
* subtree
= NULL
;
7944 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rxreq_addr_resp
, tvb
, offset
, L_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T
, ENC_NA
);
7945 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rxreq_addr_resp
);
7946 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_addr_resp_ip
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_IP
, L_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_IP
, ENC_BIG_ENDIAN
);
7947 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_addr_resp_port
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_PORT
, L_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_PORT
, ENC_BIG_ENDIAN
);
7948 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_addr_resp_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7949 return (L_LBMC_CNTL_UMQ_RXREQ_ADDR_RESP_HDR_T
);
7952 static int dissect_nhdr_umq_rxreq_mr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7954 proto_item
* subtree_item
= NULL
;
7955 proto_tree
* subtree
= NULL
;
7957 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rxreq_mr
, tvb
, offset
, L_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T
, ENC_NA
);
7958 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rxreq_mr
);
7959 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_mr_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7960 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_mr_msgid_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_MSGID_REGID
, L_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_MSGID_REGID
, ENC_BIG_ENDIAN
);
7961 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_mr_msgid_stamp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_MSGID_STAMP
, L_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T_MSGID_STAMP
, ENC_BIG_ENDIAN
);
7962 return (L_LBMC_CNTL_UMQ_RXREQ_MR_HDR_T
);
7965 static int dissect_nhdr_umq_rxreq_ulb_mr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7967 proto_item
* subtree_item
= NULL
;
7968 proto_tree
* subtree
= NULL
;
7970 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rxreq_ulb_mr
, tvb
, offset
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T
, ENC_NA
);
7971 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rxreq_ulb_mr
);
7972 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_mr_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
7973 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_mr_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7974 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_mr_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
7975 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_mr_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
7976 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_mr_msgid_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_MSGID_REGID
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_MSGID_REGID
, ENC_BIG_ENDIAN
);
7977 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_mr_msgid_stamp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_MSGID_STAMP
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T_MSGID_STAMP
, ENC_BIG_ENDIAN
);
7978 return (L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_HDR_T
);
7981 static int dissect_nhdr_umq_rxreq_ulb_mr_abort(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7983 proto_item
* subtree_item
= NULL
;
7984 proto_tree
* subtree
= NULL
;
7986 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rxreq_ulb_mr_abort
, tvb
, offset
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T
, ENC_NA
);
7987 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rxreq_ulb_mr_abort
);
7988 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_mr_abort_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
7989 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_mr_abort_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
7990 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_mr_abort_msgid_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_MSGID_REGID
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_MSGID_REGID
, ENC_BIG_ENDIAN
);
7991 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_mr_abort_msgid_stamp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_MSGID_STAMP
, L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T_MSGID_STAMP
, ENC_BIG_ENDIAN
);
7992 return (L_LBMC_CNTL_UMQ_RXREQ_ULB_MR_ABORT_HDR_T
);
7995 static int dissect_nhdr_umq_rxreq_qrcrr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
7997 proto_item
* subtree_item
= NULL
;
7998 proto_tree
* subtree
= NULL
;
8000 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rxreq_qrcrr
, tvb
, offset
, L_LBMC_CNTL_UMQ_RXREQ_QRCRR_HDR_T
, ENC_NA
);
8001 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rxreq_qrcrr
);
8002 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_qrcrr_tsp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_QRCRR_HDR_T_TSP
, L_LBMC_CNTL_UMQ_RXREQ_QRCRR_HDR_T_TSP
, ENC_BIG_ENDIAN
);
8003 return (L_LBMC_CNTL_UMQ_RXREQ_QRCRR_HDR_T
);
8006 static int dissect_nhdr_umq_rxreq_trcrr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8008 proto_item
* subtree_item
= NULL
;
8009 proto_tree
* subtree
= NULL
;
8011 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rxreq_trcrr
, tvb
, offset
, L_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T
, ENC_NA
);
8012 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rxreq_trcrr
);
8013 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_trcrr_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8014 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_trcrr_tsp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T_TSP
, L_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T_TSP
, ENC_BIG_ENDIAN
);
8015 return (L_LBMC_CNTL_UMQ_RXREQ_TRCRR_HDR_T
);
8018 static int dissect_nhdr_umq_rxreq_ulb_trcrr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8020 proto_item
* subtree_item
= NULL
;
8021 proto_tree
* subtree
= NULL
;
8023 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rxreq_ulb_trcrr
, tvb
, offset
, L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T
, ENC_NA
);
8024 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rxreq_ulb_trcrr
);
8025 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_trcrr_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
8026 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_trcrr_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8027 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_trcrr_tsp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_TSP
, L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T_TSP
, ENC_BIG_ENDIAN
);
8028 return (L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_HDR_T
);
8031 static int dissect_nhdr_umq_rxreq_ulb_trcrr_abort(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8033 proto_item
* subtree_item
= NULL
;
8034 proto_tree
* subtree
= NULL
;
8036 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rxreq_ulb_trcrr_abort
, tvb
, offset
, L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T
, ENC_NA
);
8037 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rxreq_ulb_trcrr_abort
);
8038 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_trcrr_abort_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
8039 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_trcrr_abort_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8040 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_ulb_trcrr_abort_tsp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_TSP
, L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T_TSP
, ENC_BIG_ENDIAN
);
8041 return (L_LBMC_CNTL_UMQ_RXREQ_ULB_TRCRR_ABORT_HDR_T
);
8044 static int dissect_nhdr_umq_rxreq(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
8046 proto_item
* subtree_item
= NULL
;
8047 proto_tree
* subtree
= NULL
;
8051 static int * const flags
[] =
8053 &hf_lbmc_umq_rxreq_flags_ignore
,
8054 &hf_lbmc_umq_rxreq_flags_r_flag
,
8057 int len_dissected
= 0;
8059 proto_item
* rxreq_type_item
= NULL
;
8061 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_HDR_T_HDR_LEN
);
8062 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_rxreq
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
8063 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_rxreq
);
8064 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_RXREQ_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8065 proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_RXREQ_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8066 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_HDR_T_FLAGS
, hf_lbmc_umq_rxreq_flags
, ett_lbmc_umq_rxreq_flags
, flags
, ENC_BIG_ENDIAN
);
8067 rxreq_type_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_rxreq_rxreq_type
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_HDR_T_RXREQ_TYPE
, L_LBMC_CNTL_UMQ_RXREQ_HDR_T_RXREQ_TYPE
, ENC_BIG_ENDIAN
);
8068 len_dissected
= L_LBMC_CNTL_UMQ_RXREQ_HDR_T
;
8069 flags_val
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_HDR_T_FLAGS
);
8070 if ((flags_val
& LBMC_UMQ_RXREQ_R_FLAG
) != 0)
8072 len
= dissect_nhdr_umq_rxreq_regid_resp(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
8076 len
= dissect_nhdr_umq_rxreq_addr_resp(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
8078 len_dissected
+= len
;
8079 type
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_RXREQ_HDR_T_RXREQ_TYPE
);
8082 case LBMC_UMQ_RXREQ_MR_TYPE
:
8083 len
= dissect_nhdr_umq_rxreq_mr(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
8085 case LBMC_UMQ_RXREQ_ULB_MR_TYPE
:
8086 len
= dissect_nhdr_umq_rxreq_ulb_mr(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
8088 case LBMC_UMQ_RXREQ_ULB_MR_ABORT_TYPE
:
8089 len
= dissect_nhdr_umq_rxreq_ulb_mr_abort(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
8091 case LBMC_UMQ_RXREQ_QRCRR_TYPE
:
8092 len
= dissect_nhdr_umq_rxreq_qrcrr(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
8094 case LBMC_UMQ_RXREQ_TRCRR_TYPE
:
8095 len
= dissect_nhdr_umq_rxreq_trcrr(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
8097 case LBMC_UMQ_RXREQ_ULB_TRCRR_TYPE
:
8098 len
= dissect_nhdr_umq_rxreq_ulb_trcrr(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
8100 case LBMC_UMQ_RXREQ_ULB_TRCRR_ABORT_TYPE
:
8101 len
= dissect_nhdr_umq_rxreq_ulb_trcrr_abort(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
8104 expert_add_info_format(pinfo
, rxreq_type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC UMQ RXREQ type 0x%02x", type
);
8108 len_dissected
+= len
;
8109 proto_item_set_len(subtree_item
, len_dissected
);
8110 return (len_dissected
);
8113 static int dissect_nhdr_umq_qmgmt(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8115 proto_item
* subtree_item
= NULL
;
8116 proto_tree
* subtree
= NULL
;
8118 int len_dissected
= 0;
8120 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_QMGMT_HDR_T_HDR_LEN
);
8121 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_qmgmt
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
8122 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_qmgmt
);
8123 proto_tree_add_item(subtree
, hf_lbmc_umq_qmgmt_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_QMGMT_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_QMGMT_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8124 proto_tree_add_item(subtree
, hf_lbmc_umq_qmgmt_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_QMGMT_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_QMGMT_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8125 len_dissected
= lbmr_dissect_umq_qmgmt(tvb
, (offset
+ L_LBMC_CNTL_UMQ_QMGMT_HDR_T
) - 2, pinfo
, subtree
);
8126 proto_item_set_len(subtree_item
, len_dissected
);
8127 return (len_dissected
);
8130 static int dissect_nhdr_umq_resub_req(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8132 proto_item
* subtree_item
= NULL
;
8133 proto_tree
* subtree
= NULL
;
8134 static int * const flags
[] =
8136 &hf_lbmc_umq_resub_req_flags_ignore
,
8140 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_resub_req
, tvb
, offset
, L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T
, ENC_NA
);
8141 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_resub_req
);
8142 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_req_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8143 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_req_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8144 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_FLAGS
, hf_lbmc_umq_resub_req_flags
, ett_lbmc_umq_resub_req_flags
, flags
, ENC_BIG_ENDIAN
);
8145 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_req_msgid_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_MSGID_REGID
, L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_MSGID_REGID
, ENC_BIG_ENDIAN
);
8146 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_req_msgid_stamp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_MSGID_STAMP
, L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_MSGID_STAMP
, ENC_BIG_ENDIAN
);
8147 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_req_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8148 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_req_resp_ip
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RESP_IP
, L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RESP_IP
, ENC_BIG_ENDIAN
);
8149 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_req_resp_port
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RESP_PORT
, L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_RESP_PORT
, ENC_BIG_ENDIAN
);
8150 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_req_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8151 return (L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T
);
8154 static int dissect_nhdr_umq_resub_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8156 proto_item
* subtree_item
= NULL
;
8157 proto_tree
* subtree
= NULL
;
8158 static int * const flags
[] =
8160 &hf_lbmc_umq_resub_resp_flags_ignore
,
8164 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_resub_resp
, tvb
, offset
, L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T
, ENC_NA
);
8165 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_resub_resp
);
8166 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_resp_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8167 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_resp_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8168 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_FLAGS
, hf_lbmc_umq_resub_resp_flags
, ett_lbmc_umq_resub_resp_flags
, flags
, ENC_BIG_ENDIAN
);
8169 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_resp_code
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_CODE
, L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_CODE
, ENC_BIG_ENDIAN
);
8170 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_resp_msgid_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_MSGID_REGID
, L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_MSGID_REGID
, ENC_BIG_ENDIAN
);
8171 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_resp_msgid_stamp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_MSGID_STAMP
, L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_MSGID_STAMP
, ENC_BIG_ENDIAN
);
8172 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_resp_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8173 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_resp_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
8174 proto_tree_add_item(subtree
, hf_lbmc_umq_resub_resp_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8175 return (L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T
);
8178 static int dissect_nhdr_topic_interest(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8180 proto_item
* subtree_item
= NULL
;
8181 proto_tree
* subtree
= NULL
;
8182 static int * const flags
[] =
8184 &hf_lbmc_topic_interest_flags_ignore
,
8185 &hf_lbmc_topic_interest_flags_cancel
,
8186 &hf_lbmc_topic_interest_flags_refresh
,
8190 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_topic_interest
, tvb
, offset
, L_LBMC_CNTL_TOPIC_INTEREST_HDR_T
, ENC_NA
);
8191 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_topic_interest
);
8192 proto_tree_add_item(subtree
, hf_lbmc_topic_interest_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_INTEREST_HDR_T_NEXT_HDR
, L_LBMC_CNTL_TOPIC_INTEREST_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8193 proto_tree_add_item(subtree
, hf_lbmc_topic_interest_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_INTEREST_HDR_T_HDR_LEN
, L_LBMC_CNTL_TOPIC_INTEREST_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8194 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_INTEREST_HDR_T_FLAGS
, hf_lbmc_topic_interest_flags
, ett_lbmc_topic_interest_flags
, flags
, ENC_BIG_ENDIAN
);
8195 proto_tree_add_item(subtree
, hf_lbmc_topic_interest_domain_id
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_INTEREST_HDR_T_DOMAIN_ID
, L_LBMC_CNTL_TOPIC_INTEREST_HDR_T_DOMAIN_ID
, ENC_BIG_ENDIAN
);
8196 return (L_LBMC_CNTL_TOPIC_INTEREST_HDR_T
);
8199 static int dissect_nhdr_pattern_interest(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8201 proto_item
* subtree_item
= NULL
;
8202 proto_tree
* subtree
= NULL
;
8203 static int * const flags
[] =
8205 &hf_lbmc_pattern_interest_flags_ignore
,
8206 &hf_lbmc_pattern_interest_flags_cancel
,
8207 &hf_lbmc_pattern_interest_flags_refresh
,
8211 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_pattern_interest
, tvb
, offset
, L_LBMC_CNTL_PATTERN_INTEREST_HDR_T
, ENC_NA
);
8212 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_pattern_interest
);
8213 proto_tree_add_item(subtree
, hf_lbmc_pattern_interest_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_NEXT_HDR
, L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8214 proto_tree_add_item(subtree
, hf_lbmc_pattern_interest_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_HDR_LEN
, L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8215 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_FLAGS
, hf_lbmc_pattern_interest_flags
, ett_lbmc_pattern_interest_flags
, flags
, ENC_BIG_ENDIAN
);
8216 proto_tree_add_item(subtree
, hf_lbmc_pattern_interest_type
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_TYPE
, L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_TYPE
, ENC_BIG_ENDIAN
);
8217 proto_tree_add_item(subtree
, hf_lbmc_pattern_interest_domain_id
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_DOMAIN_ID
, L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_DOMAIN_ID
, ENC_BIG_ENDIAN
);
8218 proto_tree_add_item(subtree
, hf_lbmc_pattern_interest_index
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_INTEREST_HDR_T_INDEX
, L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_INDEX
, ENC_BIG_ENDIAN
);
8219 return (L_LBMC_CNTL_PATTERN_INTEREST_HDR_T
);
8222 static int dissect_nhdr_advertisement(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8224 proto_item
* subtree_item
= NULL
;
8225 proto_tree
* subtree
= NULL
;
8226 static int * const flags
[] =
8228 &hf_lbmc_advertisement_flags_ignore
,
8229 &hf_lbmc_advertisement_flags_eos
,
8230 &hf_lbmc_advertisement_flags_pattern
,
8231 &hf_lbmc_advertisement_flags_change
,
8232 &hf_lbmc_advertisement_flags_ctxinst
,
8235 static int * const ad_flags
[] =
8237 &hf_lbmc_advertisement_ad_flags_lj
,
8238 &hf_lbmc_advertisement_ad_flags_ume
,
8239 &hf_lbmc_advertisement_ad_flags_acktosrc
,
8240 &hf_lbmc_advertisement_ad_flags_queue
,
8241 &hf_lbmc_advertisement_ad_flags_ulb
,
8245 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_advertisement
, tvb
, offset
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T
, ENC_NA
);
8246 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_advertisement
);
8247 proto_tree_add_item(subtree
, hf_lbmc_advertisement_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_NEXT_HDR
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8248 proto_tree_add_item(subtree
, hf_lbmc_advertisement_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_HDR_LEN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8249 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_FLAGS
, hf_lbmc_advertisement_flags
, ett_lbmc_advertisement_flags
, flags
, ENC_BIG_ENDIAN
);
8250 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_AD_FLAGS
, hf_lbmc_advertisement_ad_flags
, ett_lbmc_advertisement_ad_flags
, ad_flags
, ENC_BIG_ENDIAN
);
8251 proto_tree_add_item(subtree
, hf_lbmc_advertisement_hop_count
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_HOP_COUNT
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_HOP_COUNT
, ENC_BIG_ENDIAN
);
8252 proto_tree_add_item(subtree
, hf_lbmc_advertisement_cost
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_COST
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_COST
, ENC_BIG_ENDIAN
);
8253 proto_tree_add_item(subtree
, hf_lbmc_advertisement_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
8254 proto_tree_add_item(subtree
, hf_lbmc_advertisement_topic_idx
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_TOPIC_IDX
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_TOPIC_IDX
, ENC_BIG_ENDIAN
);
8255 proto_tree_add_item(subtree
, hf_lbmc_advertisement_low_seqno
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_LOW_SEQNO
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_LOW_SEQNO
, ENC_BIG_ENDIAN
);
8256 proto_tree_add_item(subtree
, hf_lbmc_advertisement_high_seqno
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_HIGH_SEQNO
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_HIGH_SEQNO
, ENC_BIG_ENDIAN
);
8257 proto_tree_add_item(subtree
, hf_lbmc_advertisement_domain_id
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_DOMAIN_ID
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_DOMAIN_ID
, ENC_BIG_ENDIAN
);
8258 proto_tree_add_item(subtree
, hf_lbmc_advertisement_pat_idx
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_PAT_IDX
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_PAT_IDX
, ENC_BIG_ENDIAN
);
8259 proto_tree_add_item(subtree
, hf_lbmc_advertisement_ctxinst
, tvb
, offset
+ O_LBMC_CNTL_ADVERTISEMENT_HDR_T_CTXINST
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_CTXINST
, ENC_NA
);
8260 return (L_LBMC_CNTL_ADVERTISEMENT_HDR_T
);
8263 static int dissect_nhdr_storename(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8265 proto_item
* subtree_item
= NULL
;
8266 proto_tree
* subtree
= NULL
;
8268 static int * const flags
[] =
8270 &hf_lbmc_ume_storename_flags_ignore
,
8273 int len_dissected
= 0;
8275 proto_item
* hdrlen_item
= NULL
;
8277 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_UME_STORENAME_HDR_T_HDR_LEN
);
8278 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_storename
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
8279 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_storename
);
8280 proto_tree_add_item(subtree
, hf_lbmc_ume_storename_next_hdr
, tvb
, offset
+ O_LBMC_UME_STORENAME_HDR_T_NEXT_HDR
, L_LBMC_UME_STORENAME_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8281 hdrlen_item
= proto_tree_add_item(subtree
, hf_lbmc_ume_storename_hdr_len
, tvb
, offset
+ O_LBMC_UME_STORENAME_HDR_T_HDR_LEN
, L_LBMC_UME_STORENAME_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8282 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_UME_STORENAME_HDR_T_FLAGS
, hf_lbmc_ume_storename_flags
, ett_lbmc_ume_storename_flags
, flags
, ENC_BIG_ENDIAN
);
8283 len_dissected
= L_LBMC_BASIC_HDR_T
;
8284 namelen
= (int) hdrlen
- len_dissected
;
8287 proto_tree_add_item(subtree
, hf_lbmc_ume_storename_store
, tvb
, offset
+ O_LBMC_UME_STORENAME_HDR_T_FLAGS
+ L_LBMC_UME_STORENAME_HDR_T_FLAGS
, namelen
, ENC_ASCII
| ENC_NA
);
8288 len_dissected
+= namelen
;
8292 expert_add_info(pinfo
, hdrlen_item
, &ei_lbmc_analysis_length_incorrect
);
8294 proto_item_set_len(subtree_item
, len_dissected
);
8295 return (len_dissected
);
8298 static int dissect_nhdr_umq_ulb_rcr(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8300 proto_item
* subtree_item
= NULL
;
8301 proto_tree
* subtree
= NULL
;
8302 static int * const flags
[] =
8304 &hf_lbmc_umq_ulb_rcr_flags_ignore
,
8305 &hf_lbmc_umq_ulb_rcr_flags_r_flag
,
8306 &hf_lbmc_umq_ulb_rcr_flags_d_flag
,
8307 &hf_lbmc_umq_ulb_rcr_flags_eoi_flag
,
8308 &hf_lbmc_umq_ulb_rcr_flags_boi_flag
,
8312 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_ulb_rcr
, tvb
, offset
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T
, ENC_NA
);
8313 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_ulb_rcr
);
8314 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_rcr_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8315 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_rcr_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8316 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_FLAGS
, hf_lbmc_umq_ulb_rcr_flags
, ett_lbmc_umq_ulb_rcr_flags
, flags
, ENC_BIG_ENDIAN
);
8317 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_rcr_queue_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_QUEUE_ID
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
8318 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_rcr_ulb_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_ULB_SRC_ID
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_ULB_SRC_ID
, ENC_BIG_ENDIAN
);
8319 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_rcr_msgid_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_MSGID_REGID
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_MSGID_REGID
, ENC_BIG_ENDIAN
);
8320 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_rcr_msgid_stamp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_MSGID_STAMP
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_MSGID_STAMP
, ENC_BIG_ENDIAN
);
8321 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_rcr_topic_tsp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_TOPIC_TSP
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_TOPIC_TSP
, ENC_BIG_ENDIAN
);
8322 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_rcr_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8323 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_rcr_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8324 proto_tree_add_item(subtree
, hf_lbmc_umq_ulb_rcr_num_ras
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_NUM_RAS
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_NUM_RAS
, ENC_BIG_ENDIAN
);
8325 return (L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T
);
8328 static int dissect_nhdr_umq_lf(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8330 proto_item
* subtree_item
= NULL
;
8331 proto_tree
* subtree
= NULL
;
8332 static int * const flags
[] =
8334 &hf_lbmc_umq_lf_flags_ignore
,
8338 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_lf
, tvb
, offset
, L_LBMC_CNTL_UMQ_LF_HDR_T
, ENC_NA
);
8339 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_lf
);
8340 proto_tree_add_item(subtree
, hf_lbmc_umq_lf_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_LF_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_LF_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8341 proto_tree_add_item(subtree
, hf_lbmc_umq_lf_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_LF_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_LF_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8342 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_LF_HDR_T_FLAGS
, hf_lbmc_umq_lf_flags
, ett_lbmc_umq_lf_flags
, flags
, ENC_BIG_ENDIAN
);
8343 proto_tree_add_item(subtree
, hf_lbmc_umq_lf_type
, tvb
, offset
+ O_LBMC_CNTL_UMQ_LF_HDR_T_TYPE
, L_LBMC_CNTL_UMQ_LF_HDR_T_TYPE
, ENC_BIG_ENDIAN
);
8344 proto_tree_add_item(subtree
, hf_lbmc_umq_lf_num_srcs
, tvb
, offset
+ O_LBMC_CNTL_UMQ_LF_HDR_T_NUM_SRCS
, L_LBMC_CNTL_UMQ_LF_HDR_T_NUM_SRCS
, ENC_BIG_ENDIAN
);
8345 proto_tree_add_item(subtree
, hf_lbmc_umq_lf_lf
, tvb
, offset
+ O_LBMC_CNTL_UMQ_LF_HDR_T_LF
, L_LBMC_CNTL_UMQ_LF_HDR_T_LF
, ENC_BIG_ENDIAN
);
8346 return (L_LBMC_CNTL_UMQ_LF_HDR_T
);
8349 static int dissect_nhdr_ctxinfo(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8351 proto_item
* subtree_item
= NULL
;
8352 proto_tree
* subtree
= NULL
;
8354 uint16_t flags_val
= 0;
8355 static int * const flags
[] =
8357 &hf_lbmc_ctxinfo_flags_ignore
,
8358 &hf_lbmc_ctxinfo_flags_query
,
8359 &hf_lbmc_ctxinfo_flags_addr
,
8360 &hf_lbmc_ctxinfo_flags_ctxinst
,
8361 &hf_lbmc_ctxinfo_flags_name
,
8362 &hf_lbmc_ctxinfo_flags_tnwgsrc
,
8363 &hf_lbmc_ctxinfo_flags_tnwgrcv
,
8364 &hf_lbmc_ctxinfo_flags_proxy
,
8367 int len_dissected
= 0;
8368 proto_item
* hdrlen_item
= NULL
;
8370 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_HDR_LEN
);
8371 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ctxinfo
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
8372 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ctxinfo
);
8373 proto_tree_add_item(subtree
, hf_lbmc_ctxinfo_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_NEXT_HDR
, L_LBMC_CNTL_CTXINFO_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8374 hdrlen_item
= proto_tree_add_item(subtree
, hf_lbmc_ctxinfo_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_HDR_LEN
, L_LBMC_CNTL_CTXINFO_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8375 flags_val
= tvb_get_ntohs(tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_FLAGS
);
8376 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_FLAGS
, hf_lbmc_ctxinfo_flags
, ett_lbmc_ctxinfo_flags
, flags
, ENC_BIG_ENDIAN
);
8377 proto_tree_add_item(subtree
, hf_lbmc_ctxinfo_reserved
, tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_RESERVED
, L_LBMC_CNTL_CTXINFO_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
8378 proto_tree_add_item(subtree
, hf_lbmc_ctxinfo_hop_count
, tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_HOP_COUNT
, L_LBMC_CNTL_CTXINFO_HDR_T_HOP_COUNT
, ENC_BIG_ENDIAN
);
8379 proto_tree_add_item(subtree
, hf_lbmc_ctxinfo_port
, tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_PORT
, L_LBMC_CNTL_CTXINFO_HDR_T_PORT
, ENC_BIG_ENDIAN
);
8380 proto_tree_add_item(subtree
, hf_lbmc_ctxinfo_addr
, tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_ADDR
, L_LBMC_CNTL_CTXINFO_HDR_T_ADDR
, ENC_BIG_ENDIAN
);
8381 proto_tree_add_item(subtree
, hf_lbmc_ctxinfo_domain_id
, tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_DOMAIN_ID
, L_LBMC_CNTL_CTXINFO_HDR_T_DOMAIN_ID
, ENC_BIG_ENDIAN
);
8382 proto_tree_add_item(subtree
, hf_lbmc_ctxinfo_ctxinst
, tvb
, offset
+ O_LBMC_CNTL_CTXINFO_HDR_T_CTXINST
, L_LBMC_CNTL_CTXINFO_HDR_T_CTXINST
, ENC_NA
);
8383 len_dissected
= L_LBMC_CNTL_CTXINFO_HDR_T
;
8384 if ((flags_val
& LBMC_CTXINFO_NAME_FLAG
) != 0)
8386 int namelen
= (int) hdrlen
- len_dissected
;
8389 proto_tree_add_item(subtree
, hf_lbmc_ctxinfo_name
, tvb
, offset
+ L_LBMC_CNTL_CTXINFO_HDR_T
, hdrlen
- L_LBMC_CNTL_CTXINFO_HDR_T
, ENC_ASCII
| ENC_NA
);
8390 len_dissected
+= namelen
;
8394 expert_add_info(pinfo
, hdrlen_item
, &ei_lbmc_analysis_length_incorrect
);
8397 proto_item_set_len(subtree_item
, len_dissected
);
8398 return (len_dissected
);
8401 static int dissect_nhdr_ume_pser(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8403 proto_item
* subtree_item
= NULL
;
8404 proto_tree
* subtree
= NULL
;
8405 static int * const flags
[] =
8407 &hf_lbmc_ume_pser_flags_ignore
,
8408 &hf_lbmc_ume_pser_flags_source_ctxinst
,
8409 &hf_lbmc_ume_pser_flags_store_ctxinst
,
8410 &hf_lbmc_ume_pser_flags_reelect
,
8414 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_pser
, tvb
, offset
, L_LBMC_CNTL_UME_PSER_HDR_T
, ENC_NA
);
8415 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_pser
);
8416 proto_tree_add_item(subtree
, hf_lbmc_ume_pser_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_PSER_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8417 proto_tree_add_item(subtree
, hf_lbmc_ume_pser_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_PSER_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8418 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_FLAGS
, hf_lbmc_ume_pser_flags
, ett_lbmc_ume_pser_flags
, flags
, ENC_BIG_ENDIAN
);
8419 proto_tree_add_item(subtree
, hf_lbmc_ume_pser_source_ip
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_IP
, L_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_IP
, ENC_BIG_ENDIAN
);
8420 proto_tree_add_item(subtree
, hf_lbmc_ume_pser_store_ip
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_STORE_IP
, L_LBMC_CNTL_UME_PSER_HDR_T_STORE_IP
, ENC_BIG_ENDIAN
);
8421 proto_tree_add_item(subtree
, hf_lbmc_ume_pser_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_UME_PSER_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
8422 proto_tree_add_item(subtree
, hf_lbmc_ume_pser_topic_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_TOPIC_IDX
, L_LBMC_CNTL_UME_PSER_HDR_T_TOPIC_IDX
, ENC_BIG_ENDIAN
);
8423 proto_tree_add_item(subtree
, hf_lbmc_ume_pser_source_port
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_PORT
, L_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_PORT
, ENC_BIG_ENDIAN
);
8424 proto_tree_add_item(subtree
, hf_lbmc_ume_pser_store_port
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_STORE_PORT
, L_LBMC_CNTL_UME_PSER_HDR_T_STORE_PORT
, ENC_BIG_ENDIAN
);
8425 proto_tree_add_item(subtree
, hf_lbmc_ume_pser_source_ctxinst
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_CTXINST
, L_LBMC_CNTL_UME_PSER_HDR_T_SOURCE_CTXINST
, ENC_NA
);
8426 proto_tree_add_item(subtree
, hf_lbmc_ume_pser_store_ctxinst
, tvb
, offset
+ O_LBMC_CNTL_UME_PSER_HDR_T_STORE_CTXINST
, L_LBMC_CNTL_UME_PSER_HDR_T_STORE_CTXINST
, ENC_NA
);
8427 return (L_LBMC_CNTL_UME_PSER_HDR_T
);
8430 static int dissect_nhdr_domain(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8432 proto_item
* subtree_item
= NULL
;
8433 proto_tree
* subtree
= NULL
;
8434 static int * const flags
[] =
8436 &hf_lbmc_domain_flags_ignore
,
8437 &hf_lbmc_domain_flags_active
,
8441 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_domain
, tvb
, offset
, L_LBMC_DOMAIN_HDR_T
, ENC_NA
);
8442 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_domain
);
8443 proto_tree_add_item(subtree
, hf_lbmc_domain_next_hdr
, tvb
, offset
+ O_LBMC_DOMAIN_HDR_T_NEXT_HDR
, L_LBMC_DOMAIN_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8444 proto_tree_add_item(subtree
, hf_lbmc_domain_hdr_len
, tvb
, offset
+ O_LBMC_DOMAIN_HDR_T_HDR_LEN
, L_LBMC_DOMAIN_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8445 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_DOMAIN_HDR_T_FLAGS
, hf_lbmc_domain_flags
, ett_lbmc_domain_flags
, flags
, ENC_BIG_ENDIAN
);
8446 proto_tree_add_item(subtree
, hf_lbmc_domain_domain
, tvb
, offset
+ O_LBMC_DOMAIN_HDR_T_DOMAIN
, L_LBMC_DOMAIN_HDR_T_DOMAIN
, ENC_BIG_ENDIAN
);
8447 return (L_LBMC_DOMAIN_HDR_T
);
8450 static int dissect_nhdr_tnwg_capabilities(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8452 proto_item
* subtree_item
= NULL
;
8453 proto_tree
* subtree
= NULL
;
8454 static int * const flags
[] =
8456 &hf_lbmc_tnwg_capabilities_flags_ignore
,
8457 &hf_lbmc_tnwg_capabilities_flags_version
,
8460 static int * const cap1
[] =
8462 &hf_lbmc_tnwg_capabilities_capabilities1_ume
,
8463 &hf_lbmc_tnwg_capabilities_capabilities1_umq
,
8466 static int * const cap3
[] =
8468 &hf_lbmc_tnwg_capabilities_capabilities3_pcre
,
8469 &hf_lbmc_tnwg_capabilities_capabilities3_regex
,
8473 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_tnwg_capabilities
, tvb
, offset
, L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T
, ENC_NA
);
8474 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_tnwg_capabilities
);
8475 proto_tree_add_item(subtree
, hf_lbmc_tnwg_capabilities_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_NEXT_HDR
, L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8476 proto_tree_add_item(subtree
, hf_lbmc_tnwg_capabilities_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_HDR_LEN
, L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8477 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_FLAGS
, hf_lbmc_tnwg_capabilities_flags
, ett_lbmc_tnwg_capabilities_flags
, flags
, ENC_BIG_ENDIAN
);
8478 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES1
, hf_lbmc_tnwg_capabilities_capabilities1
, ett_lbmc_tnwg_capabilities_capabilities1
, cap1
, ENC_BIG_ENDIAN
);
8479 proto_tree_add_item(subtree
, hf_lbmc_tnwg_capabilities_capabilities2
, tvb
, offset
+ O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES2
, L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES2
, ENC_BIG_ENDIAN
);
8480 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES3
, hf_lbmc_tnwg_capabilities_capabilities3
, ett_lbmc_tnwg_capabilities_capabilities3
, cap3
, ENC_BIG_ENDIAN
);
8481 proto_tree_add_item(subtree
, hf_lbmc_tnwg_capabilities_capabilities4
, tvb
, offset
+ O_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES4
, L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES4
, ENC_BIG_ENDIAN
);
8482 return (L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T
);
8485 static int dissect_nhdr_patidx(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8487 proto_item
* subtree_item
= NULL
;
8488 proto_tree
* subtree
= NULL
;
8489 static int * const flags
[] =
8491 &hf_lbmc_patidx_flags_ignore
,
8495 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_patidx
, tvb
, offset
, L_LBMC_PATIDX_HDR_T
, ENC_NA
);
8496 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_patidx
);
8497 proto_tree_add_item(subtree
, hf_lbmc_patidx_next_hdr
, tvb
, offset
+ O_LBMC_PATIDX_HDR_T_NEXT_HDR
, L_LBMC_PATIDX_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8498 proto_tree_add_item(subtree
, hf_lbmc_patidx_hdr_len
, tvb
, offset
+ O_LBMC_PATIDX_HDR_T_HDR_LEN
, L_LBMC_PATIDX_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8499 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_PATIDX_HDR_T_FLAGS
, hf_lbmc_patidx_flags
, ett_lbmc_patidx_flags
, flags
, ENC_BIG_ENDIAN
);
8500 proto_tree_add_item(subtree
, hf_lbmc_patidx_patidx
, tvb
, offset
+ O_LBMC_PATIDX_HDR_T_PATIDX
, L_LBMC_PATIDX_HDR_T_PATIDX
, ENC_BIG_ENDIAN
);
8501 return (L_LBMC_PATIDX_HDR_T
);
8504 static int dissect_nhdr_ume_client_lifetime(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8506 proto_item
* subtree_item
= NULL
;
8507 proto_tree
* subtree
= NULL
;
8508 static int * const flags
[] =
8510 &hf_lbmc_ume_client_lifetime_flags_ignore
,
8514 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_client_lifetime
, tvb
, offset
, L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T
, ENC_NA
);
8515 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_client_lifetime
);
8516 proto_tree_add_item(subtree
, hf_lbmc_ume_client_lifetime_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8517 proto_tree_add_item(subtree
, hf_lbmc_ume_client_lifetime_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8518 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_FLAGS
, hf_lbmc_ume_client_lifetime_flags
, ett_lbmc_ume_client_lifetime_flags
, flags
, ENC_BIG_ENDIAN
);
8519 proto_tree_add_item(subtree
, hf_lbmc_ume_client_lifetime_activity_tmo
, tvb
, offset
+ O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_ACTIVITY_TMO
, L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_ACTIVITY_TMO
, ENC_BIG_ENDIAN
);
8520 proto_tree_add_item(subtree
, hf_lbmc_ume_client_lifetime_lifetime
, tvb
, offset
+ O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_LIFETIME
, L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_LIFETIME
, ENC_BIG_ENDIAN
);
8521 proto_tree_add_item(subtree
, hf_lbmc_ume_client_lifetime_ttl
, tvb
, offset
+ O_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_TTL
, L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_TTL
, ENC_BIG_ENDIAN
);
8522 return (L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T
);
8525 static int dissect_nhdr_ume_sid(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8527 proto_item
* subtree_item
= NULL
;
8528 proto_tree
* subtree
= NULL
;
8529 static int * const flags
[] =
8531 &hf_lbmc_ume_sid_flags_ignore
,
8535 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_sid
, tvb
, offset
, L_LBMC_CNTL_UME_SID_HDR_T
, ENC_NA
);
8536 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_sid
);
8537 proto_tree_add_item(subtree
, hf_lbmc_ume_sid_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_SID_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_SID_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8538 proto_tree_add_item(subtree
, hf_lbmc_ume_sid_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_SID_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_SID_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8539 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_SID_HDR_T_FLAGS
, hf_lbmc_ume_sid_flags
, ett_lbmc_ume_sid_flags
, flags
, ENC_BIG_ENDIAN
);
8540 proto_tree_add_item(subtree
, hf_lbmc_ume_sid_sid
, tvb
, offset
+ O_LBMC_CNTL_UME_SID_HDR_T_SID
, L_LBMC_CNTL_UME_SID_HDR_T_SID
, ENC_BIG_ENDIAN
);
8541 return (L_LBMC_CNTL_UME_SID_HDR_T
);
8544 static int dissect_nhdr_umq_idx_cmd(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
8546 proto_item
* subtree_item
= NULL
;
8547 proto_tree
* subtree
= NULL
;
8549 static int * const flags
[] =
8551 &hf_lbmc_umq_idx_cmd_flags_ignore
,
8554 uint8_t cmd_type
= 0;
8555 proto_item
* opt_subtree_item
= NULL
;
8556 proto_tree
* opt_subtree
= NULL
;
8557 uint32_t opt_flags
= 0;
8558 static int * const release_assign_flags
[] =
8560 &hf_lbmc_umq_idx_cmd_release_assign_flags_numeric
,
8563 static int * const ulb_release_assign_flags
[] =
8565 &hf_lbmc_umq_idx_cmd_ulb_release_assign_flags_numeric
,
8568 static int * const reserve_assign_flags
[] =
8570 &hf_lbmc_umq_idx_cmd_reserve_assign_flags_numeric
,
8573 static int * const ulb_reserve_assign_flags
[] =
8575 &hf_lbmc_umq_idx_cmd_ulb_reserve_assign_flags_numeric
,
8578 uint8_t index_len
= 0;
8579 int len_dissected
= 0;
8580 proto_item
* cmd_type_item
= NULL
;
8582 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_HDR_LEN
);
8583 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_idx_cmd
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
8584 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_idx_cmd
);
8585 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8586 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8587 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_FLAGS
, hf_lbmc_umq_idx_cmd_flags
, ett_lbmc_umq_idx_cmd_flags
, flags
, ENC_BIG_ENDIAN
);
8588 cmd_type
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_CMD_TYPE
);
8589 cmd_type_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_cmd_type
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_CMD_TYPE
, L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_CMD_TYPE
, ENC_BIG_ENDIAN
);
8590 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_queue_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_QUEUE_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
8591 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_cmd_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_CMD_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_CMD_ID
, ENC_BIG_ENDIAN
);
8592 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_inst_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_INST_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_INST_IDX
, ENC_BIG_ENDIAN
);
8593 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_REGID
, L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_REGID
, ENC_BIG_ENDIAN
);
8594 len_dissected
= L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T
;
8595 offset
+= L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T
;
8598 case LBMC_UMQ_IDX_CMD_RCV_STOP_IDX_ASSIGN_TYPE
:
8599 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_stop_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T
, ENC_NA
);
8600 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_stop_assign
);
8601 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_stop_assign_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8602 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_stop_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8603 len_dissected
+= L_LBMC_CNTL_UMQ_RCV_STOP_IDX_ASSIGN_HDR_T
;
8605 case LBMC_UMQ_IDX_CMD_RCV_START_IDX_ASSIGN_TYPE
:
8606 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_start_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T
, ENC_NA
);
8607 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_start_assign
);
8608 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_start_assign_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8609 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_start_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8610 len_dissected
+= L_LBMC_CNTL_UMQ_RCV_START_IDX_ASSIGN_HDR_T
;
8612 case LBMC_UMQ_IDX_CMD_ULB_RCV_STOP_IDX_ASSIGN_TYPE
:
8613 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_ulb_stop_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T
, ENC_NA
);
8614 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_ulb_stop_assign
);
8615 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_stop_assign_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_SRC_ID
, L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_SRC_ID
, ENC_BIG_ENDIAN
);
8616 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_stop_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8617 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_stop_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8618 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_stop_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
8619 len_dissected
+= L_LBMC_CNTL_UMQ_ULB_RCV_STOP_IDX_ASSIGN_HDR_T
;
8621 case LBMC_UMQ_IDX_CMD_ULB_RCV_START_IDX_ASSIGN_TYPE
:
8622 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_ulb_start_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T
, ENC_NA
);
8623 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_ulb_start_assign
);
8624 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_start_assign_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_SRC_ID
, L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_SRC_ID
, ENC_BIG_ENDIAN
);
8625 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_start_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8626 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_start_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8627 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_start_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
8628 len_dissected
+= L_LBMC_CNTL_UMQ_ULB_RCV_START_IDX_ASSIGN_HDR_T
;
8630 case LBMC_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_TYPE
:
8631 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_release_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T
+ index_len
, ENC_NA
);
8632 index_len
= hdrlen
- L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T
;
8633 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_release_assign
);
8634 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_release_assign_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8635 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_release_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8636 opt_flags
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_FLAGS
);
8637 proto_tree_add_bitmask(opt_subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_FLAGS
, hf_lbmc_umq_idx_cmd_release_assign_flags
, ett_lbmc_umq_idx_cmd_release_assign_flags
, release_assign_flags
, ENC_BIG_ENDIAN
);
8638 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_release_assign_index_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_INDEX_LEN
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_INDEX_LEN
, ENC_BIG_ENDIAN
);
8639 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_release_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED
, ENC_NA
);
8640 if ((opt_flags
& LBM_UMQ_INDEX_FLAG_NUMERIC
) != 0)
8642 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_release_assign_numeric_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_BIG_ENDIAN
);
8646 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_release_assign_string_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_ASCII
);
8648 len_dissected
+= L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T
+ index_len
;
8650 case LBMC_UMQ_IDX_CMD_ULB_RCV_RELEASE_IDX_ASSIGN_TYPE
:
8651 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_ulb_release_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T
+ index_len
, ENC_NA
);
8652 index_len
= hdrlen
- L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T
;
8653 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_ulb_release_assign
);
8654 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_release_assign_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_SRC_ID
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_SRC_ID
, ENC_BIG_ENDIAN
);
8655 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_release_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8656 opt_flags
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_FLAGS
);
8657 proto_tree_add_bitmask(opt_subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_FLAGS
, hf_lbmc_umq_idx_cmd_ulb_release_assign_flags
, ett_lbmc_umq_idx_cmd_ulb_release_assign_flags
, ulb_release_assign_flags
, ENC_BIG_ENDIAN
);
8658 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_release_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8659 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_release_assign_index_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_INDEX_LEN
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_INDEX_LEN
, ENC_BIG_ENDIAN
);
8660 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_release_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED
, ENC_NA
);
8661 if ((opt_flags
& LBM_UMQ_INDEX_FLAG_NUMERIC
) != 0)
8663 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_release_assign_numeric_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_BIG_ENDIAN
);
8667 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_release_assign_string_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_ASCII
);
8669 len_dissected
+= L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T
+ index_len
;
8671 case LBMC_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_TYPE
:
8672 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_reserve_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
+ index_len
, ENC_NA
);
8673 index_len
= hdrlen
- L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
;
8674 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_reserve_assign
);
8675 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_reserve_assign_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8676 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_reserve_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8677 opt_flags
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
);
8678 proto_tree_add_bitmask(opt_subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
, hf_lbmc_umq_idx_cmd_reserve_assign_flags
, ett_lbmc_umq_idx_cmd_reserve_assign_flags
, reserve_assign_flags
, ENC_BIG_ENDIAN
);
8679 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_reserve_assign_index_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN
, ENC_BIG_ENDIAN
);
8680 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_reserve_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
, ENC_NA
);
8681 if ((opt_flags
& LBM_UMQ_INDEX_FLAG_NUMERIC
) != 0)
8683 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_reserve_assign_numeric_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_BIG_ENDIAN
);
8687 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_reserve_assign_string_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_ASCII
);
8689 len_dissected
+= L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
+ index_len
;
8691 case LBMC_UMQ_IDX_CMD_ULB_RCV_RESERVE_IDX_ASSIGN_TYPE
:
8692 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_ulb_reserve_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
+ index_len
, ENC_NA
);
8693 index_len
= hdrlen
- L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
;
8694 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_ulb_reserve_assign
);
8695 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_reserve_assign_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_SRC_ID
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_SRC_ID
, ENC_BIG_ENDIAN
);
8696 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_reserve_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8697 opt_flags
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
);
8698 proto_tree_add_bitmask(opt_subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
, hf_lbmc_umq_idx_cmd_ulb_reserve_assign_flags
, ett_lbmc_umq_idx_cmd_ulb_reserve_assign_flags
, ulb_reserve_assign_flags
, ENC_BIG_ENDIAN
);
8699 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_reserve_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8700 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_reserve_assign_index_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN
, ENC_BIG_ENDIAN
);
8701 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_reserve_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
, ENC_NA
);
8702 if ((opt_flags
& LBM_UMQ_INDEX_FLAG_NUMERIC
) != 0)
8704 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_reserve_assign_numeric_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_BIG_ENDIAN
);
8708 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_ulb_reserve_assign_string_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_ASCII
);
8710 len_dissected
+= L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
+ index_len
;
8713 expert_add_info_format(pinfo
, cmd_type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC UMQ IDX CMD type 0x%02x", cmd_type
);
8716 proto_item_set_len(subtree_item
, len_dissected
);
8717 return (len_dissected
);
8720 static int dissect_nhdr_umq_idx_cmd_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
8722 proto_item
* subtree_item
= NULL
;
8723 proto_tree
* subtree
= NULL
;
8725 static int * const flags
[] =
8727 &hf_lbmc_umq_idx_cmd_resp_flags_ignore
,
8728 &hf_lbmc_umq_idx_cmd_resp_flags_ulb
,
8731 static int * const reserve_assign_flags
[] =
8733 &hf_lbmc_umq_idx_cmd_resp_reserve_assign_flags_numeric
,
8736 static int * const ulb_reserve_assign_flags
[] =
8738 &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_flags_numeric
,
8741 uint8_t resp_type
= 0;
8742 proto_item
* opt_subtree_item
= NULL
;
8743 proto_tree
* opt_subtree
= NULL
;
8745 int len_dissected
= 0;
8746 uint32_t opt_flags
= 0;
8747 uint8_t index_len
= 0;
8748 proto_item
* resp_type_item
= NULL
;
8750 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_HDR_LEN
);
8751 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_idx_cmd_resp
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
8752 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_idx_cmd_resp
);
8753 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8754 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8755 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_FLAGS
, hf_lbmc_umq_idx_cmd_resp_flags
, ett_lbmc_umq_idx_cmd_resp_flags
, flags
, ENC_BIG_ENDIAN
);
8756 resp_type
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_RESP_TYPE
);
8757 resp_type_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_resp_type
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_RESP_TYPE
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_RESP_TYPE
, ENC_BIG_ENDIAN
);
8758 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_queue_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_QUEUE_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
8759 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_cmd_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_CMD_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_CMD_ID
, ENC_BIG_ENDIAN
);
8760 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_inst_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_INST_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_INST_IDX
, ENC_BIG_ENDIAN
);
8761 proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_REGID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_REGID
, ENC_BIG_ENDIAN
);
8762 len_dissected
= L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T
;
8763 offset
+= L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T
;
8766 case LBMC_UMQ_IDX_CMD_RESP_ERR_TYPE
:
8767 string_len
= hdrlen
- (L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T
+ L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T
);
8768 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_err
, tvb
, offset
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T
+ string_len
, ENC_NA
);
8769 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_resp_err
);
8770 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_err_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
8771 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_err_code
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T_CODE
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T_CODE
, ENC_BIG_ENDIAN
);
8772 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_err_error_string
, tvb
, offset
+ L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T
, string_len
, ENC_ASCII
);
8773 len_dissected
+= (L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ERR_HDR_T
+ string_len
);
8775 case LBMC_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_TYPE
:
8776 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_stop_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T
, ENC_NA
);
8777 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_resp_stop_assign
);
8778 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_stop_assign_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8779 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_stop_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8780 len_dissected
+= L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_STOP_IDX_ASSIGN_HDR_T
;
8782 case LBMC_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_TYPE
:
8783 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_start_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T
, ENC_NA
);
8784 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_resp_start_assign
);
8785 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_start_assign_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8786 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_start_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8787 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_start_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8788 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_start_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
8789 len_dissected
+= L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_START_IDX_ASSIGN_HDR_T
;
8791 case LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_TYPE
:
8792 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T
, ENC_NA
);
8793 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_resp_ulb_stop_assign
);
8794 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_SRC_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_SRC_ID
, ENC_BIG_ENDIAN
);
8795 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8796 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8797 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
8798 len_dissected
+= L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_STOP_IDX_ASSIGN_HDR_T
;
8800 case LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_TYPE
:
8801 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_start_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T
, ENC_NA
);
8802 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_resp_ulb_start_assign
);
8803 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_SRC_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_SRC_ID
, ENC_BIG_ENDIAN
);
8804 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8805 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8806 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
8807 len_dissected
+= L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_START_IDX_ASSIGN_HDR_T
;
8809 case LBMC_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_TYPE
:
8810 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_release_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T
, ENC_NA
);
8811 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_resp_release_assign
);
8812 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_release_assign_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8813 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_release_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8814 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_release_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8815 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_release_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
8816 len_dissected
+= L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RELEASE_IDX_ASSIGN_HDR_T
;
8818 case LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_TYPE
:
8819 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_release_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T
, ENC_NA
);
8820 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_resp_ulb_release_assign
);
8821 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_SRC_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_SRC_ID
, ENC_BIG_ENDIAN
);
8822 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8823 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8824 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
8825 len_dissected
+= L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RELEASE_IDX_ASSIGN_HDR_T
;
8827 case LBMC_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_TYPE
:
8828 index_len
= hdrlen
- (L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T
+ L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T
);
8829 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_reserve_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T
+ index_len
, ENC_NA
);
8830 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_resp_reserve_assign
);
8831 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_reserve_assign_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
8832 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_reserve_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8833 opt_flags
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
);
8834 proto_tree_add_bitmask(opt_subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
, hf_lbmc_umq_idx_cmd_resp_reserve_assign_flags
, ett_lbmc_umq_idx_cmd_resp_reserve_assign_flags
, reserve_assign_flags
, ENC_BIG_ENDIAN
);
8835 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_reserve_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8836 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_reserve_assign_index_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN
, ENC_BIG_ENDIAN
);
8837 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_reserve_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
, ENC_NA
);
8838 if ((opt_flags
& LBM_UMQ_INDEX_FLAG_NUMERIC
) != 0)
8840 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_reserve_assign_numeric_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_BIG_ENDIAN
);
8844 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_reserve_assign_string_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_ASCII
);
8846 len_dissected
+= (L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T
+ index_len
);
8848 case LBMC_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_TYPE
:
8849 index_len
= hdrlen
- (L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
+ L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T
);
8850 opt_subtree_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign
, tvb
, offset
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
+ index_len
, ENC_NA
);
8851 opt_subtree
= proto_item_add_subtree(opt_subtree_item
, ett_lbmc_umq_idx_cmd_resp_ulb_reserve_assign
);
8852 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_src_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_SRC_ID
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_SRC_ID
, ENC_BIG_ENDIAN
);
8853 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
8854 opt_flags
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
);
8855 proto_tree_add_bitmask(opt_subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
, hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_flags
, ett_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_flags
, ulb_reserve_assign_flags
, ENC_BIG_ENDIAN
);
8856 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
8857 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_index_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_INDEX_LEN
, ENC_BIG_ENDIAN
);
8858 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_RESERVED
, ENC_NA
);
8859 if ((opt_flags
& LBM_UMQ_INDEX_FLAG_NUMERIC
) != 0)
8861 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_numeric_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_BIG_ENDIAN
);
8865 proto_tree_add_item(opt_subtree
, hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_string_index
, tvb
, offset
+ L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
, (int)index_len
, ENC_ASCII
);
8867 len_dissected
+= (L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T
+ index_len
);
8870 expert_add_info_format(pinfo
, resp_type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC UMQ IDX CMD RESP type 0x%02x", resp_type
);
8873 proto_item_set_len(subtree_item
, len_dissected
);
8874 return (len_dissected
);
8877 static int dissect_nhdr_odomain(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8879 proto_item
* subtree_item
= NULL
;
8880 proto_tree
* subtree
= NULL
;
8881 static int * const flags
[] =
8883 &hf_lbmc_odomain_flags_ignore
,
8887 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_odomain
, tvb
, offset
, L_LBMC_ODOMAIN_HDR_T
, ENC_NA
);
8888 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_odomain
);
8889 proto_tree_add_item(subtree
, hf_lbmc_odomain_next_hdr
, tvb
, offset
+ O_LBMC_ODOMAIN_HDR_T_NEXT_HDR
, L_LBMC_ODOMAIN_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8890 proto_tree_add_item(subtree
, hf_lbmc_odomain_hdr_len
, tvb
, offset
+ O_LBMC_ODOMAIN_HDR_T_HDR_LEN
, L_LBMC_ODOMAIN_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8891 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_ODOMAIN_HDR_T_FLAGS
, hf_lbmc_odomain_flags
, ett_lbmc_odomain_flags
, flags
, ENC_BIG_ENDIAN
);
8892 proto_tree_add_item(subtree
, hf_lbmc_odomain_domain
, tvb
, offset
+ O_LBMC_ODOMAIN_HDR_T_ODOMAIN
, L_LBMC_ODOMAIN_HDR_T_ODOMAIN
, ENC_BIG_ENDIAN
);
8893 return (L_LBMC_ODOMAIN_HDR_T
);
8896 static int dissect_nhdr_stream(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, lbmc_stream_info_t
* info
)
8898 proto_item
* subtree_item
= NULL
;
8899 proto_tree
* subtree
= NULL
;
8900 static int * const flags
[] =
8902 &hf_lbmc_stream_flags_ignore
,
8906 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_stream
, tvb
, offset
, L_LBMC_STREAM_HDR_T
, ENC_NA
);
8907 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_stream
);
8908 proto_tree_add_item(subtree
, hf_lbmc_stream_next_hdr
, tvb
, offset
+ O_LBMC_STREAM_HDR_T_NEXT_HDR
, L_LBMC_STREAM_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8909 proto_tree_add_item(subtree
, hf_lbmc_stream_hdr_len
, tvb
, offset
+ O_LBMC_STREAM_HDR_T_HDR_LEN
, L_LBMC_STREAM_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8910 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_STREAM_HDR_T_FLAGS
, hf_lbmc_stream_flags
, ett_lbmc_stream_flags
, flags
, ENC_BIG_ENDIAN
);
8911 proto_tree_add_item(subtree
, hf_lbmc_stream_stream_id
, tvb
, offset
+ O_LBMC_STREAM_HDR_T_STREAM_ID
, L_LBMC_STREAM_HDR_T_STREAM_ID
, ENC_BIG_ENDIAN
);
8912 proto_tree_add_item(subtree
, hf_lbmc_stream_sqn
, tvb
, offset
+ O_LBMC_STREAM_HDR_T_SQN
, L_LBMC_STREAM_HDR_T_SQN
, ENC_BIG_ENDIAN
);
8913 proto_tree_add_item(subtree
, hf_lbmc_stream_ctxinst
, tvb
, offset
+ O_LBMC_STREAM_HDR_T_CTXINST
, L_LBMC_STREAM_HDR_T_CTXINST
, ENC_NA
);
8917 info
->stream_id
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_STREAM_HDR_T_STREAM_ID
);
8918 info
->sqn
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_STREAM_HDR_T_SQN
);
8919 tvb_memcpy(tvb
, (void *)&(info
->ctxinst
), offset
+ O_LBMC_STREAM_HDR_T_CTXINST
, L_LBMC_STREAM_HDR_T_CTXINST
);
8921 return (L_LBMC_STREAM_HDR_T
);
8924 static int dissect_nhdr_topic_md_interest(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8926 proto_item
* subtree_item
= NULL
;
8927 proto_tree
* subtree
= NULL
;
8929 static int * const flags
[] =
8931 &hf_lbmc_topic_md_interest_flags_ignore
,
8932 &hf_lbmc_topic_md_interest_flags_cancel
,
8933 &hf_lbmc_topic_md_interest_flags_refresh
,
8936 uint16_t dom_count
= 0;
8938 int len_dissected
= 0;
8940 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_HDR_LEN
);
8941 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_topic_md_interest
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
8942 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_topic_md_interest
);
8943 proto_tree_add_item(subtree
, hf_lbmc_topic_md_interest_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_NEXT_HDR
, L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8944 proto_tree_add_item(subtree
, hf_lbmc_topic_md_interest_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_HDR_LEN
, L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8945 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_FLAGS
, hf_lbmc_topic_md_interest_flags
, ett_lbmc_topic_md_interest_flags
, flags
, ENC_BIG_ENDIAN
);
8946 proto_tree_add_item(subtree
, hf_lbmc_topic_md_interest_domain_count
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_DOMAIN_COUNT
, L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_DOMAIN_COUNT
, ENC_BIG_ENDIAN
);
8947 proto_tree_add_item(subtree
, hf_lbmc_topic_md_interest_res1
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_RES1
, L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_RES1
, ENC_BIG_ENDIAN
);
8948 len_dissected
= L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T
;
8949 dom_count
= tvb_get_ntohs(tvb
, offset
+ O_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_DOMAIN_COUNT
);
8950 offset
+= L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T
;
8951 for (idx
= 0; idx
< dom_count
; ++idx
)
8953 proto_tree_add_item(subtree
, hf_lbmc_topic_md_interest_domain_id
, tvb
, offset
, (int)sizeof(lbm_uint32_t
), ENC_BIG_ENDIAN
);
8954 offset
+= (int)sizeof(lbm_uint32_t
);
8955 len_dissected
+= (int)sizeof(lbm_uint32_t
);
8957 proto_item_set_len(subtree_item
, len_dissected
);
8958 return (len_dissected
);
8961 static int dissect_nhdr_pattern_md_interest(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
8963 proto_item
* subtree_item
= NULL
;
8964 proto_tree
* subtree
= NULL
;
8966 static int * const flags
[] =
8968 &hf_lbmc_pattern_md_interest_flags_ignore
,
8969 &hf_lbmc_pattern_md_interest_flags_cancel
,
8970 &hf_lbmc_pattern_md_interest_flags_refresh
,
8973 uint16_t dom_count
= 0;
8975 int len_dissected
= 0;
8977 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_HDR_LEN
);
8978 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_pattern_md_interest
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
8979 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_pattern_md_interest
);
8980 proto_tree_add_item(subtree
, hf_lbmc_pattern_md_interest_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_NEXT_HDR
, L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
8981 proto_tree_add_item(subtree
, hf_lbmc_pattern_md_interest_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_HDR_LEN
, L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
8982 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_FLAGS
, hf_lbmc_pattern_md_interest_flags
, ett_lbmc_pattern_md_interest_flags
, flags
, ENC_BIG_ENDIAN
);
8983 proto_tree_add_item(subtree
, hf_lbmc_pattern_md_interest_type
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_TYPE
, L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_TYPE
, ENC_BIG_ENDIAN
);
8984 proto_tree_add_item(subtree
, hf_lbmc_pattern_md_interest_domain_count
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_DOMAIN_COUNT
, L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_DOMAIN_COUNT
, ENC_BIG_ENDIAN
);
8985 proto_tree_add_item(subtree
, hf_lbmc_pattern_md_interest_res1
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_RES1
, L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_RES1
, ENC_BIG_ENDIAN
);
8986 proto_tree_add_item(subtree
, hf_lbmc_pattern_md_interest_index
, tvb
, offset
+ O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_INDEX
, L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_INDEX
, ENC_BIG_ENDIAN
);
8987 len_dissected
= L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T
;
8988 dom_count
= tvb_get_ntohs(tvb
, offset
+ O_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_DOMAIN_COUNT
);
8989 offset
+= L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T
;
8990 for (idx
= 0; idx
< dom_count
; ++idx
)
8992 proto_tree_add_item(subtree
, hf_lbmc_pattern_md_interest_domain_id
, tvb
, offset
, (int)sizeof(lbm_uint32_t
), ENC_BIG_ENDIAN
);
8993 offset
+= (int)sizeof(lbm_uint32_t
);
8994 len_dissected
+= (int)sizeof(lbm_uint32_t
);
8996 proto_item_set_len(subtree_item
, len_dissected
);
8997 return (len_dissected
);
9000 static int dissect_nhdr_lji_req(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9002 proto_item
* subtree_item
= NULL
;
9003 proto_tree
* subtree
= NULL
;
9004 static int * const flags
[] =
9006 &hf_lbmc_lji_req_flags_ignore
,
9007 &hf_lbmc_lji_req_flags_l_flag
,
9008 &hf_lbmc_lji_req_flags_m_flag
,
9009 &hf_lbmc_lji_req_flags_o_flag
,
9013 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_lji_req
, tvb
, offset
, L_LBMC_CNTL_LJI_REQ_HDR_T
, ENC_NA
);
9014 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_lji_req
);
9015 proto_tree_add_item(subtree
, hf_lbmc_lji_req_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_NEXT_HDR
, L_LBMC_CNTL_LJI_REQ_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9016 proto_tree_add_item(subtree
, hf_lbmc_lji_req_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_HDR_LEN
, L_LBMC_CNTL_LJI_REQ_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9017 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_FLAGS
, hf_lbmc_lji_req_flags
, ett_lbmc_lji_req_flags
, flags
, ENC_BIG_ENDIAN
);
9018 proto_tree_add_item(subtree
, hf_lbmc_lji_req_request_idx
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_REQUEST_IDX
, L_LBMC_CNTL_LJI_REQ_HDR_T_REQUEST_IDX
, ENC_BIG_ENDIAN
);
9019 proto_tree_add_item(subtree
, hf_lbmc_lji_req_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_LJI_REQ_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
9020 proto_tree_add_item(subtree
, hf_lbmc_lji_req_topic_idx
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_TOPIC_IDX
, L_LBMC_CNTL_LJI_REQ_HDR_T_TOPIC_IDX
, ENC_BIG_ENDIAN
);
9021 proto_tree_add_item(subtree
, hf_lbmc_lji_req_req_ip
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_REQ_IP
, L_LBMC_CNTL_LJI_REQ_HDR_T_REQ_IP
, ENC_BIG_ENDIAN
);
9022 proto_tree_add_item(subtree
, hf_lbmc_lji_req_req_port
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_REQ_PORT
, L_LBMC_CNTL_LJI_REQ_HDR_T_REQ_PORT
, ENC_BIG_ENDIAN
);
9023 proto_tree_add_item(subtree
, hf_lbmc_lji_req_res
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_RES
, L_LBMC_CNTL_LJI_REQ_HDR_T_RES
, ENC_BIG_ENDIAN
);
9024 proto_tree_add_item(subtree
, hf_lbmc_lji_req_tx_low_sqn
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_TX_LOW_SQN
, L_LBMC_CNTL_LJI_REQ_HDR_T_TX_LOW_SQN
, ENC_BIG_ENDIAN
);
9025 proto_tree_add_item(subtree
, hf_lbmc_lji_req_rx_req_max
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_RX_REQ_MAX
, L_LBMC_CNTL_LJI_REQ_HDR_T_RX_REQ_MAX
, ENC_BIG_ENDIAN
);
9026 proto_tree_add_item(subtree
, hf_lbmc_lji_req_rx_req_outstanding_max
, tvb
, offset
+ O_LBMC_CNTL_LJI_REQ_HDR_T_RX_REQ_OUTSTANDING_MAX
, L_LBMC_CNTL_LJI_REQ_HDR_T_RX_REQ_OUTSTANDING_MAX
, ENC_BIG_ENDIAN
);
9027 return (L_LBMC_CNTL_LJI_REQ_HDR_T
);
9030 static int dissect_nhdr_tnwg_ka(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9032 proto_item
* subtree_item
= NULL
;
9033 proto_tree
* subtree
= NULL
;
9034 static int * const flags
[] =
9036 &hf_lbmc_tnwg_ka_flags_ignore
,
9037 &hf_lbmc_tnwg_ka_flags_q_flag
,
9038 &hf_lbmc_tnwg_ka_flags_r_flag
,
9042 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_tnwg_ka
, tvb
, offset
, L_LBMC_CNTL_TNWG_KA_HDR_T
, ENC_NA
);
9043 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_tnwg_ka
);
9044 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_NEXT_HDR
, L_LBMC_CNTL_TNWG_KA_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9045 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_HDR_LEN
, L_LBMC_CNTL_TNWG_KA_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9046 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_FLAGS
, hf_lbmc_tnwg_ka_flags
, ett_lbmc_tnwg_ka_flags
, flags
, ENC_BIG_ENDIAN
);
9047 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_index
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_INDEX
, L_LBMC_CNTL_TNWG_KA_HDR_T_INDEX
, ENC_BIG_ENDIAN
);
9048 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_ts_seconds
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_TS_SECONDS
, L_LBMC_CNTL_TNWG_KA_HDR_T_TS_SECONDS
, ENC_BIG_ENDIAN
);
9049 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_ts_microseconds
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_TS_MICROSECONDS
, L_LBMC_CNTL_TNWG_KA_HDR_T_TS_MICROSECONDS
, ENC_BIG_ENDIAN
);
9050 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_reserved_1
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_1
, L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_1
, ENC_BIG_ENDIAN
);
9051 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_reserved_2
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_2
, L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_2
, ENC_BIG_ENDIAN
);
9052 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_reserved_3
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_3
, L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_3
, ENC_BIG_ENDIAN
);
9053 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_reserved_4
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_4
, L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_4
, ENC_BIG_ENDIAN
);
9054 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_reserved_5
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_5
, L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_5
, ENC_BIG_ENDIAN
);
9055 proto_tree_add_item(subtree
, hf_lbmc_tnwg_ka_reserved_6
, tvb
, offset
+ O_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_6
, L_LBMC_CNTL_TNWG_KA_HDR_T_RESERVED_6
, ENC_BIG_ENDIAN
);
9056 return (L_LBMC_CNTL_TNWG_KA_HDR_T
);
9059 static int dissect_nhdr_ume_receiver_keepalive(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9061 proto_item
* subtree_item
= NULL
;
9062 proto_tree
* subtree
= NULL
;
9063 static int * const flags
[] =
9065 &hf_lbmc_ume_receiver_keepalive_flags_ignore
,
9069 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_receiver_keepalive
, tvb
, offset
, L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T
, ENC_NA
);
9070 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_receiver_keepalive
);
9071 proto_tree_add_item(subtree
, hf_lbmc_ume_receiver_keepalive_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9072 proto_tree_add_item(subtree
, hf_lbmc_ume_receiver_keepalive_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9073 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_FLAGS
, hf_lbmc_ume_receiver_keepalive_flags
, ett_lbmc_ume_receiver_keepalive_flags
, flags
, ENC_BIG_ENDIAN
);
9074 proto_tree_add_item(subtree
, hf_lbmc_ume_receiver_keepalive_rcv_regid
, tvb
, offset
+ O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_RCV_REGID
, L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_RCV_REGID
, ENC_BIG_ENDIAN
);
9075 proto_tree_add_item(subtree
, hf_lbmc_ume_receiver_keepalive_session_id
, tvb
, offset
+ O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_SESSION_ID
, L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_SESSION_ID
, ENC_BIG_ENDIAN
);
9076 proto_tree_add_item(subtree
, hf_lbmc_ume_receiver_keepalive_ctxinst
, tvb
, offset
+ O_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_CTXINST
, L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_CTXINST
, ENC_NA
);
9077 return (L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T
);
9080 static int dissect_nhdr_umq_ctx_queue_topic_list(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9082 proto_item
* subtree_item
= NULL
;
9083 proto_tree
* subtree
= NULL
;
9085 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_topic_list
, tvb
, offset
, L_LBMC_CNTL_UMQ_CTX_QUEUE_TOPIC_LIST_HDR_T
, ENC_NA
);
9086 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_topic_list
);
9087 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_topic_list_serial_num
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CTX_QUEUE_TOPIC_LIST_HDR_T_SERIAL_NUM
, L_LBMC_CNTL_UMQ_CTX_QUEUE_TOPIC_LIST_HDR_T_SERIAL_NUM
, ENC_BIG_ENDIAN
);
9088 return (L_LBMC_CNTL_UMQ_CTX_QUEUE_TOPIC_LIST_HDR_T
);
9091 static int dissect_nhdr_umq_rcv_msg_retrieve_entry(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9093 proto_item
* subtree_item
= NULL
;
9094 proto_tree
* subtree
= NULL
;
9096 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_msg_retrieve_entry
, tvb
, offset
, L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T
, ENC_NA
);
9097 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_msg_retrieve_entry
);
9098 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_msg_retrieve_entry_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T_REGID
, L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T_REGID
, ENC_BIG_ENDIAN
);
9099 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_msg_retrieve_entry_stamp
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STAMP
, L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STAMP
, ENC_BIG_ENDIAN
);
9100 return (L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_ENTRY_HDR_T
);
9103 static int dissect_nhdr_umq_rcv_msg_retrieve(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9105 proto_item
* subtree_item
= NULL
;
9106 proto_tree
* subtree
= NULL
;
9108 int dissected_len
= 0;
9112 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_msg_retrieve
, tvb
, offset
, L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T
, ENC_NA
);
9113 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_msg_retrieve
);
9114 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_msg_retrieve_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
9115 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_msg_retrieve_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
9116 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_msg_retrieve_info_only
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_INFO_ONLY
, L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_INFO_ONLY
, ENC_BIG_ENDIAN
);
9117 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_msg_retrieve_num_msgids
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_NUM_MSGIDS
, L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_NUM_MSGIDS
, ENC_BIG_ENDIAN
);
9118 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_msg_retrieve_flags
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_FLAGS
, L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_FLAGS
, ENC_BIG_ENDIAN
);
9120 dissected_len
= L_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T
;
9121 num_msgids
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_MSG_RETRIEVE_HDR_T_NUM_MSGIDS
);
9122 for (idx
= 0; idx
< num_msgids
; ++idx
)
9124 len
= dissect_nhdr_umq_rcv_msg_retrieve_entry(tvb
, offset
+ dissected_len
, pinfo
, subtree
);
9125 dissected_len
+= len
;
9127 proto_item_set_len(subtree_item
, dissected_len
);
9128 return (dissected_len
);
9131 static int dissect_nhdr_umq_rcv_msg_list(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9133 proto_item
* subtree_item
= NULL
;
9134 proto_tree
* subtree
= NULL
;
9136 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_msg_list
, tvb
, offset
, L_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T
, ENC_NA
);
9137 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_msg_list
);
9138 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_msg_list_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
9139 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_msg_list_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
9140 return (L_LBMC_CNTL_UMQ_RCV_MSG_LIST_HDR_T
);
9143 static int dissect_nhdr_umq_cmd(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
9145 proto_item
* subtree_item
= NULL
;
9146 proto_tree
* subtree
= NULL
;
9148 static int * const flags
[] =
9150 &hf_lbmc_umq_cmd_flags_ignore
,
9153 int len_dissected
= 0;
9154 uint8_t cmd_type
= 0;
9155 proto_item
* cmd_type_item
= NULL
;
9157 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_HDR_T_HDR_LEN
);
9158 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
9159 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd
);
9160 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_CMD_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9161 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_CMD_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9162 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_HDR_T_FLAGS
, hf_lbmc_umq_cmd_flags
, ett_lbmc_umq_cmd_flags
, flags
, ENC_BIG_ENDIAN
);
9163 cmd_type_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_cmd_type
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_HDR_T_CMD_TYPE
, L_LBMC_CNTL_UMQ_CMD_HDR_T_CMD_TYPE
, ENC_BIG_ENDIAN
);
9164 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_queue_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_HDR_T_QUEUE_ID
, L_LBMC_CNTL_UMQ_CMD_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
9165 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_cmd_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_HDR_T_CMD_ID
, L_LBMC_CNTL_UMQ_CMD_HDR_T_CMD_ID
, ENC_BIG_ENDIAN
);
9166 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_inst_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_HDR_T_INST_IDX
, L_LBMC_CNTL_UMQ_CMD_HDR_T_INST_IDX
, ENC_BIG_ENDIAN
);
9167 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_HDR_T_REGID
, L_LBMC_CNTL_UMQ_CMD_HDR_T_REGID
, ENC_BIG_ENDIAN
);
9168 len_dissected
= L_LBMC_CNTL_UMQ_CMD_HDR_T
;
9169 cmd_type
= tvb_get_uint8(tvb
, O_LBMC_CNTL_UMQ_CMD_HDR_T_CMD_TYPE
);
9172 case LBMC_UMQ_CMD_TYPE_TOPIC_LIST
:
9173 len_dissected
+= dissect_nhdr_umq_ctx_queue_topic_list(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
9175 case LBMC_UMQ_CMD_TYPE_RCV_MSG_RETRIEVE
:
9176 len_dissected
+= dissect_nhdr_umq_rcv_msg_retrieve(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
9178 case LBMC_UMQ_CMD_TYPE_RCV_MSG_LIST
:
9179 len_dissected
+= dissect_nhdr_umq_rcv_msg_list(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
9182 expert_add_info_format(pinfo
, cmd_type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC UMQ CMD cmd_type 0x%02x", cmd_type
);
9185 proto_item_set_len(subtree_item
, len_dissected
);
9186 return (len_dissected
);
9189 static int dissect_nhdr_umq_cmd_resp_rcv_msg_retrieve(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9191 proto_item
* subtree_item
= NULL
;
9192 proto_tree
* subtree
= NULL
;
9194 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_resp_msg_retrieve
, tvb
, offset
, L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T
, ENC_NA
);
9195 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_resp_msg_retrieve
);
9196 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_msg_retrieve_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
9197 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_msg_retrieve_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
9198 return (L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T
);
9201 static int dissect_nhdr_umq_cmd_resp_rcv_xmsg_retrieve(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9203 proto_item
* subtree_item
= NULL
;
9204 proto_tree
* subtree
= NULL
;
9208 proto_item
* entry_item
= NULL
;
9209 proto_tree
* entry_tree
= NULL
;
9212 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve
, tvb
, offset
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T
, ENC_NA
);
9213 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_resp_xmsg_retrieve
);
9214 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve_num_msgs
, tvb
, offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_NUM_MSGS
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_NUM_MSGS
, ENC_BIG_ENDIAN
);
9215 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve_flags
, tvb
, offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_FLAGS
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_FLAGS
, ENC_BIG_ENDIAN
);
9216 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve_reserved
, tvb
, offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_RESERVED
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
9217 len_dissected
= L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T
;
9218 entry_offset
= offset
+ len_dissected
;
9219 num_msgs
= (int)tvb_get_uint8(tvb
, offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_HDR_T_NUM_MSGS
);
9220 for (idx
= 0; idx
< num_msgs
; ++idx
)
9222 entry_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry
, tvb
, entry_offset
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T
, ENC_NA
);
9223 entry_tree
= proto_item_add_subtree(entry_item
, ett_lbmc_umq_cmd_resp_xmsg_retrieve_entry
);
9224 proto_tree_add_item(entry_tree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_regid
, tvb
, entry_offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_REGID
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_REGID
, ENC_BIG_ENDIAN
);
9225 proto_tree_add_item(entry_tree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_stamp
, tvb
, entry_offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STAMP
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STAMP
, ENC_BIG_ENDIAN
);
9226 proto_tree_add_item(entry_tree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_assign_id
, tvb
, entry_offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_ASSIGN_ID
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
9227 proto_tree_add_item(entry_tree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_num_ras
, tvb
, entry_offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_NUM_RAS
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_NUM_RAS
, ENC_BIG_ENDIAN
);
9228 proto_tree_add_item(entry_tree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_status
, tvb
, entry_offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STATUS
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_STATUS
, ENC_BIG_ENDIAN
);
9229 proto_tree_add_item(entry_tree
, hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_reserved
, tvb
, entry_offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_RESERVED
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
9230 entry_offset
+= L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T
;
9231 len_dissected
+= L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_RETRIEVE_ENTRY_HDR_T
;
9233 proto_item_set_len(subtree_item
, len_dissected
);
9234 return (len_dissected
);
9237 static int dissect_nhdr_umq_cmd_resp_rcv_msg_list(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9239 proto_item
* subtree_item
= NULL
;
9240 proto_tree
* subtree
= NULL
;
9242 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_resp_msg_list
, tvb
, offset
, L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T
, ENC_NA
);
9243 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_resp_msg_list
);
9244 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_msg_list_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
9245 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_msg_list_assign_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_ASSIGN_ID
, L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_ASSIGN_ID
, ENC_BIG_ENDIAN
);
9246 return (L_LBMC_CNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T
);
9249 static int dissect_nhdr_umq_cmd_resp_rcv_xmsg_list(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9251 proto_item
* subtree_item
= NULL
;
9252 proto_tree
* subtree
= NULL
;
9253 int len_dissected
= 0;
9254 uint64_t num_msgs
= 0;
9255 int entry_offset
= 0;
9256 proto_item
* entry_item
= NULL
;
9257 proto_tree
* entry_tree
= NULL
;
9260 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_resp_xmsg_list
, tvb
, offset
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T
, ENC_NA
);
9261 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_resp_xmsg_list
);
9262 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_xmsg_list_num_msgs
, tvb
, offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_NUM_MSGS
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_NUM_MSGS
, ENC_BIG_ENDIAN
);
9263 len_dissected
= L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T
;
9264 entry_offset
= offset
+ len_dissected
;
9265 num_msgs
= tvb_get_ntoh64(tvb
, offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_HDR_T_NUM_MSGS
);
9266 for (idx
= 0; idx
< num_msgs
; ++idx
)
9268 entry_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_xmsg_list_entry
, tvb
, entry_offset
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T
, ENC_NA
);
9269 entry_tree
= proto_item_add_subtree(entry_item
, ett_lbmc_umq_cmd_resp_xmsg_list_entry
);
9270 proto_tree_add_item(entry_tree
, hf_lbmc_umq_cmd_resp_xmsg_list_entry_regid
, tvb
, entry_offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T_REGID
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T_REGID
, ENC_BIG_ENDIAN
);
9271 proto_tree_add_item(entry_tree
, hf_lbmc_umq_cmd_resp_xmsg_list_entry_stamp
, tvb
, entry_offset
+ O_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T_STAMP
, L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T_STAMP
, ENC_BIG_ENDIAN
);
9272 entry_offset
+= L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T
;
9273 len_dissected
+= L_LBMC_XCNTL_UMQ_CMD_RESP_RCV_MSG_LIST_MSG_ENTRY_HDR_T
;
9275 proto_item_set_len(subtree_item
, len_dissected
);
9276 return (len_dissected
);
9279 static int dissect_nhdr_umq_cmd_resp_ctx_topic_list_appset_entry(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9281 proto_item
* subtree_item
= NULL
;
9282 proto_tree
* subtree
= NULL
;
9283 int len_dissected
= 0;
9284 uint8_t appset_name_len
;
9285 uint16_t num_receiver_type_ids
;
9287 int receiver_type_id_offset
;
9289 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry
, tvb
, offset
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T
, ENC_NA
);
9290 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry
);
9291 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_num_receiver_type_ids
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_NUM_RECEIVER_TYPE_IDS
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_NUM_RECEIVER_TYPE_IDS
, ENC_BIG_ENDIAN
);
9292 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_appset_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_APPSET_IDX
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_APPSET_IDX
, ENC_BIG_ENDIAN
);
9293 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_appset_name_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_APPSET_NAME_LEN
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_APPSET_NAME_LEN
, ENC_BIG_ENDIAN
);
9294 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_RESERVED
, ENC_NA
);
9295 len_dissected
= L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T
;
9296 appset_name_len
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_APPSET_NAME_LEN
);
9297 len_dissected
+= (int)appset_name_len
;
9298 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_name
, tvb
, offset
+ L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T
, (int)appset_name_len
, ENC_ASCII
);
9299 num_receiver_type_ids
= tvb_get_ntohs(tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_APPSET_ENTRY_HDR_T_NUM_RECEIVER_TYPE_IDS
);
9300 if (num_receiver_type_ids
> 0)
9302 receiver_type_id_offset
= offset
+ len_dissected
;
9303 for (idx
= 0; idx
< num_receiver_type_ids
; ++idx
)
9305 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_receiver_type_id
, tvb
, receiver_type_id_offset
, sizeof(lbm_uint32_t
), ENC_BIG_ENDIAN
);
9306 len_dissected
+= (int)sizeof(lbm_uint32_t
);
9307 receiver_type_id_offset
+= (int)sizeof(lbm_uint32_t
);
9310 proto_item_set_len(subtree_item
, len_dissected
);
9311 return (len_dissected
);
9314 static int dissect_nhdr_umq_cmd_resp_ctx_topic_list_topic_entry(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9316 proto_item
* subtree_item
= NULL
;
9317 proto_tree
* subtree
= NULL
;
9318 int len_dissected
= 0;
9320 uint16_t num_appsets
;
9325 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry
, tvb
, offset
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T
, ENC_NA
);
9326 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_resp_topic_list_topic_entry
);
9327 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_rcr_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_RCR_IDX
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_RCR_IDX
, ENC_BIG_ENDIAN
);
9328 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_num_appsets
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_NUM_APPSETS
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_NUM_APPSETS
, ENC_BIG_ENDIAN
);
9329 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_topic_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_TOPIC_LEN
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_TOPIC_LEN
, ENC_BIG_ENDIAN
);
9330 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
9331 len_dissected
= L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T
;
9332 topic_len
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_TOPIC_LEN
);
9333 len_dissected
+= (int)topic_len
;
9334 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_topic_entry_topic
, tvb
, offset
+ L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T
, (int)topic_len
, ENC_ASCII
);
9335 num_appsets
= tvb_get_ntohs(tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_TOPIC_ENTRY_HDR_T_NUM_APPSETS
);
9336 if (num_appsets
> 0)
9338 appset_offset
= offset
+ len_dissected
;
9339 for (idx
= 0; idx
< num_appsets
; ++idx
)
9341 len
= dissect_nhdr_umq_cmd_resp_ctx_topic_list_appset_entry(tvb
, appset_offset
, pinfo
, subtree
);
9342 appset_offset
+= len
;
9343 len_dissected
+= len
;
9346 proto_item_set_len(subtree_item
, len_dissected
);
9347 return (len_dissected
);
9350 static int dissect_nhdr_umq_cmd_resp_ctx_topic_list(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9352 proto_item
* subtree_item
= NULL
;
9353 proto_tree
* subtree
= NULL
;
9354 int len_dissected
= 0;
9356 uint32_t num_topics
;
9359 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_resp_topic_list
, tvb
, offset
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_HDR_T
, ENC_NA
);
9360 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_resp_topic_list
);
9361 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_topic_list_num_topics
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_HDR_T_NUM_TOPICS
, L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_HDR_T_NUM_TOPICS
, ENC_BIG_ENDIAN
);
9362 len_dissected
= L_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_HDR_T
;
9363 num_topics
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_CTX_TOPIC_LIST_HDR_T_NUM_TOPICS
);
9364 for (idx
= 0; idx
< num_topics
; ++idx
)
9366 len
= dissect_nhdr_umq_cmd_resp_ctx_topic_list_topic_entry(tvb
, offset
+ len_dissected
, pinfo
, subtree
);
9367 len_dissected
+= len
;
9369 proto_item_set_len(subtree_item
, len_dissected
);
9370 return (len_dissected
);
9373 static int dissect_nhdr_umq_cmd_resp_err(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9375 proto_item
* subtree_item
= NULL
;
9376 proto_tree
* subtree
= NULL
;
9377 int len_dissected
= 0;
9380 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_resp_err
, tvb
, offset
, L_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T
, ENC_NA
);
9381 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_resp_err
);
9382 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_err_reserved
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T_RESERVED
, L_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
9383 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_err_code
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T_CODE
, L_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T_CODE
, ENC_BIG_ENDIAN
);
9384 len_dissected
= L_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T
;
9385 errmsg_len
= tvb_reported_length_remaining(tvb
, offset
+ L_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T
);
9386 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_err_errmsg
, tvb
, offset
+ L_LBMC_CNTL_UMQ_CMD_RESP_ERR_HDR_T
, errmsg_len
, ENC_ASCII
);
9387 len_dissected
+= errmsg_len
;
9388 proto_item_set_len(subtree_item
, len_dissected
);
9389 return (len_dissected
);
9392 static int dissect_nhdr_umq_cmd_resp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
, bool data_msg
)
9394 proto_item
* subtree_item
= NULL
;
9395 proto_tree
* subtree
= NULL
;
9397 static int * const flags
[] =
9399 &hf_lbmc_umq_cmd_resp_flags_ignore
,
9402 int len_dissected
= 0;
9405 proto_item
* resp_type_item
= NULL
;
9407 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_HDR_LEN
);
9408 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_cmd_resp
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
9409 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_cmd_resp
);
9410 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9411 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9412 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_FLAGS
, hf_lbmc_umq_cmd_resp_flags
, ett_lbmc_umq_cmd_resp
, flags
, ENC_BIG_ENDIAN
);
9413 resp_type_item
= proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_resp_type
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_RESP_TYPE
, L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_RESP_TYPE
, ENC_BIG_ENDIAN
);
9414 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_queue_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_QUEUE_ID
, L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_QUEUE_ID
, ENC_BIG_ENDIAN
);
9415 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_cmd_id
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_CMD_ID
, L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_CMD_ID
, ENC_BIG_ENDIAN
);
9416 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_inst_idx
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_INST_IDX
, L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_INST_IDX
, ENC_BIG_ENDIAN
);
9417 proto_tree_add_item(subtree
, hf_lbmc_umq_cmd_resp_regid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_REGID
, L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_REGID
, ENC_BIG_ENDIAN
);
9418 len_dissected
= L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T
;
9419 resp_type
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_RESP_TYPE
);
9420 if (tvb_reported_length_remaining(tvb
, offset
+ L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T
) > 0)
9424 case LBMC_UMQ_CMD_RESP_TYPE_CTX_TOPIC_LIST
:
9425 len
= dissect_nhdr_umq_cmd_resp_ctx_topic_list(tvb
, len_dissected
, pinfo
, subtree
);
9427 case LBMC_UMQ_CMD_RESP_TYPE_RCV_MSG_RETRIEVE
:
9430 len
= dissect_nhdr_umq_cmd_resp_rcv_xmsg_retrieve(tvb
, len_dissected
, pinfo
, subtree
);
9434 len
= dissect_nhdr_umq_cmd_resp_rcv_msg_retrieve(tvb
, len_dissected
, pinfo
, subtree
);
9437 case LBMC_UMQ_CMD_RESP_TYPE_RCV_MSG_LIST
:
9440 len
= dissect_nhdr_umq_cmd_resp_rcv_xmsg_list(tvb
, len_dissected
, pinfo
, subtree
);
9444 len
= dissect_nhdr_umq_cmd_resp_rcv_msg_list(tvb
, len_dissected
, pinfo
, subtree
);
9447 case LBMC_UMQ_CMD_RESP_TYPE_ERROR
:
9448 len
= dissect_nhdr_umq_cmd_resp_err(tvb
, len_dissected
, pinfo
, subtree
);
9451 expert_add_info_format(pinfo
, resp_type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC UMQ CMD_RESP cmd_type 0x%02x", resp_type
);
9460 len_dissected
+= len
;
9461 proto_item_set_len(subtree_item
, len_dissected
);
9462 return (len_dissected
);
9465 static int dissect_nhdr_sri_req(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9467 proto_item
* subtree_item
= NULL
;
9468 proto_tree
* subtree
= NULL
;
9469 static int * const flags
[] =
9471 &hf_lbmc_sri_req_flags_ignore
,
9475 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_sri_req
, tvb
, offset
, L_LBMC_CNTL_SRI_REQ_HDR_T
, ENC_NA
);
9476 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_sri_req
);
9477 proto_tree_add_item(subtree
, hf_lbmc_sri_req_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_SRI_REQ_HDR_T_NEXT_HDR
, L_LBMC_CNTL_SRI_REQ_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9478 proto_tree_add_item(subtree
, hf_lbmc_sri_req_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_SRI_REQ_HDR_T_HDR_LEN
, L_LBMC_CNTL_SRI_REQ_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9479 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_SRI_REQ_HDR_T_FLAGS
, hf_lbmc_sri_req_flags
, ett_lbmc_sri_req_flags
, flags
, ENC_BIG_ENDIAN
);
9480 proto_tree_add_item(subtree
, hf_lbmc_sri_req_transport_idx
, tvb
, offset
+ O_LBMC_CNTL_SRI_REQ_HDR_T_TRANSPORT_IDX
, L_LBMC_CNTL_SRI_REQ_HDR_T_TRANSPORT_IDX
, ENC_BIG_ENDIAN
);
9481 proto_tree_add_item(subtree
, hf_lbmc_sri_req_topic_idx
, tvb
, offset
+ O_LBMC_CNTL_SRI_REQ_HDR_T_TOPIC_IDX
, L_LBMC_CNTL_SRI_REQ_HDR_T_TOPIC_IDX
, ENC_BIG_ENDIAN
);
9482 return (L_LBMC_CNTL_SRI_REQ_HDR_T
);
9485 static int dissect_nhdr_ume_store_domain(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9487 proto_item
* subtree_item
= NULL
;
9488 proto_tree
* subtree
= NULL
;
9489 static int * const flags
[] =
9491 &hf_lbmc_ume_store_domain_flags_ignore
,
9495 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_store_domain
, tvb
, offset
, L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T
, ENC_NA
);
9496 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_store_domain
);
9497 proto_tree_add_item(subtree
, hf_lbmc_ume_store_domain_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9498 proto_tree_add_item(subtree
, hf_lbmc_ume_store_domain_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9499 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_FLAGS
, hf_lbmc_ume_store_domain_flags
, ett_lbmc_ume_store_domain_flags
, flags
, ENC_BIG_ENDIAN
);
9500 proto_tree_add_item(subtree
, hf_lbmc_ume_store_domain_domain
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_DOMAIN
, L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_DOMAIN
, ENC_BIG_ENDIAN
);
9501 return (L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T
);
9504 static int dissect_nhdr_sri(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9506 proto_item
* subtree_item
= NULL
;
9507 proto_tree
* subtree
= NULL
;
9508 static int * const flags
[] =
9510 &hf_lbmc_sri_flags_ignore
,
9511 &hf_lbmc_sri_flags_acktosrc
,
9512 &hf_lbmc_sri_flags_initial_sqn_known
,
9516 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_sri
, tvb
, offset
, L_LBMC_CNTL_SRI_HDR_T
, ENC_NA
);
9517 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_sri
);
9518 proto_tree_add_item(subtree
, hf_lbmc_sri_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_SRI_HDR_T_NEXT_HDR
, L_LBMC_CNTL_SRI_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9519 proto_tree_add_item(subtree
, hf_lbmc_sri_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_SRI_HDR_T_HDR_LEN
, L_LBMC_CNTL_SRI_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9520 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_SRI_HDR_T_FLAGS
, hf_lbmc_sri_flags
, ett_lbmc_sri_flags
, flags
, ENC_BIG_ENDIAN
);
9521 proto_tree_add_item(subtree
, hf_lbmc_sri_version
, tvb
, offset
+ O_LBMC_CNTL_SRI_HDR_T_VERSION
, L_LBMC_CNTL_SRI_HDR_T_VERSION
, ENC_BIG_ENDIAN
);
9522 proto_tree_add_item(subtree
, hf_lbmc_sri_low_sqn
, tvb
, offset
+ O_LBMC_CNTL_SRI_HDR_T_LOW_SQN
, L_LBMC_CNTL_SRI_HDR_T_LOW_SQN
, ENC_BIG_ENDIAN
);
9523 proto_tree_add_item(subtree
, hf_lbmc_sri_high_sqn
, tvb
, offset
+ O_LBMC_CNTL_SRI_HDR_T_HIGH_SQN
, L_LBMC_CNTL_SRI_HDR_T_HIGH_SQN
, ENC_BIG_ENDIAN
);
9524 return (L_LBMC_CNTL_SRI_HDR_T
);
9527 static int dissect_nhdr_route_info(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9529 proto_item
* subtree_item
= NULL
;
9530 proto_tree
* subtree
= NULL
;
9531 static int * const flags
[] =
9533 &hf_lbmc_route_info_flags_ignore
,
9537 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_route_info
, tvb
, offset
, L_LBMC_CNTL_ROUTE_INFO_HDR_T
, ENC_NA
);
9538 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_route_info
);
9539 proto_tree_add_item(subtree
, hf_lbmc_route_info_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_NEXT_HDR
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9540 proto_tree_add_item(subtree
, hf_lbmc_route_info_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_HDR_LEN
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9541 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_FLAGS
, hf_lbmc_route_info_flags
, ett_lbmc_route_info_flags
, flags
, ENC_BIG_ENDIAN
);
9542 proto_tree_add_item(subtree
, hf_lbmc_route_info_gateway_version
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_GATEWAY_VERSION
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_GATEWAY_VERSION
, ENC_BIG_ENDIAN
);
9543 proto_tree_add_item(subtree
, hf_lbmc_route_info_configuration_signature
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_CONFIGURATION_SIGNATURE
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_CONFIGURATION_SIGNATURE
, ENC_BIG_ENDIAN
);
9544 proto_tree_add_item(subtree
, hf_lbmc_route_info_node_id
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_NODE_ID
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_NODE_ID
, ENC_BIG_ENDIAN
);
9545 proto_tree_add_item(subtree
, hf_lbmc_route_info_topology
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_TOPOLOGY
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_TOPOLOGY
, ENC_BIG_ENDIAN
);
9546 proto_tree_add_item(subtree
, hf_lbmc_route_info_vers
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_VERS
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_VERS
, ENC_BIG_ENDIAN
);
9547 proto_tree_add_item(subtree
, hf_lbmc_route_info_sqn
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_SQN
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_SQN
, ENC_BIG_ENDIAN
);
9548 proto_tree_add_item(subtree
, hf_lbmc_route_info_ttl
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_TTL
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_TTL
, ENC_BIG_ENDIAN
);
9549 proto_tree_add_item(subtree
, hf_lbmc_route_info_reserved1
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_RESERVED1
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_RESERVED1
, ENC_BIG_ENDIAN
);
9550 proto_tree_add_item(subtree
, hf_lbmc_route_info_reserved2
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_HDR_T_RESERVED2
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_RESERVED2
, ENC_BIG_ENDIAN
);
9551 return (L_LBMC_CNTL_ROUTE_INFO_HDR_T
);
9554 static int dissect_nhdr_route_info_neighbor(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9556 proto_item
* subtree_item
= NULL
;
9557 proto_tree
* subtree
= NULL
;
9558 static int * const flags
[] =
9560 &hf_lbmc_route_info_neighbor_flags_ignore
,
9564 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_route_info_neighbor
, tvb
, offset
, L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T
, ENC_NA
);
9565 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_route_info_neighbor
);
9566 proto_tree_add_item(subtree
, hf_lbmc_route_info_neighbor_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_NEXT_HDR
, L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9567 proto_tree_add_item(subtree
, hf_lbmc_route_info_neighbor_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_HDR_LEN
, L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9568 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_FLAGS
, hf_lbmc_route_info_neighbor_flags
, ett_lbmc_route_info_neighbor_flags
, flags
, ENC_BIG_ENDIAN
);
9569 proto_tree_add_item(subtree
, hf_lbmc_route_info_neighbor_node_id
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_NODE_ID
, L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_NODE_ID
, ENC_BIG_ENDIAN
);
9570 proto_tree_add_item(subtree
, hf_lbmc_route_info_neighbor_ingress_cost
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_INGRESS_COST
, L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_INGRESS_COST
, ENC_BIG_ENDIAN
);
9571 proto_tree_add_item(subtree
, hf_lbmc_route_info_neighbor_egress_cost
, tvb
, offset
+ O_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_EGRESS_COST
, L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_EGRESS_COST
, ENC_BIG_ENDIAN
);
9572 return (L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T
);
9575 static int dissect_nhdr_gateway_name(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9577 proto_item
* subtree_item
= NULL
;
9578 proto_tree
* subtree
= NULL
;
9580 static int * const flags
[] =
9582 &hf_lbmc_gateway_name_flags_ignore
,
9585 int len_dissected
= 0;
9587 proto_item
* hdrlen_item
= NULL
;
9589 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_GATEWAY_NAME_HDR_T_HDR_LEN
);
9590 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_gateway_name
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
9591 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_gateway_name
);
9592 proto_tree_add_item(subtree
, hf_lbmc_gateway_name_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_GATEWAY_NAME_HDR_T_NEXT_HDR
, L_LBMC_CNTL_GATEWAY_NAME_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9593 hdrlen_item
= proto_tree_add_item(subtree
, hf_lbmc_gateway_name_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_GATEWAY_NAME_HDR_T_HDR_LEN
, L_LBMC_CNTL_GATEWAY_NAME_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9594 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_GATEWAY_NAME_HDR_T_FLAGS
, hf_lbmc_gateway_name_flags
, ett_lbmc_gateway_name_flags
, flags
, ENC_BIG_ENDIAN
);
9595 len_dissected
= L_LBMC_BASIC_HDR_T
;
9596 namelen
= (int) hdrlen
- len_dissected
;
9599 proto_tree_add_item(subtree
, hf_lbmc_gateway_name_gateway_name
, tvb
, offset
+ O_LBMC_CNTL_GATEWAY_NAME_HDR_T_FLAGS
+ L_LBMC_CNTL_GATEWAY_NAME_HDR_T_FLAGS
, namelen
, ENC_ASCII
| ENC_NA
);
9600 len_dissected
+= namelen
;
9604 expert_add_info(pinfo
, hdrlen_item
, &ei_lbmc_analysis_length_incorrect
);
9606 proto_item_set_len(subtree_item
, len_dissected
);
9607 return (len_dissected
);
9610 static int dissect_nhdr_auth_request(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9612 proto_item
* subtree_item
= NULL
;
9613 proto_tree
* subtree
= NULL
;
9615 static int * const flags
[] =
9617 &hf_lbmc_auth_request_flags_ignore
,
9620 int len_dissected
= 0;
9624 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_REQUEST_HDR_T_HDR_LEN
);
9625 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_auth_request
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
9626 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_auth_request
);
9627 proto_tree_add_item(subtree
, hf_lbmc_auth_request_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_AUTH_REQUEST_HDR_T_NEXT_HDR
, L_LBMC_CNTL_AUTH_REQUEST_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9628 proto_tree_add_item(subtree
, hf_lbmc_auth_request_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_REQUEST_HDR_T_HDR_LEN
, L_LBMC_CNTL_AUTH_REQUEST_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9629 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_AUTH_REQUEST_HDR_T_FLAGS
, hf_lbmc_auth_request_flags
, ett_lbmc_auth_request_flags
, flags
, ENC_BIG_ENDIAN
);
9630 proto_tree_add_item(subtree
, hf_lbmc_auth_request_opid
, tvb
, offset
+ O_LBMC_CNTL_AUTH_REQUEST_HDR_T_OPID
, L_LBMC_CNTL_AUTH_REQUEST_HDR_T_OPID
, ENC_BIG_ENDIAN
);
9631 proto_tree_add_item(subtree
, hf_lbmc_auth_request_user_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_REQUEST_HDR_T_USER_LEN
, L_LBMC_CNTL_AUTH_REQUEST_HDR_T_USER_LEN
, ENC_BIG_ENDIAN
);
9632 len_dissected
= L_LBMC_CNTL_AUTH_REQUEST_HDR_T
;
9633 data_offset
= offset
+ len_dissected
;
9634 user_len
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_REQUEST_HDR_T_USER_LEN
);
9637 proto_tree_add_item(subtree
, hf_lbmc_auth_request_user_name
, tvb
, data_offset
, (int)user_len
, ENC_ASCII
);
9638 len_dissected
+= (int)user_len
;
9640 proto_item_set_len(subtree_item
, len_dissected
);
9641 return (len_dissected
);
9644 static int dissect_nhdr_auth_challenge(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9646 proto_item
* subtree_item
= NULL
;
9647 proto_tree
* subtree
= NULL
;
9649 static int * const flags
[] =
9651 &hf_lbmc_auth_challenge_flags_ignore
,
9654 int len_dissected
= 0;
9661 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_HDR_LEN
);
9662 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_auth_challenge
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
9663 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_auth_challenge
);
9664 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_NEXT_HDR
, L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9665 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_HDR_LEN
, L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9666 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_FLAGS
, hf_lbmc_auth_challenge_flags
, ett_lbmc_auth_challenge_flags
, flags
, ENC_BIG_ENDIAN
);
9667 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_opid
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_OPID
, L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_OPID
, ENC_BIG_ENDIAN
);
9668 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_mod_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_MOD_LEN
, L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_MOD_LEN
, ENC_BIG_ENDIAN
);
9669 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_gen_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_GEN_LEN
, L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_GEN_LEN
, ENC_BIG_ENDIAN
);
9670 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_salt_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_SALT_LEN
, L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_SALT_LEN
, ENC_BIG_ENDIAN
);
9671 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_pubkey_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_PUBKEY_LEN
, L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_PUBKEY_LEN
, ENC_BIG_ENDIAN
);
9672 len_dissected
= L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T
;
9673 data_offset
= offset
+ len_dissected
;
9674 mod_len
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_MOD_LEN
);
9677 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_mod
, tvb
, data_offset
, (int)mod_len
, ENC_NA
);
9678 len_dissected
+= (int)mod_len
;
9679 data_offset
+= (int)mod_len
;
9681 gen_len
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_GEN_LEN
);
9684 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_gen
, tvb
, data_offset
, (int)gen_len
, ENC_NA
);
9685 len_dissected
+= (int)gen_len
;
9686 data_offset
+= (int)gen_len
;
9688 salt_len
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_SALT_LEN
);
9691 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_salt
, tvb
, data_offset
, (int)salt_len
, ENC_NA
);
9692 len_dissected
+= (int)salt_len
;
9693 data_offset
+= (int)salt_len
;
9695 pubkey_len
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_PUBKEY_LEN
);
9698 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_pubkey
, tvb
, data_offset
, (int)pubkey_len
, ENC_NA
);
9699 len_dissected
+= (int)pubkey_len
;
9701 proto_item_set_len(subtree_item
, len_dissected
);
9702 return (len_dissected
);
9705 static int dissect_nhdr_auth_challenge_rsp(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9707 proto_item
* subtree_item
= NULL
;
9708 proto_tree
* subtree
= NULL
;
9710 static int * const flags
[] =
9712 &hf_lbmc_auth_challenge_rsp_flags_ignore
,
9715 int len_dissected
= 0;
9717 uint8_t evidence_len
;
9720 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_HDR_LEN
);
9721 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_auth_challenge_rsp
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
9722 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_auth_challenge_rsp
);
9723 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_rsp_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_NEXT_HDR
, L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9724 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_rsp_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_HDR_LEN
, L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9725 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_FLAGS
, hf_lbmc_auth_challenge_rsp_flags
, ett_lbmc_auth_challenge_rsp_flags
, flags
, ENC_BIG_ENDIAN
);
9726 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_rsp_opid
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_OPID
, L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_OPID
, ENC_BIG_ENDIAN
);
9727 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_rsp_pubkey_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_PUBKEY_LEN
, L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_PUBKEY_LEN
, ENC_BIG_ENDIAN
);
9728 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_rsp_evidence_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_EVIDENCE_LEN
, L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_EVIDENCE_LEN
, ENC_BIG_ENDIAN
);
9729 len_dissected
= L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T
;
9730 data_offset
= offset
+ len_dissected
;
9731 pubkey_len
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_PUBKEY_LEN
);
9734 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_rsp_pubkey
, tvb
, data_offset
, (int)pubkey_len
, ENC_NA
);
9735 len_dissected
+= (int)pubkey_len
;
9736 data_offset
+= (int)pubkey_len
;
9738 evidence_len
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_EVIDENCE_LEN
);
9739 if (evidence_len
> 0)
9741 proto_tree_add_item(subtree
, hf_lbmc_auth_challenge_rsp_evidence
, tvb
, data_offset
, (int)evidence_len
, ENC_NA
);
9742 len_dissected
+= (int)evidence_len
;
9744 proto_item_set_len(subtree_item
, len_dissected
);
9745 return (len_dissected
);
9748 static int dissect_nhdr_auth_result(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9750 proto_item
* subtree_item
= NULL
;
9751 proto_tree
* subtree
= NULL
;
9752 static int * const flags
[] =
9754 &hf_lbmc_auth_result_flags_ignore
,
9758 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_auth_result
, tvb
, offset
, L_LBMC_CNTL_AUTH_RESULT_HDR_T
, ENC_NA
);
9759 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_auth_result
);
9760 proto_tree_add_item(subtree
, hf_lbmc_auth_result_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_AUTH_RESULT_HDR_T_NEXT_HDR
, L_LBMC_CNTL_AUTH_RESULT_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9761 proto_tree_add_item(subtree
, hf_lbmc_auth_result_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_RESULT_HDR_T_HDR_LEN
, L_LBMC_CNTL_AUTH_RESULT_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9762 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_AUTH_RESULT_HDR_T_FLAGS
, hf_lbmc_auth_result_flags
, ett_lbmc_auth_result_flags
, flags
, ENC_BIG_ENDIAN
);
9763 proto_tree_add_item(subtree
, hf_lbmc_auth_result_opid
, tvb
, offset
+ O_LBMC_CNTL_AUTH_RESULT_HDR_T_OPID
, L_LBMC_CNTL_AUTH_RESULT_HDR_T_OPID
, ENC_BIG_ENDIAN
);
9764 proto_tree_add_item(subtree
, hf_lbmc_auth_result_result
, tvb
, offset
+ O_LBMC_CNTL_AUTH_RESULT_HDR_T_RESULT
, L_LBMC_CNTL_AUTH_RESULT_HDR_T_RESULT
, ENC_BIG_ENDIAN
);
9765 return (L_LBMC_CNTL_AUTH_RESULT_HDR_T
);
9768 static int dissect_nhdr_auth_unknown(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9770 proto_item
* subtree_item
= NULL
;
9771 proto_tree
* subtree
= NULL
;
9773 proto_item
* opid_item
= NULL
;
9775 int len_dissected
= 0;
9777 proto_item
* hdrlen_item
= NULL
;
9779 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_GENERIC_HDR_T_HDR_LEN
);
9780 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_auth_unknown
, tvb
, offset
, (int) hdrlen
, ENC_NA
);
9781 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_auth_unknown
);
9782 proto_tree_add_item(subtree
, hf_lbmc_auth_unknown_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_AUTH_GENERIC_HDR_T_NEXT_HDR
, L_LBMC_CNTL_AUTH_GENERIC_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9783 hdrlen_item
= proto_tree_add_item(subtree
, hf_lbmc_auth_unknown_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_AUTH_GENERIC_HDR_T_HDR_LEN
, L_LBMC_CNTL_AUTH_GENERIC_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9784 proto_tree_add_item(subtree
, hf_lbmc_auth_unknown_flags
, tvb
, offset
+ O_LBMC_CNTL_AUTH_GENERIC_HDR_T_FLAGS
, L_LBMC_CNTL_AUTH_GENERIC_HDR_T_FLAGS
, ENC_BIG_ENDIAN
);
9785 opid_item
= proto_tree_add_item(subtree
, hf_lbmc_auth_unknown_opid
, tvb
, offset
+ O_LBMC_CNTL_AUTH_GENERIC_HDR_T_OPID
, L_LBMC_CNTL_AUTH_GENERIC_HDR_T_OPID
, ENC_BIG_ENDIAN
);
9786 opid
= tvb_get_uint8(tvb
, offset
+ O_LBMC_CNTL_AUTH_GENERIC_HDR_T_OPID
);
9787 expert_add_info_format(pinfo
, opid_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC AUTH OPID 0x%02x", opid
);
9788 len_dissected
= L_LBMC_CNTL_AUTH_GENERIC_HDR_T
;
9789 datalen
= (int) hdrlen
- len_dissected
;
9792 proto_tree_add_item(subtree
, hf_lbmc_auth_unknown_data
, tvb
, offset
+ L_LBMC_CNTL_AUTH_GENERIC_HDR_T
, datalen
, ENC_NA
);
9793 len_dissected
+= datalen
;
9797 expert_add_info(pinfo
, hdrlen_item
, &ei_lbmc_analysis_length_incorrect
);
9799 proto_item_set_len(subtree_item
, len_dissected
);
9800 return (len_dissected
);
9803 static int dissect_nhdr_hmac(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9805 proto_item
* subtree_item
= NULL
;
9806 proto_tree
* subtree
= NULL
;
9807 static int * const flags
[] =
9809 &hf_lbmc_hmac_flags_ignore
,
9813 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_hmac
, tvb
, offset
, L_LBMC_CNTL_HMAC_HDR_T
, ENC_NA
);
9814 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_hmac
);
9815 proto_tree_add_item(subtree
, hf_lbmc_hmac_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_HMAC_HDR_T_NEXT_HDR
, L_LBMC_CNTL_HMAC_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9816 proto_tree_add_item(subtree
, hf_lbmc_hmac_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_HMAC_HDR_T_HDR_LEN
, L_LBMC_CNTL_HMAC_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9817 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_HMAC_HDR_T_FLAGS
, hf_lbmc_hmac_flags
, ett_lbmc_hmac_flags
, flags
, ENC_BIG_ENDIAN
);
9818 proto_tree_add_item(subtree
, hf_lbmc_hmac_padding
, tvb
, offset
+ O_LBMC_CNTL_HMAC_HDR_T_PADDING
, L_LBMC_CNTL_HMAC_HDR_T_PADDING
, ENC_BIG_ENDIAN
);
9819 proto_tree_add_item(subtree
, hf_lbmc_hmac_data
, tvb
, offset
+ O_LBMC_CNTL_HMAC_HDR_T_DATA
, L_LBMC_CNTL_HMAC_HDR_T_DATA
, ENC_NA
);
9820 return (L_LBMC_CNTL_HMAC_HDR_T
);
9823 static int dissect_nhdr_umq_sid(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9825 proto_item
* subtree_item
= NULL
;
9826 proto_tree
* subtree
= NULL
;
9827 static int * const flags
[] =
9829 &hf_lbmc_umq_sid_flags_ignore
,
9833 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_umq_sid
, tvb
, offset
, L_LBMC_CNTL_UMQ_SID_HDR_T
, ENC_NA
);
9834 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_umq_sid
);
9835 proto_tree_add_item(subtree
, hf_lbmc_umq_sid_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UMQ_SID_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UMQ_SID_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9836 proto_tree_add_item(subtree
, hf_lbmc_umq_sid_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UMQ_SID_HDR_T_HDR_LEN
, L_LBMC_CNTL_UMQ_SID_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9837 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UMQ_SID_HDR_T_FLAGS
, hf_lbmc_umq_sid_flags
, ett_lbmc_umq_sid_flags
, flags
, ENC_BIG_ENDIAN
);
9838 proto_tree_add_item(subtree
, hf_lbmc_umq_sid_key
, tvb
, offset
+ O_LBMC_CNTL_UMQ_SID_HDR_T_KEY
, L_LBMC_CNTL_UMQ_SID_HDR_T_KEY
, ENC_BIG_ENDIAN
);
9839 proto_tree_add_item(subtree
, hf_lbmc_umq_sid_sid
, tvb
, offset
+ O_LBMC_CNTL_UMQ_SID_HDR_T_SID
, L_LBMC_CNTL_UMQ_SID_HDR_T_SID
, ENC_BIG_ENDIAN
);
9840 return (L_LBMC_CNTL_UMQ_SID_HDR_T
);
9843 static int dissect_nhdr_destination(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, lbmc_destination_info_t
* info
)
9845 proto_item
* subtree_item
= NULL
;
9846 proto_tree
* subtree
= NULL
;
9847 static int * const flags
[] =
9849 &hf_lbmc_destination_flags_ignore
,
9853 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_destination
, tvb
, offset
, L_LBMC_DESTINATION_HDR_T
, ENC_NA
);
9854 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_destination
);
9855 proto_tree_add_item(subtree
, hf_lbmc_destination_next_hdr
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_NEXT_HDR
, L_LBMC_DESTINATION_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9856 proto_tree_add_item(subtree
, hf_lbmc_destination_hdr_len
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_HDR_LEN
, L_LBMC_DESTINATION_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9857 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_FLAGS
, hf_lbmc_destination_flags
, ett_lbmc_destination_flags
, flags
, ENC_BIG_ENDIAN
);
9858 proto_tree_add_item(subtree
, hf_lbmc_destination_domain_id
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_DOMAIN_ID
, L_LBMC_DESTINATION_HDR_T_DOMAIN_ID
, ENC_BIG_ENDIAN
);
9859 proto_tree_add_item(subtree
, hf_lbmc_destination_ipaddr
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_IPADDR
, L_LBMC_DESTINATION_HDR_T_IPADDR
, ENC_BIG_ENDIAN
);
9860 proto_tree_add_item(subtree
, hf_lbmc_destination_port
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_PORT
, L_LBMC_DESTINATION_HDR_T_PORT
, ENC_BIG_ENDIAN
);
9861 proto_tree_add_item(subtree
, hf_lbmc_destination_hops_taken
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_HOPS_TAKEN
, L_LBMC_DESTINATION_HDR_T_HOPS_TAKEN
, ENC_BIG_ENDIAN
);
9862 proto_tree_add_item(subtree
, hf_lbmc_destination_orig_domain_id
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_ORIG_DOMAIN_ID
, L_LBMC_DESTINATION_HDR_T_ORIG_DOMAIN_ID
, ENC_BIG_ENDIAN
);
9863 proto_tree_add_item(subtree
, hf_lbmc_destination_orig_ipaddr
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_ORIG_IPADDR
, L_LBMC_DESTINATION_HDR_T_ORIG_IPADDR
, ENC_BIG_ENDIAN
);
9864 proto_tree_add_item(subtree
, hf_lbmc_destination_orig_port
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_ORIG_PORT
, L_LBMC_DESTINATION_HDR_T_ORIG_PORT
, ENC_BIG_ENDIAN
);
9865 proto_tree_add_item(subtree
, hf_lbmc_destination_reserved
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_RESERVED
, L_LBMC_DESTINATION_HDR_T_RESERVED
, ENC_BIG_ENDIAN
);
9869 info
->endpoint_a
.domain
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_DOMAIN_ID
);
9870 set_address_tvb(&(info
->endpoint_a
.addr
), AT_IPv4
, L_LBMC_DESTINATION_HDR_T_IPADDR
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_IPADDR
);
9871 info
->endpoint_a
.port
= tvb_get_ntohs(tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_PORT
);
9872 info
->endpoint_b
.domain
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_ORIG_DOMAIN_ID
);
9873 set_address_tvb(&(info
->endpoint_b
.addr
), AT_IPv4
, L_LBMC_DESTINATION_HDR_T_ORIG_IPADDR
, tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_ORIG_IPADDR
);
9874 info
->endpoint_b
.port
= tvb_get_ntohs(tvb
, offset
+ O_LBMC_DESTINATION_HDR_T_ORIG_PORT
);
9876 return (L_LBMC_DESTINATION_HDR_T
);
9879 static int dissect_nhdr_topic_idx(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9881 proto_item
* subtree_item
= NULL
;
9882 proto_tree
* subtree
= NULL
;
9883 static int * const flags
[] =
9885 &hf_lbmc_topic_idx_flags_ignore
,
9889 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_topic_idx
, tvb
, offset
, L_LBMC_TOPIC_IDX_HDR_T
, ENC_NA
);
9890 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_topic_idx
);
9891 proto_tree_add_item(subtree
, hf_lbmc_topic_idx_next_hdr
, tvb
, offset
+ O_LBMC_TOPIC_IDX_HDR_T_NEXT_HDR
, L_LBMC_TOPIC_IDX_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9892 proto_tree_add_item(subtree
, hf_lbmc_topic_idx_hdr_len
, tvb
, offset
+ O_LBMC_TOPIC_IDX_HDR_T_HDR_LEN
, L_LBMC_TOPIC_IDX_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9893 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_TOPIC_IDX_HDR_T_FLAGS
, hf_lbmc_topic_idx_flags
, ett_lbmc_topic_idx_flags
, flags
, ENC_BIG_ENDIAN
);
9894 proto_tree_add_item(subtree
, hf_lbmc_topic_idx_tidx
, tvb
, offset
+ O_LBMC_TOPIC_IDX_HDR_T_TIDX
, L_LBMC_TOPIC_IDX_HDR_T_TIDX
, ENC_BIG_ENDIAN
);
9895 return (L_LBMC_TOPIC_IDX_HDR_T
);
9898 static int dissect_nhdr_topic_source(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9900 proto_item
* subtree_item
= NULL
;
9901 proto_tree
* subtree
= NULL
;
9902 static int * const flags
[] =
9904 &hf_lbmc_topic_source_flags_ignore
,
9905 &hf_lbmc_topic_source_flags_eos
,
9909 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_topic_source
, tvb
, offset
, L_LBMC_CNTL_TOPIC_SOURCE_HDR_T
, ENC_NA
);
9910 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_topic_source
);
9911 proto_tree_add_item(subtree
, hf_lbmc_topic_source_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_HDR_T_NEXT_HDR
, L_LBMC_CNTL_TOPIC_SOURCE_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9912 proto_tree_add_item(subtree
, hf_lbmc_topic_source_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_HDR_T_HDR_LEN
, L_LBMC_CNTL_TOPIC_SOURCE_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9913 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_HDR_T_FLAGS
, hf_lbmc_topic_source_flags
, ett_lbmc_topic_source_flags
, flags
, ENC_BIG_ENDIAN
);
9914 proto_tree_add_item(subtree
, hf_lbmc_topic_source_domain_id
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_HDR_T_DOMAIN_ID
, L_LBMC_CNTL_TOPIC_SOURCE_HDR_T_DOMAIN_ID
, ENC_BIG_ENDIAN
);
9915 return (L_LBMC_CNTL_TOPIC_SOURCE_HDR_T
);
9918 static int dissect_nhdr_topic_source_exfunc(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9920 proto_item
* subtree_item
= NULL
;
9921 proto_tree
* subtree
= NULL
;
9922 static int * const flags
[] =
9924 &hf_lbmc_topic_source_exfunc_flags_ignore
,
9927 static int * const functionality_flags
[] =
9929 &hf_lbmc_topic_source_exfunc_functionality_flags_lj
,
9930 &hf_lbmc_topic_source_exfunc_functionality_flags_ume
,
9931 &hf_lbmc_topic_source_exfunc_functionality_flags_umq
,
9932 &hf_lbmc_topic_source_exfunc_functionality_flags_ulb
,
9936 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_topic_source_exfunc
, tvb
, offset
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T
, ENC_NA
);
9937 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_topic_source_exfunc
);
9938 proto_tree_add_item(subtree
, hf_lbmc_topic_source_exfunc_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_NEXT_HDR
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9939 proto_tree_add_item(subtree
, hf_lbmc_topic_source_exfunc_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_HDR_LEN
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9940 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FLAGS
, hf_lbmc_topic_source_exfunc_flags
, ett_lbmc_topic_source_exfunc_flags
, flags
, ENC_BIG_ENDIAN
);
9941 proto_tree_add_item(subtree
, hf_lbmc_topic_source_exfunc_src_ip
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_SRC_IP
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_SRC_IP
, ENC_BIG_ENDIAN
);
9942 proto_tree_add_item(subtree
, hf_lbmc_topic_source_exfunc_src_port
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_SRC_PORT
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_SRC_PORT
, ENC_BIG_ENDIAN
);
9943 proto_tree_add_item(subtree
, hf_lbmc_topic_source_exfunc_unused
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_UNUSED
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_UNUSED
, ENC_BIG_ENDIAN
);
9944 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FUNCTIONALITY_FLAGS
, hf_lbmc_topic_source_exfunc_functionality_flags
, ett_lbmc_topic_source_exfunc_functionality_flags
, functionality_flags
, ENC_BIG_ENDIAN
);
9945 return (L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T
);
9948 static int dissect_nhdr_ume_store_ext(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9950 proto_item
* subtree_item
= NULL
;
9951 proto_tree
* subtree
= NULL
;
9952 static int * const flags
[] =
9954 &hf_lbmc_ume_store_ext_flags_ignore
,
9958 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_store_ext
, tvb
, offset
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T
, ENC_NA
);
9959 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_store_ext
);
9960 proto_tree_add_item(subtree
, hf_lbmc_ume_store_ext_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_EXT_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9961 proto_tree_add_item(subtree
, hf_lbmc_ume_store_ext_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_EXT_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9962 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_EXT_HDR_T_FLAGS
, hf_lbmc_ume_store_ext_flags
, ett_lbmc_ume_store_ext_flags
, flags
, ENC_BIG_ENDIAN
);
9963 proto_tree_add_item(subtree
, hf_lbmc_ume_store_ext_grp_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_EXT_HDR_T_GRP_IDX
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T_GRP_IDX
, ENC_BIG_ENDIAN
);
9964 proto_tree_add_item(subtree
, hf_lbmc_ume_store_ext_store_tcp_port
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_TCP_PORT
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_TCP_PORT
, ENC_BIG_ENDIAN
);
9965 proto_tree_add_item(subtree
, hf_lbmc_ume_store_ext_store_idx
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_IDX
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_IDX
, ENC_BIG_ENDIAN
);
9966 proto_tree_add_item(subtree
, hf_lbmc_ume_store_ext_store_ip_addr
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_IP_ADDR
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T_STORE_IP_ADDR
, ENC_BIG_ENDIAN
);
9967 proto_tree_add_item(subtree
, hf_lbmc_ume_store_ext_src_reg_id
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_EXT_HDR_T_SRC_REG_ID
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T_SRC_REG_ID
, ENC_BIG_ENDIAN
);
9968 proto_tree_add_item(subtree
, hf_lbmc_ume_store_ext_domain_id
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_EXT_HDR_T_DOMAIN_ID
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T_DOMAIN_ID
, ENC_BIG_ENDIAN
);
9969 proto_tree_add_item(subtree
, hf_lbmc_ume_store_ext_version
, tvb
, offset
+ O_LBMC_CNTL_UME_STORE_EXT_HDR_T_VERSION
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T_VERSION
, ENC_BIG_ENDIAN
);
9970 return (L_LBMC_CNTL_UME_STORE_EXT_HDR_T
);
9973 static int dissect_nhdr_ume_psrc_election_token(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
9975 proto_item
* subtree_item
= NULL
;
9976 proto_tree
* subtree
= NULL
;
9977 static int * const flags
[] =
9979 &hf_lbmc_ume_psrc_election_token_flags_ignore
,
9983 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_ume_psrc_election_token
, tvb
, offset
, L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T
, ENC_NA
);
9984 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_ume_psrc_election_token
);
9985 proto_tree_add_item(subtree
, hf_lbmc_ume_psrc_election_token_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_NEXT_HDR
, L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
9986 proto_tree_add_item(subtree
, hf_lbmc_ume_psrc_election_token_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_HDR_LEN
, L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
9987 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_FLAGS
, hf_lbmc_ume_psrc_election_token_flags
, ett_lbmc_ume_psrc_election_token_flags
, flags
, ENC_BIG_ENDIAN
);
9988 proto_tree_add_item(subtree
, hf_lbmc_ume_psrc_election_token_store_index
, tvb
, offset
+ O_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_STORE_INDEX
, L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_STORE_INDEX
, ENC_BIG_ENDIAN
);
9989 proto_tree_add_item(subtree
, hf_lbmc_ume_psrc_election_token_token
, tvb
, offset
+ O_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_TOKEN
, L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_TOKEN
, ENC_BIG_ENDIAN
);
9990 return (L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T
);
9993 static int dissect_nhdr_tcp_sid(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
, lbmc_tcp_sid_info_t
* info
)
9995 proto_item
* subtree_item
= NULL
;
9996 proto_tree
* subtree
= NULL
;
9997 static int * const flags
[] =
9999 &hf_lbmc_tcp_sid_flags_ignore
,
10003 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_tcp_sid
, tvb
, offset
, L_LBMC_CNTL_TCP_SID_HDR_T
, ENC_NA
);
10004 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_tcp_sid
);
10005 proto_tree_add_item(subtree
, hf_lbmc_tcp_sid_next_hdr
, tvb
, offset
+ O_LBMC_CNTL_TCP_SID_HDR_T_NEXT_HDR
, L_LBMC_CNTL_TCP_SID_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
10006 proto_tree_add_item(subtree
, hf_lbmc_tcp_sid_hdr_len
, tvb
, offset
+ O_LBMC_CNTL_TCP_SID_HDR_T_HDR_LEN
, L_LBMC_CNTL_TCP_SID_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
10007 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_CNTL_TCP_SID_HDR_T_FLAGS
, hf_lbmc_tcp_sid_flags
, ett_lbmc_tcp_sid_flags
, flags
, ENC_BIG_ENDIAN
);
10008 proto_tree_add_item(subtree
, hf_lbmc_tcp_sid_sid
, tvb
, offset
+ O_LBMC_CNTL_TCP_SID_HDR_T_SID
, L_LBMC_CNTL_TCP_SID_HDR_T_SID
, ENC_BIG_ENDIAN
);
10012 info
->session_id
= tvb_get_ntohl(tvb
, offset
+ O_LBMC_CNTL_TCP_SID_HDR_T_SID
);
10014 return (L_LBMC_CNTL_TCP_SID_HDR_T
);
10017 static int dissect_nhdr_extopt_cfgopt(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo _U_
, proto_tree
* tree
)
10020 Returns number of bytes dissected (>=0), or -1 if an error occurs. In either case, *bytes_dissected
10021 will contain the number of bytes successfully dissected.
10023 proto_item
* subtree_item
= NULL
;
10024 proto_tree
* subtree
= NULL
;
10025 int curr_offset
= offset
;
10026 int len_dissected
= 0;
10028 while (tvb_reported_length_remaining(tvb
, curr_offset
) > L_LBMC_EXTOPT_CFGOPT_HDR_T
)
10030 int name_offset
= 0;
10032 int value_offset
= 0;
10034 int optlen
= L_LBMC_EXTOPT_CFGOPT_HDR_T
;
10036 name_offset
= curr_offset
+ L_LBMC_EXTOPT_CFGOPT_HDR_T
;
10037 name_len
= tvb_strsize(tvb
, name_offset
);
10038 optlen
+= name_len
;
10039 value_offset
= name_offset
+ name_len
;
10040 value_len
= tvb_strsize(tvb
, value_offset
);
10041 optlen
+= value_len
;
10042 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_extopt_cfgopt
, tvb
, curr_offset
, optlen
, ENC_NA
);
10043 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_extopt_cfgopt
);
10044 proto_tree_add_item(subtree
, hf_lbmc_extopt_cfgopt_scope
, tvb
, curr_offset
+ O_LBMC_EXTOPT_CFGOPT_HDR_T_SCOPE
, L_LBMC_EXTOPT_CFGOPT_HDR_T_SCOPE
, ENC_BIG_ENDIAN
);
10045 proto_tree_add_item(subtree
, hf_lbmc_extopt_cfgopt_parent
, tvb
, curr_offset
+ O_LBMC_EXTOPT_CFGOPT_HDR_T_PARENT
, L_LBMC_EXTOPT_CFGOPT_HDR_T_PARENT
, ENC_BIG_ENDIAN
);
10046 proto_tree_add_item(subtree
, hf_lbmc_extopt_cfgopt_name
, tvb
, name_offset
, name_len
, ENC_ASCII
);
10047 proto_tree_add_item(subtree
, hf_lbmc_extopt_cfgopt_value
, tvb
, value_offset
, value_len
, ENC_ASCII
);
10048 curr_offset
+= optlen
;
10049 len_dissected
+= optlen
;
10051 return (len_dissected
);
10054 static int dissect_nhdr_extopt(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
, lbmc_extopt_reassembled_data_t
* reassembly
)
10056 proto_item
* subtree_item
= NULL
;
10057 proto_tree
* subtree
= NULL
;
10058 uint8_t hdrlen
= 0;
10059 static int * const flags
[] =
10061 &hf_lbmc_extopt_flags_ignore
,
10062 &hf_lbmc_extopt_flags_ignore_subtype
,
10063 &hf_lbmc_extopt_flags_more_fragments
,
10066 proto_item
* ritem
= NULL
;
10067 proto_tree
* rtree
= NULL
, *fragment_item
;
10068 uint8_t flags_val
= 0;
10069 int len_dissected
= 0;
10072 uint16_t fragment_offset
;
10075 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_EXTOPT_HDR_T_HDR_LEN
);
10076 flags_val
= tvb_get_uint8(tvb
, offset
+ O_LBMC_EXTOPT_HDR_T_FLAGS
);
10077 subtype
= tvb_get_ntohs(tvb
, offset
+ O_LBMC_EXTOPT_HDR_T_SUBTYPE
);
10078 fragment_offset
= tvb_get_ntohs(tvb
, offset
+ O_LBMC_EXTOPT_HDR_T_FRAGMENT_OFFSET
);
10079 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_extopt
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
10080 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_extopt
);
10081 proto_tree_add_item(subtree
, hf_lbmc_extopt_next_hdr
, tvb
, offset
+ O_LBMC_EXTOPT_HDR_T_NEXT_HDR
, L_LBMC_EXTOPT_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
10082 proto_tree_add_item(subtree
, hf_lbmc_extopt_hdr_len
, tvb
, offset
+ O_LBMC_EXTOPT_HDR_T_HDR_LEN
, L_LBMC_EXTOPT_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
10083 proto_tree_add_bitmask(subtree
, tvb
, offset
+ O_LBMC_EXTOPT_HDR_T_FLAGS
, hf_lbmc_extopt_flags
, ett_lbmc_extopt_flags
, flags
, ENC_BIG_ENDIAN
);
10084 proto_tree_add_item(subtree
, hf_lbmc_extopt_id
, tvb
, offset
+ O_LBMC_EXTOPT_HDR_T_ID
, L_LBMC_EXTOPT_HDR_T_ID
, ENC_BIG_ENDIAN
);
10085 proto_tree_add_item(subtree
, hf_lbmc_extopt_subtype
, tvb
, offset
+ O_LBMC_EXTOPT_HDR_T_SUBTYPE
, L_LBMC_EXTOPT_HDR_T_SUBTYPE
, ENC_BIG_ENDIAN
);
10086 fragment_item
= proto_tree_add_item(subtree
, hf_lbmc_extopt_fragment_offset
, tvb
, offset
+ O_LBMC_EXTOPT_HDR_T_FRAGMENT_OFFSET
, L_LBMC_EXTOPT_HDR_T_FRAGMENT_OFFSET
, ENC_BIG_ENDIAN
);
10087 len_dissected
= L_LBMC_EXTOPT_HDR_T
;
10088 data_len
= (int)hdrlen
- len_dissected
;
10089 data_offset
= offset
+ len_dissected
;
10090 len_dissected
+= data_len
;
10091 if ((flags_val
& LBMC_EXTOPT_FLAG_MORE_FRAGMENT
) == 0)
10093 /* No more fragments. Do we have a reassembly already started? */
10094 if (reassembly
->reassembly_in_progress
)
10096 tvbuff_t
* reassembly_tvb
;
10098 proto_item
* pi
= NULL
;
10100 if ((reassembly
->len
+ fragment_offset
+ data_len
) < LBMC_EXTOPT_REASSEMBLED_DATA_MAX_LEN
)
10102 tvb_memcpy(tvb
, reassembly
->data
+ fragment_offset
, data_offset
, data_len
);
10103 reassembly
->len
+= data_len
;
10104 buf
= (char *) wmem_memdup(pinfo
->pool
, reassembly
->data
, reassembly
->len
);
10105 reassembly_tvb
= tvb_new_real_data(buf
, reassembly
->len
, reassembly
->len
);
10106 add_new_data_source(pinfo
, reassembly_tvb
, "Reassembled EXTOPT fragment data");
10110 expert_add_info(pinfo
, fragment_item
, &ei_lbmc_extopt_fragment_offset
);
10111 return (len_dissected
);
10113 proto_tree_add_item(subtree
, hf_lbmc_extopt_data
, tvb
, data_offset
, data_len
, ENC_NA
);
10114 ritem
= proto_tree_add_item(tree
, hf_lbmc_extopt_reassembled_data
, reassembly_tvb
, 0, reassembly
->len
, ENC_NA
);
10115 rtree
= proto_item_add_subtree(ritem
, ett_lbmc_extopt_reassembled_data
);
10116 pi
= proto_tree_add_uint(rtree
, hf_lbmc_extopt_reassembled_data_subtype
, reassembly_tvb
, 0, 0, reassembly
->subtype
);
10117 proto_item_set_generated(pi
);
10118 pi
= proto_tree_add_uint(rtree
, hf_lbmc_extopt_reassembled_data_len
, reassembly_tvb
, 0, 0, (uint32_t)reassembly
->len
);
10119 proto_item_set_generated(pi
);
10120 switch (reassembly
->subtype
)
10122 case LBMC_EXT_NHDR_MSGSEL
:
10123 proto_tree_add_item(rtree
, hf_lbmc_extopt_reassembled_data_msgsel
, reassembly_tvb
, 0, reassembly
->len
, ENC_ASCII
);
10125 case LBMC_EXT_NHDR_CFGOPT
:
10126 len_dissected
+= dissect_nhdr_extopt_cfgopt(reassembly_tvb
, 0, pinfo
, rtree
);
10129 proto_tree_add_item(rtree
, hf_lbmc_extopt_reassembled_data_data
, reassembly_tvb
, 0, reassembly
->len
, ENC_NA
);
10132 lbmc_init_extopt_reassembled_data(reassembly
);
10138 case LBMC_EXT_NHDR_MSGSEL
:
10139 proto_tree_add_item(subtree
, hf_lbmc_extopt_msgsel
, tvb
, data_offset
, data_len
, ENC_ASCII
);
10141 case LBMC_EXT_NHDR_CFGOPT
:
10142 len_dissected
+= dissect_nhdr_extopt_cfgopt(tvb
, data_offset
, pinfo
, subtree
);
10145 proto_tree_add_item(subtree
, hf_lbmc_extopt_data
, tvb
, data_offset
, data_len
, ENC_NA
);
10152 /* Self-contained extended option. */
10153 if (reassembly
->reassembly_in_progress
)
10155 if ((reassembly
->len
+ fragment_offset
+ data_len
) < LBMC_EXTOPT_REASSEMBLED_DATA_MAX_LEN
)
10157 tvb_memcpy(tvb
, reassembly
->data
+ fragment_offset
, data_offset
, data_len
);
10158 reassembly
->len
+= data_len
;
10159 proto_tree_add_item(subtree
, hf_lbmc_extopt_data
, tvb
, offset
+ len_dissected
, data_len
, ENC_NA
);
10163 expert_add_info(pinfo
, fragment_item
, &ei_lbmc_extopt_fragment_offset
);
10164 return (len_dissected
);
10169 reassembly
->reassembly_in_progress
= true;
10170 reassembly
->subtype
= subtype
;
10171 reassembly
->len
= 0;
10172 if (fragment_offset
!= 0)
10174 expert_add_info_format(pinfo
, NULL
, &ei_lbmc_analysis_no_reassembly
, "LBMC EXTOPT: reassembly not in progress but fragment_offset not zero (%" PRIu16
")", fragment_offset
);
10178 if ((reassembly
->len
+ fragment_offset
+ data_len
) < LBMC_EXTOPT_REASSEMBLED_DATA_MAX_LEN
)
10180 tvb_memcpy(tvb
, reassembly
->data
+ fragment_offset
, data_offset
, data_len
);
10181 reassembly
->len
+= data_len
;
10185 expert_add_info(pinfo
, fragment_item
, &ei_lbmc_extopt_fragment_offset
);
10186 return (len_dissected
);
10189 proto_tree_add_item(subtree
, hf_lbmc_extopt_data
, tvb
, data_offset
, data_len
, ENC_NA
);
10192 proto_item_set_len(subtree_item
, len_dissected
);
10193 return (len_dissected
);
10196 static int dissect_nhdr_unhandled(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
, uint8_t next_hdr
)
10198 proto_item
* subtree_item
= NULL
;
10199 proto_tree
* subtree
= NULL
;
10200 uint8_t hdrlen
= 0;
10201 int len_dissected
= 0;
10203 proto_item
* hdrlen_item
= NULL
;
10205 hdrlen
= tvb_get_uint8(tvb
, offset
+ O_LBMC_BASIC_HDR_T_HDR_LEN
);
10206 subtree_item
= proto_tree_add_item(tree
, hf_lbmc_unhandled
, tvb
, offset
, (int)hdrlen
, ENC_NA
);
10207 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc_unhandled_hdr
);
10208 expert_add_info_format(pinfo
, subtree_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC header type 0x%02x", next_hdr
);
10209 proto_tree_add_item(subtree
, hf_lbmc_unhandled_next_hdr
, tvb
, offset
+ O_LBMC_UNHANDLED_HDR_T_NEXT_HDR
, L_LBMC_UNHANDLED_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
10210 hdrlen_item
= proto_tree_add_item(subtree
, hf_lbmc_unhandled_hdr_len
, tvb
, offset
+ O_LBMC_UNHANDLED_HDR_T_HDR_LEN
, L_LBMC_UNHANDLED_HDR_T_HDR_LEN
, ENC_BIG_ENDIAN
);
10211 len_dissected
= L_LBMC_UNHANDLED_HDR_T_NEXT_HDR
+ L_LBMC_UNHANDLED_HDR_T_HDR_LEN
;
10212 datalen
= (int) hdrlen
- len_dissected
;
10215 proto_tree_add_item(subtree
, hf_lbmc_unhandled_data
, tvb
, offset
+ O_LBMC_UNHANDLED_HDR_T_HDR_LEN
+ L_LBMC_UNHANDLED_HDR_T_HDR_LEN
, datalen
, ENC_NA
);
10216 len_dissected
+= datalen
;
10220 expert_add_info(pinfo
, hdrlen_item
, &ei_lbmc_analysis_length_incorrect
);
10222 proto_item_set_len(subtree_item
, len_dissected
);
10223 return (len_dissected
);
10226 static int dissect_msg_properties(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
)
10228 proto_item
* subtree_item
= NULL
;
10229 proto_tree
* subtree
= NULL
;
10230 proto_item
* data_item
= NULL
;
10231 proto_tree
* data_tree
= NULL
;
10232 proto_item
* field_item
= NULL
;
10233 proto_tree
* field_tree
= NULL
;
10235 uint16_t num_fields
;
10240 proto_item
* magic_item
= NULL
;
10242 magic
= tvb_get_letohl(tvb
, offset
+ O_LBM_MSG_PROPERTIES_DATA_T_MAGIC
);
10243 encoding
= ENC_LITTLE_ENDIAN
;
10244 if (magic
== LBM_MSG_PROPERTIES_MAGIC
)
10246 encoding
= ENC_LITTLE_ENDIAN
;
10248 else if (magic
== LBM_MSG_PROPERTIES_ANTIMAGIC
)
10250 encoding
= ENC_BIG_ENDIAN
;
10254 magic
= 0xffffffff;
10256 data_length
= tvb_reported_length_remaining(tvb
, offset
);
10257 subtree_item
= proto_tree_add_item(tree
, hf_lbm_msg_properties
, tvb
, offset
, data_length
, encoding
);
10258 subtree
= proto_item_add_subtree(subtree_item
, ett_lbm_msg_properties
);
10259 data_item
= proto_tree_add_item(subtree
, hf_lbm_msg_properties_data
, tvb
, offset
+ O_LBM_MSG_PROPERTIES_DATA_T_MAGIC
, L_LBM_MSG_PROPERTIES_DATA_T
, encoding
);
10260 data_tree
= proto_item_add_subtree(data_item
, ett_lbm_msg_properties_data
);
10261 magic_item
= proto_tree_add_item(data_tree
, hf_lbm_msg_properties_data_magic
, tvb
, offset
+ O_LBM_MSG_PROPERTIES_DATA_T_MAGIC
, L_LBM_MSG_PROPERTIES_DATA_T_MAGIC
, ENC_LITTLE_ENDIAN
);
10262 proto_tree_add_item(data_tree
, hf_lbm_msg_properties_data_num_fields
, tvb
, offset
+ O_LBM_MSG_PROPERTIES_DATA_T_NUM_FIELDS
, L_LBM_MSG_PROPERTIES_DATA_T_NUM_FIELDS
, encoding
);
10263 proto_tree_add_item(data_tree
, hf_lbm_msg_properties_data_version
, tvb
, offset
+ O_LBM_MSG_PROPERTIES_DATA_T_VERTYPE
, L_LBM_MSG_PROPERTIES_DATA_T_VERTYPE
, encoding
);
10264 proto_tree_add_item(data_tree
, hf_lbm_msg_properties_data_type
, tvb
, offset
+ O_LBM_MSG_PROPERTIES_DATA_T_VERTYPE
, L_LBM_MSG_PROPERTIES_DATA_T_VERTYPE
, encoding
);
10265 proto_tree_add_item(data_tree
, hf_lbm_msg_properties_data_res
, tvb
, offset
+ O_LBM_MSG_PROPERTIES_DATA_T_RES
, L_LBM_MSG_PROPERTIES_DATA_T_RES
, encoding
);
10266 if ((magic
!= LBM_MSG_PROPERTIES_MAGIC
) && (magic
!= LBM_MSG_PROPERTIES_ANTIMAGIC
))
10268 expert_add_info_format(pinfo
, magic_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC Message Properties MAGIC value");
10269 return (L_LBM_MSG_PROPERTIES_DATA_T
);
10271 if (encoding
== ENC_LITTLE_ENDIAN
)
10273 num_fields
= tvb_get_letohs(tvb
, offset
+ O_LBM_MSG_PROPERTIES_DATA_T_NUM_FIELDS
);
10277 num_fields
= tvb_get_ntohs(tvb
, offset
+ O_LBM_MSG_PROPERTIES_DATA_T_NUM_FIELDS
);
10279 field_offset
= offset
+ L_LBM_MSG_PROPERTIES_DATA_T
;
10280 for (idx
= 0; idx
< num_fields
; ++idx
)
10282 uint32_t key_offset
;
10283 uint32_t value_offset
;
10285 int actual_key_offset
;
10286 int actual_value_offset
;
10289 proto_item
* type_item
= NULL
;
10291 if (encoding
== ENC_LITTLE_ENDIAN
)
10293 key_offset
= tvb_get_letohl(tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_KEY_OFFSET
);
10294 value_offset
= tvb_get_letohl(tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_VALUE_OFFSET
);
10295 type
= tvb_get_letohl(tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_TYPE
);
10299 key_offset
= tvb_get_ntohl(tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_KEY_OFFSET
);
10300 value_offset
= tvb_get_ntohl(tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_VALUE_OFFSET
);
10301 type
= tvb_get_ntohl(tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_TYPE
);
10303 actual_key_offset
= (int) key_offset
;
10304 actual_value_offset
= (int) value_offset
;
10305 field_item
= proto_tree_add_item(subtree
, hf_lbm_msg_properties_hdr
, tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_KEY_OFFSET
, L_LBM_MSG_PROPERTIES_HDR_T
, encoding
);
10306 field_tree
= proto_item_add_subtree(field_item
, ett_lbm_msg_properties_hdr
);
10307 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_key_offset
, tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_KEY_OFFSET
, L_LBM_MSG_PROPERTIES_HDR_T_KEY_OFFSET
, encoding
);
10308 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_value_offset
, tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_VALUE_OFFSET
, L_LBM_MSG_PROPERTIES_HDR_T_VALUE_OFFSET
, encoding
);
10309 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_hash
, tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_HASH
, L_LBM_MSG_PROPERTIES_HDR_T_HASH
, encoding
);
10310 type_item
= proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_type
, tvb
, field_offset
+ O_LBM_MSG_PROPERTIES_HDR_T_TYPE
, L_LBM_MSG_PROPERTIES_HDR_T_TYPE
, encoding
);
10313 case LBM_MSG_PROPERTY_BOOLEAN
:
10314 case LBM_MSG_PROPERTY_BYTE
:
10317 case LBM_MSG_PROPERTY_SHORT
:
10320 case LBM_MSG_PROPERTY_INT
:
10321 case LBM_MSG_PROPERTY_FLOAT
:
10324 case LBM_MSG_PROPERTY_LONG
:
10325 case LBM_MSG_PROPERTY_DOUBLE
:
10328 case LBM_MSG_PROPERTY_STRING
:
10329 value_len
= (int)tvb_strsize(tvb
, actual_value_offset
);
10332 expert_add_info_format(pinfo
, type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC Message Properties type 0x%08x", type
);
10336 key_len
= (int)tvb_strsize(tvb
, actual_key_offset
);
10337 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_key
, tvb
, offset
+ actual_key_offset
, key_len
, encoding
);
10340 case LBM_MSG_PROPERTY_BOOLEAN
:
10341 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_boolean_value
, tvb
, offset
+ actual_value_offset
, value_len
, encoding
);
10343 case LBM_MSG_PROPERTY_BYTE
:
10344 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_byte_value
, tvb
, offset
+ actual_value_offset
, value_len
, encoding
);
10346 case LBM_MSG_PROPERTY_SHORT
:
10347 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_short_value
, tvb
, offset
+ actual_value_offset
, value_len
, encoding
);
10349 case LBM_MSG_PROPERTY_INT
:
10350 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_int_value
, tvb
, offset
+ actual_value_offset
, value_len
, encoding
);
10352 case LBM_MSG_PROPERTY_FLOAT
:
10353 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_float_value
, tvb
, offset
+ actual_value_offset
, value_len
, encoding
);
10355 case LBM_MSG_PROPERTY_LONG
:
10356 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_long_value
, tvb
, offset
+ actual_value_offset
, value_len
, encoding
);
10358 case LBM_MSG_PROPERTY_DOUBLE
:
10359 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_double_value
, tvb
, offset
+ actual_value_offset
, value_len
, encoding
);
10361 case LBM_MSG_PROPERTY_STRING
:
10362 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_string_value
, tvb
, offset
+ actual_value_offset
, value_len
, encoding
);
10365 proto_tree_add_item(field_tree
, hf_lbm_msg_properties_hdr_unknown_value
, tvb
, offset
+ actual_value_offset
, value_len
, encoding
);
10368 field_offset
+= L_LBM_MSG_PROPERTIES_HDR_T
;
10370 return (data_length
);
10373 /*----------------------------------------------------------------------------*/
10374 /* Miscellaneous functions. */
10375 /*----------------------------------------------------------------------------*/
10376 static const char * lbmc_determine_msg_type(const uint8_t * header_array
)
10378 if (header_array
[LBMC_NHDR_SSF_INIT
] != 0)
10380 return ("SSF-INIT");
10382 else if (header_array
[LBMC_NHDR_SSF_CREQ
] != 0)
10384 return ("SSF-CREQ");
10386 else if (header_array
[LBMC_NHDR_UME_PREG
] != 0)
10390 else if (header_array
[LBMC_NHDR_UME_PREG_RESP
] != 0)
10392 return ("PREG-RESP");
10394 else if (header_array
[LBMC_NHDR_UME_ACK
] != 0)
10398 else if (header_array
[LBMC_NHDR_UME_RXREQ
] != 0)
10402 else if (header_array
[LBMC_NHDR_UME_KEEPALIVE
] != 0)
10406 else if (header_array
[LBMC_NHDR_UME_CAPABILITY
] != 0)
10408 return ("UME-CAP");
10410 else if (header_array
[LBMC_NHDR_TSNI
] != 0)
10414 else if (header_array
[LBMC_NHDR_UMQ_REG
] != 0)
10416 return ("UMQ-REG");
10418 else if (header_array
[LBMC_NHDR_UMQ_REG_RESP
] != 0)
10420 return ("UMQ-REG-RSP");
10422 else if (header_array
[LBMC_NHDR_UMQ_ACK
] != 0)
10424 return ("UMQ-ACK");
10426 else if (header_array
[LBMC_NHDR_UMQ_KA
] != 0)
10430 else if (header_array
[LBMC_NHDR_UMQ_RCR
] != 0)
10432 return ("UMQ-RCR");
10434 else if (header_array
[LBMC_NHDR_UMQ_RXREQ
] != 0)
10436 return ("UMQ-RXREQ");
10438 else if (header_array
[LBMC_NHDR_UMQ_QMGMT
] != 0)
10440 return ("UMQ-QMGMT");
10442 else if (header_array
[LBMC_NHDR_UME_LJ_INFO
] != 0)
10446 else if (header_array
[LBMC_NHDR_UMQ_RESUB_REQ
] != 0)
10448 return ("UMQ-RESUB-REQ");
10450 else if (header_array
[LBMC_NHDR_UMQ_RESUB_RESP
] != 0)
10452 return ("UMQ-RESUB-RESP");
10454 else if (header_array
[LBMC_NHDR_TOPIC_INTEREST
] != 0)
10456 return ("TOPIC-INT");
10458 else if (header_array
[LBMC_NHDR_PATTERN_INTEREST
] != 0)
10460 return ("PAT-INT");
10462 else if (header_array
[LBMC_NHDR_ADVERTISEMENT
] != 0)
10466 else if (header_array
[LBMC_NHDR_UMQ_ULB_RCR
] != 0)
10468 return ("UMQ-ULB-RCR");
10470 else if (header_array
[LBMC_NHDR_UMQ_LF
] != 0)
10474 else if (header_array
[LBMC_NHDR_CTXINFO
] != 0)
10476 return ("CTXINFO");
10478 else if (header_array
[LBMC_NHDR_UME_PSER
] != 0)
10482 else if (header_array
[LBMC_NHDR_DOMAIN
] != 0)
10486 else if (header_array
[LBMC_NHDR_TNWG_CAPABILITIES
] != 0)
10488 return ("TNWG_CAP");
10490 else if (header_array
[LBMC_NHDR_PATIDX
] != 0)
10494 else if (header_array
[LBMC_NHDR_UMQ_IDX_CMD
] != 0)
10496 return ("UMQ-IDX-CMD");
10498 else if (header_array
[LBMC_NHDR_UMQ_IDX_CMD_RESP
] != 0)
10500 return ("UMQ-IDX-CMD-RESP");
10502 else if (header_array
[LBMC_NHDR_TOPIC_MD_INTEREST
] != 0)
10504 return ("TOPIC-MD-INT");
10506 else if (header_array
[LBMC_NHDR_PATTERN_MD_INTEREST
] != 0)
10508 return ("PAT-MD-INT");
10510 else if (header_array
[LBMC_NHDR_LJI_REQ
] != 0)
10512 return ("LJI-REQ");
10514 else if (header_array
[LBMC_NHDR_TNWG_KA
] != 0)
10516 return ("TNWG-KA");
10518 else if (header_array
[LBMC_NHDR_AUTHENTICATION
] != 0)
10522 else if (header_array
[LBMC_NHDR_UME_RCV_KEEPALIVE
] != 0)
10524 return ("UME-RCV-KA");
10526 else if (header_array
[LBMC_NHDR_UMQ_CMD
] != 0)
10528 return ("UMQ-CMD");
10530 else if (header_array
[LBMC_NHDR_UMQ_CMD_RESP
] != 0)
10532 return ("UMQ-CMD-RESP");
10534 else if (header_array
[LBMC_NHDR_EXTOPT
] != 0)
10538 else if (header_array
[LBMC_NHDR_HMAC
] != 0)
10542 else if (header_array
[LBMC_NHDR_SRI_REQ
] != 0)
10544 return ("SRI-REQ");
10546 else if (header_array
[LBMC_NHDR_SRI
] != 0)
10550 else if (header_array
[LBMC_NHDR_UME_PSRC_ELECTION_TOKEN
] != 0)
10552 return ("PSRC-ETOK");
10554 else if (header_array
[LBMC_NHDR_TOPIC_SOURCE
] != 0)
10556 return ("TOPIC-SRC");
10558 else if (header_array
[LBMC_NHDR_ROUTE_INFO
] != 0)
10560 return ("RTE-INFO");
10562 else if (header_array
[LBMC_NHDR_TCP_SID
] != 0)
10564 return ("TCP-SID");
10569 static const char * lbmc_determine_data_msg_type(bool retransmission
, const uint8_t * header_array
)
10571 if (retransmission
)
10573 if (header_array
[LBMC_NHDR_REQUEST
] != 0)
10575 return ("RX-DATA[REQ]");
10579 return ("RX-DATA");
10584 if (header_array
[LBMC_NHDR_REQUEST
] != 0)
10586 return ("DATA[REQ]");
10595 static lbm_uim_stream_info_t
* lbmc_dup_stream_info(wmem_allocator_t
*scope
, const lbm_uim_stream_info_t
* info
)
10597 /* Returns a packet-scoped copy. */
10598 lbm_uim_stream_info_t
* ptr
= NULL
;
10600 ptr
= wmem_new(scope
, lbm_uim_stream_info_t
);
10601 ptr
->channel
= info
->channel
;
10602 ptr
->sqn
= info
->sqn
;
10603 ptr
->endpoint_a
.type
= info
->endpoint_a
.type
;
10604 if (ptr
->endpoint_a
.type
== lbm_uim_instance_stream
)
10606 memcpy((void *)ptr
->endpoint_a
.stream_info
.ctxinst
.ctxinst
, (const void *)info
->endpoint_a
.stream_info
.ctxinst
.ctxinst
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
10610 ptr
->endpoint_a
.stream_info
.dest
= info
->endpoint_a
.stream_info
.dest
;
10612 ptr
->endpoint_b
.type
= info
->endpoint_b
.type
;
10613 if (ptr
->endpoint_b
.type
== lbm_uim_instance_stream
)
10615 memcpy((void *)ptr
->endpoint_b
.stream_info
.ctxinst
.ctxinst
, (const void *)info
->endpoint_b
.stream_info
.ctxinst
.ctxinst
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
10619 ptr
->endpoint_b
.stream_info
.dest
= info
->endpoint_b
.stream_info
.dest
;
10621 ptr
->description
= wmem_strdup(scope
, info
->description
);
10625 bool lbmc_test_lbmc_header(tvbuff_t
* tvb
, int offset
)
10630 uint8_t next_header
;
10633 if (tvb_reported_length_remaining(tvb
, offset
) < (O_LBMC_HDR_T_MSGLEN
+ L_LBMC_HDR_T_MSGLEN
))
10637 ver_type
= tvb_get_uint8(tvb
, offset
+ O_LBMC_HDR_T_VER_TYPE
);
10638 version
= LBMC_HDR_VER(ver_type
);
10639 type
= LBMC_HDR_TYPE(ver_type
);
10640 if (version
!= LBMC_VERSION
)
10646 case LBMC_TYPE_MESSAGE
:
10647 case LBMC_TYPE_PRORX
:
10648 case LBMC_TYPE_EOT
:
10649 case LBMC_TYPE_CONTROL
:
10650 case LBMC_TYPE_RETRANS
:
10655 next_header
= tvb_get_uint8(tvb
, offset
+ O_LBMC_HDR_T_NEXT_HDR
);
10656 switch (next_header
)
10658 case LBMC_NHDR_DATA
:
10659 case LBMC_NHDR_FRAG
:
10660 case LBMC_NHDR_BATCH
:
10661 case LBMC_NHDR_TGIDX
:
10662 case LBMC_NHDR_REQUEST
:
10663 case LBMC_NHDR_TOPICNAME
:
10664 case LBMC_NHDR_APPHDR
:
10665 case LBMC_NHDR_APPHDR_CHAIN
:
10666 case LBMC_NHDR_UMQ_MSGID
:
10667 case LBMC_NHDR_UMQ_SQD_RCV
:
10668 case LBMC_NHDR_UMQ_RESUB
:
10669 case LBMC_NHDR_OTID
:
10670 case LBMC_NHDR_CTXINSTD
:
10671 case LBMC_NHDR_CTXINSTR
:
10672 case LBMC_NHDR_SRCIDX
:
10673 case LBMC_NHDR_UMQ_ULB_MSG
:
10674 case LBMC_NHDR_SSF_INIT
:
10675 case LBMC_NHDR_SSF_CREQ
:
10676 case LBMC_NHDR_UME_PREG
:
10677 case LBMC_NHDR_UME_PREG_RESP
:
10678 case LBMC_NHDR_UME_ACK
:
10679 case LBMC_NHDR_UME_RXREQ
:
10680 case LBMC_NHDR_UME_KEEPALIVE
:
10681 case LBMC_NHDR_UME_STOREID
:
10682 case LBMC_NHDR_UME_RANGED_ACK
:
10683 case LBMC_NHDR_UME_ACK_ID
:
10684 case LBMC_NHDR_UME_CAPABILITY
:
10685 case LBMC_NHDR_UME_PROXY_SRC
:
10686 case LBMC_NHDR_UME_STORE_GROUP
:
10687 case LBMC_NHDR_UME_STORE_INFO
:
10688 case LBMC_NHDR_UME_LJ_INFO
:
10689 case LBMC_NHDR_TSNI
:
10690 case LBMC_NHDR_UMQ_REG
:
10691 case LBMC_NHDR_UMQ_REG_RESP
:
10692 case LBMC_NHDR_UMQ_ACK
:
10693 case LBMC_NHDR_UMQ_RCR
:
10694 case LBMC_NHDR_UMQ_KA
:
10695 case LBMC_NHDR_UMQ_RXREQ
:
10696 case LBMC_NHDR_UMQ_QMGMT
:
10697 case LBMC_NHDR_UMQ_RESUB_REQ
:
10698 case LBMC_NHDR_UMQ_RESUB_RESP
:
10699 case LBMC_NHDR_TOPIC_INTEREST
:
10700 case LBMC_NHDR_PATTERN_INTEREST
:
10701 case LBMC_NHDR_ADVERTISEMENT
:
10702 case LBMC_NHDR_UME_CTXINSTS
:
10703 case LBMC_NHDR_UME_STORENAME
:
10704 case LBMC_NHDR_UMQ_ULB_RCR
:
10705 case LBMC_NHDR_UMQ_LF
:
10706 case LBMC_NHDR_CTXINFO
:
10707 case LBMC_NHDR_UME_PSER
:
10708 case LBMC_NHDR_CTXINST
:
10709 case LBMC_NHDR_DOMAIN
:
10710 case LBMC_NHDR_TNWG_CAPABILITIES
:
10711 case LBMC_NHDR_PATIDX
:
10712 case LBMC_NHDR_UME_CLIENT_LIFETIME
:
10713 case LBMC_NHDR_UME_SID
:
10714 case LBMC_NHDR_UMQ_IDX_CMD
:
10715 case LBMC_NHDR_UMQ_IDX_CMD_RESP
:
10716 case LBMC_NHDR_ODOMAIN
:
10717 case LBMC_NHDR_STREAM
:
10718 case LBMC_NHDR_TOPIC_MD_INTEREST
:
10719 case LBMC_NHDR_PATTERN_MD_INTEREST
:
10720 case LBMC_NHDR_LJI_REQ
:
10721 case LBMC_NHDR_TNWG_KA
:
10722 case LBMC_NHDR_UME_RCV_KEEPALIVE
:
10723 case LBMC_NHDR_UMQ_CMD
:
10724 case LBMC_NHDR_UMQ_CMD_RESP
:
10725 case LBMC_NHDR_SRI_REQ
:
10726 case LBMC_NHDR_UME_STORE_DOMAIN
:
10727 case LBMC_NHDR_SRI
:
10728 case LBMC_NHDR_ROUTE_INFO
:
10729 case LBMC_NHDR_ROUTE_INFO_NEIGHBOR
:
10730 case LBMC_NHDR_GATEWAY_NAME
:
10731 case LBMC_NHDR_AUTHENTICATION
:
10732 case LBMC_NHDR_HMAC
:
10733 case LBMC_NHDR_UMQ_SID
:
10734 case LBMC_NHDR_DESTINATION
:
10735 case LBMC_NHDR_TOPIC_IDX
:
10736 case LBMC_NHDR_TOPIC_SOURCE
:
10737 case LBMC_NHDR_TOPIC_SOURCE_EXFUNC
:
10738 case LBMC_NHDR_UME_STORE_INFO_EXT
:
10739 case LBMC_NHDR_UME_PSRC_ELECTION_TOKEN
:
10740 case LBMC_NHDR_TCP_SID
:
10741 case LBMC_NHDR_EXTOPT
:
10746 msglen
= tvb_get_ntohs(tvb
, offset
+ O_LBMC_HDR_T_MSGLEN
);
10754 int lbmc_dissect_lbmc_packet(tvbuff_t
* tvb
, int offset
, packet_info
* pinfo
, proto_tree
* tree
, const char * tag_name
, uint64_t channel
)
10756 proto_item
* subtree_item
= NULL
;
10757 proto_tree
* subtree
= NULL
;
10761 uint16_t msglen
= 0;
10762 int pkt_offset
= 0;
10763 lbmc_basic_hdr_t bhdr
;
10764 tvbuff_t
* lbmc_tvb
= NULL
;
10765 int tvb_lbmc_offset
= offset
;
10766 const char * topic_name
= NULL
;
10767 uint32_t topic_index
= 0;
10768 int len_dissected
= 0;
10770 uint32_t msgprop_len
= 0;
10771 lbmc_fragment_info_t frag_info
;
10772 lbmc_extopt_reassembled_data_t
*reassembly
;
10773 bool data_is_umq_cmd_resp
;
10774 bool packet_is_data
;
10775 lbmc_stream_info_t stream_info
;
10776 lbmc_ctxinst_info_t ctxinstd_info
;
10777 lbmc_ctxinst_info_t ctxinstr_info
;
10778 lbmc_destination_info_t destination_info
;
10779 lbm_istream_entry_t
* inst_stream
;
10780 lbm_istream_substream_entry_t
* inst_substream
;
10781 lbm_dstream_entry_t
* dom_stream
;
10782 lbm_dstream_substream_entry_t
* dom_substream
;
10783 proto_item
* last_initial_item
= NULL
;
10784 uint8_t found_header
[256];
10785 lbm_uim_stream_info_t uim_stream_info
;
10786 lbm_uim_stream_info_t
* puim_stream_info
= NULL
;
10787 lbmc_tcp_sid_info_t tcp_sid_info
;
10788 bool has_source_index
;
10790 uint16_t tcp_port
= 0;
10791 uint64_t actual_channel
= channel
;
10792 bool tcp_address_valid
= false;
10794 while (tvb_reported_length_remaining(tvb
, tvb_lbmc_offset
) >= L_LBMC_MINIMAL_HDR_T
)
10796 proto_item
* type_item
= NULL
;
10797 const char * msg_type
= NULL
;
10799 /* Get the version and type. */
10800 ver_type
= tvb_get_uint8(tvb
, tvb_lbmc_offset
+ O_LBMC_HDR_T_VER_TYPE
);
10801 type
= LBMC_HDR_TYPE(ver_type
);
10802 /* Get the message length. */
10803 msglen
= tvb_get_ntohs(tvb
, tvb_lbmc_offset
+ O_LBMC_MINIMAL_HDR_T_MSGLEN
);
10806 expert_add_info_format(pinfo
, NULL
, &ei_lbmc_analysis_zero_length
, "LBMC packet header length is zero");
10807 return (len_dissected
);
10809 /* Create a new tvb for just this LBMC message. */
10810 lbmc_tvb
= tvb_new_subset_length(tvb
, tvb_lbmc_offset
, (int)msglen
);
10811 if ((type
== LBMC_TYPE_MESSAGE
) || (type
== LBMC_TYPE_RETRANS
) || (type
== LBMC_TYPE_PRORX
))
10813 topic_index
= tvb_get_ntohl(lbmc_tvb
, O_LBMC_HDR_T_TIDX
);
10814 if (lbm_channel_is_transport(channel
) && lbm_channel_is_known(channel
))
10816 topic_name
= lbm_topic_find(channel
, topic_index
);
10818 lbmc_hdr_len
= L_LBMC_HDR_T
;
10822 lbmc_hdr_len
= L_LBMC_CNTL_HDR_T
;
10825 if (topic_name
== NULL
)
10827 if (tag_name
== NULL
)
10829 subtree_item
= proto_tree_add_protocol_format(tree
, proto_lbmc
, lbmc_tvb
, 0, tvb_reported_length_remaining(tvb
, 0), "LBMC Protocol");
10833 subtree_item
= proto_tree_add_protocol_format(tree
, proto_lbmc
, lbmc_tvb
, 0, tvb_reported_length_remaining(tvb
, 0), "LBMC Protocol (Tag: %s)", tag_name
);
10838 if (tag_name
== NULL
)
10840 subtree_item
= proto_tree_add_protocol_format(tree
, proto_lbmc
, lbmc_tvb
, 0, tvb_reported_length_remaining(tvb
, 0), "LBMC Protocol for topic [%s]", topic_name
);
10844 subtree_item
= proto_tree_add_protocol_format(tree
, proto_lbmc
, lbmc_tvb
, 0, tvb_reported_length_remaining(tvb
, 0), "LBMC Protocol (Tag: %s) for topic [%s]", tag_name
, topic_name
);
10847 subtree
= proto_item_add_subtree(subtree_item
, ett_lbmc
);
10848 if (tag_name
!= NULL
)
10850 proto_item
* pi
= NULL
;
10852 pi
= proto_tree_add_string(subtree
, hf_lbmc_tag
, tvb
, 0, 0, tag_name
);
10853 proto_item_set_generated(pi
);
10855 if (topic_name
!= NULL
)
10857 proto_item
* pi
= NULL
;
10859 pi
= proto_tree_add_string(subtree
, hf_lbmc_topic
, tvb
, 0, 0, topic_name
);
10860 proto_item_set_generated(pi
);
10862 proto_tree_add_item(subtree
, hf_lbmc_version
, lbmc_tvb
, O_LBMC_HDR_T_VER_TYPE
, L_LBMC_HDR_T_VER_TYPE
, ENC_BIG_ENDIAN
);
10863 type_item
= proto_tree_add_item(subtree
, hf_lbmc_type
, lbmc_tvb
, O_LBMC_HDR_T_VER_TYPE
, L_LBMC_HDR_T_VER_TYPE
, ENC_BIG_ENDIAN
);
10864 proto_tree_add_item(subtree
, hf_lbmc_next_hdr
, lbmc_tvb
, O_LBMC_HDR_T_NEXT_HDR
, L_LBMC_HDR_T_NEXT_HDR
, ENC_BIG_ENDIAN
);
10865 last_initial_item
= proto_tree_add_item(subtree
, hf_lbmc_msglen
, lbmc_tvb
, O_LBMC_HDR_T_MSGLEN
, L_LBMC_HDR_T_MSGLEN
, ENC_BIG_ENDIAN
);
10866 len_dissected
+= (L_LBMC_HDR_T_VER_TYPE
+ L_LBMC_HDR_T_NEXT_HDR
+ L_LBMC_HDR_T_MSGLEN
);
10869 case LBMC_TYPE_EOT
:
10870 case LBMC_TYPE_CONTROL
:
10871 packet_is_data
= false;
10873 case LBMC_TYPE_MESSAGE
:
10874 case LBMC_TYPE_RETRANS
:
10875 case LBMC_TYPE_PRORX
:
10876 packet_is_data
= true;
10879 expert_add_info_format(pinfo
, type_item
, &ei_lbmc_analysis_invalid_value
, "Invalid LBMC type 0x%02x", type
);
10880 tvb_lbmc_offset
+= msglen
;
10881 len_dissected
+= (msglen
- (L_LBMC_HDR_T_VER_TYPE
+ L_LBMC_HDR_T_NEXT_HDR
+ L_LBMC_HDR_T_MSGLEN
));
10885 next_hdr
= tvb_get_uint8(lbmc_tvb
, O_LBMC_HDR_T_NEXT_HDR
);
10886 pkt_offset
= lbmc_hdr_len
;
10887 if ((type
== LBMC_TYPE_MESSAGE
) || (type
== LBMC_TYPE_RETRANS
) || (type
== LBMC_TYPE_PRORX
))
10889 proto_tree_add_item(subtree
, hf_lbmc_tidx
, lbmc_tvb
, O_LBMC_HDR_T_TIDX
, L_LBMC_HDR_T_TIDX
, ENC_BIG_ENDIAN
);
10890 last_initial_item
= proto_tree_add_item(subtree
, hf_lbmc_sqn
, lbmc_tvb
, O_LBMC_HDR_T_SQN
, L_LBMC_HDR_T_SQN
, ENC_BIG_ENDIAN
);
10892 frag_info
.fragment_found
= 0;
10893 frag_info
.first_sqn
= 0;
10894 frag_info
.offset
= 0;
10897 reassembly
= wmem_new(pinfo
->pool
, lbmc_extopt_reassembled_data_t
);
10898 lbmc_init_extopt_reassembled_data(reassembly
);
10899 data_is_umq_cmd_resp
= false;
10900 stream_info
.set
= false;
10901 ctxinstd_info
.set
= false;
10902 ctxinstr_info
.set
= false;
10903 destination_info
.set
= false;
10904 inst_stream
= NULL
;
10905 inst_substream
= NULL
;
10907 dom_substream
= NULL
;
10908 memset((void *)found_header
, 0, sizeof(found_header
));
10909 puim_stream_info
= NULL
;
10910 tcp_sid_info
.set
= false;
10911 tcp_sid_info
.session_id
= UINT32_MAX
;
10912 has_source_index
= false;
10914 while ((tvb_reported_length_remaining(lbmc_tvb
, pkt_offset
) >= L_LBMC_BASIC_HDR_T
) && (next_hdr
!= LBMC_NHDR_DATA
) && (next_hdr
!= LBMC_NHDR_NONE
))
10916 tvbuff_t
* hdr_tvb
= NULL
;
10917 int dissected_hdr_len
;
10920 bhdr
.next_hdr
= tvb_get_uint8(lbmc_tvb
, pkt_offset
+ O_LBMC_BASIC_HDR_T_NEXT_HDR
);
10921 bhdr
.hdr_len
= tvb_get_uint8(lbmc_tvb
, pkt_offset
+ O_LBMC_BASIC_HDR_T_HDR_LEN
);
10922 if (bhdr
.hdr_len
== 0)
10924 expert_add_info_format(pinfo
, NULL
, &ei_lbmc_analysis_zero_length
, "LBMC header length is zero");
10925 return (len_dissected
);
10927 hdr_tvb
= tvb_new_subset_length(lbmc_tvb
, pkt_offset
, (int)bhdr
.hdr_len
);
10928 found_header
[next_hdr
] = 1;
10931 case LBMC_NHDR_FRAG
:
10932 dissected_hdr_len
= dissect_nhdr_frag(hdr_tvb
, 0, pinfo
, subtree
, &frag_info
);
10934 case LBMC_NHDR_BATCH
:
10935 dissected_hdr_len
= dissect_nhdr_batch(hdr_tvb
, 0, pinfo
, subtree
);
10937 case LBMC_NHDR_TGIDX
:
10938 /* Not implemented */
10939 dissected_hdr_len
= dissect_nhdr_unhandled(hdr_tvb
, 0, pinfo
, subtree
, next_hdr
);
10941 case LBMC_NHDR_REQUEST
:
10942 dissected_hdr_len
= dissect_nhdr_request(hdr_tvb
, 0, pinfo
, subtree
);
10944 case LBMC_NHDR_TOPICNAME
:
10945 dissected_hdr_len
= dissect_nhdr_topicname(hdr_tvb
, 0, pinfo
, subtree
);
10947 case LBMC_NHDR_APPHDR
:
10948 dissected_hdr_len
= dissect_nhdr_apphdr(hdr_tvb
, 0, pinfo
, subtree
);
10950 case LBMC_NHDR_APPHDR_CHAIN
:
10951 dissected_hdr_len
= dissect_nhdr_apphdr_chain(hdr_tvb
, 0, pinfo
, subtree
, &msgprop_len
);
10953 case LBMC_NHDR_UMQ_MSGID
:
10954 dissected_hdr_len
= dissect_nhdr_umq_msgid(hdr_tvb
, 0, pinfo
, subtree
);
10956 case LBMC_NHDR_UMQ_SQD_RCV
:
10957 dissected_hdr_len
= dissect_nhdr_umq_sqd_rcv(hdr_tvb
, 0, pinfo
, subtree
, &data_is_umq_cmd_resp
);
10959 case LBMC_NHDR_UMQ_RESUB
:
10960 dissected_hdr_len
= dissect_nhdr_umq_resub(hdr_tvb
, 0, pinfo
, subtree
);
10962 case LBMC_NHDR_OTID
:
10963 dissected_hdr_len
= dissect_nhdr_otid(hdr_tvb
, 0, pinfo
, subtree
);
10965 case LBMC_NHDR_CTXINSTD
:
10966 dissected_hdr_len
= dissect_nhdr_ctxinstd(hdr_tvb
, 0, pinfo
, subtree
, &ctxinstd_info
);
10968 case LBMC_NHDR_CTXINSTR
:
10969 dissected_hdr_len
= dissect_nhdr_ctxinstr(hdr_tvb
, 0, pinfo
, subtree
, &ctxinstr_info
);
10971 case LBMC_NHDR_SRCIDX
:
10972 dissected_hdr_len
= dissect_nhdr_srcidx(hdr_tvb
, 0, pinfo
, subtree
);
10973 has_source_index
= true;
10975 case LBMC_NHDR_UMQ_ULB_MSG
:
10976 dissected_hdr_len
= dissect_nhdr_umq_ulb_msg(hdr_tvb
, 0, pinfo
, subtree
);
10978 case LBMC_NHDR_SSF_INIT
:
10979 dissected_hdr_len
= dissect_nhdr_ssf_init(hdr_tvb
, 0, pinfo
, subtree
);
10981 case LBMC_NHDR_SSF_CREQ
:
10982 dissected_hdr_len
= dissect_nhdr_ssf_creq(hdr_tvb
, 0, pinfo
, subtree
);
10984 case LBMC_NHDR_UME_PREG
:
10985 dissected_hdr_len
= dissect_nhdr_ume_preg(hdr_tvb
, 0, pinfo
, subtree
);
10987 case LBMC_NHDR_UME_PREG_RESP
:
10988 dissected_hdr_len
= dissect_nhdr_ume_preg_resp(hdr_tvb
, 0, pinfo
, subtree
);
10990 case LBMC_NHDR_UME_ACK
:
10991 dissected_hdr_len
= dissect_nhdr_ume_ack(hdr_tvb
, 0, pinfo
, subtree
);
10993 case LBMC_NHDR_UME_RXREQ
:
10994 dissected_hdr_len
= dissect_nhdr_ume_rxreq(hdr_tvb
, 0, pinfo
, subtree
);
10996 case LBMC_NHDR_UME_KEEPALIVE
:
10997 dissected_hdr_len
= dissect_nhdr_ume_keepalive(hdr_tvb
, 0, pinfo
, subtree
);
10999 case LBMC_NHDR_UME_STOREID
:
11000 dissected_hdr_len
= dissect_nhdr_ume_storeid(hdr_tvb
, 0, pinfo
, subtree
);
11002 case LBMC_NHDR_UME_RANGED_ACK
:
11003 dissected_hdr_len
= dissect_nhdr_ume_ranged_ack(hdr_tvb
, 0, pinfo
, subtree
);
11005 case LBMC_NHDR_UME_ACK_ID
:
11006 dissected_hdr_len
= dissect_nhdr_ume_ack_id(hdr_tvb
, 0, pinfo
, subtree
);
11008 case LBMC_NHDR_UME_CAPABILITY
:
11009 dissected_hdr_len
= dissect_nhdr_ume_capability(hdr_tvb
, 0, pinfo
, subtree
);
11011 case LBMC_NHDR_UME_PROXY_SRC
:
11012 dissected_hdr_len
= dissect_nhdr_ume_proxy_src(hdr_tvb
, 0, pinfo
, subtree
);
11014 case LBMC_NHDR_UME_STORE_GROUP
:
11015 dissected_hdr_len
= dissect_nhdr_ume_store_group(hdr_tvb
, 0, pinfo
, subtree
);
11017 case LBMC_NHDR_UME_STORE_INFO
:
11018 dissected_hdr_len
= dissect_nhdr_ume_store(hdr_tvb
, 0, pinfo
, subtree
);
11020 case LBMC_NHDR_UME_LJ_INFO
:
11021 dissected_hdr_len
= dissect_nhdr_ume_lj_info(hdr_tvb
, 0, pinfo
, subtree
);
11023 case LBMC_NHDR_TSNI
:
11024 dissected_hdr_len
= dissect_nhdr_tsni(hdr_tvb
, 0, pinfo
, subtree
);
11026 case LBMC_NHDR_UMQ_REG
:
11027 dissected_hdr_len
= dissect_nhdr_umq_reg(hdr_tvb
, 0, pinfo
, subtree
);
11029 case LBMC_NHDR_UMQ_REG_RESP
:
11030 dissected_hdr_len
= dissect_nhdr_umq_reg_resp(hdr_tvb
, 0, pinfo
, subtree
);
11032 case LBMC_NHDR_UMQ_ACK
:
11033 dissected_hdr_len
= dissect_nhdr_umq_ack(hdr_tvb
, 0, pinfo
, subtree
);
11035 case LBMC_NHDR_UMQ_RCR
:
11036 dissected_hdr_len
= dissect_nhdr_umq_rcr(hdr_tvb
, 0, pinfo
, subtree
);
11038 case LBMC_NHDR_UMQ_KA
:
11039 dissected_hdr_len
= dissect_nhdr_umq_ka(hdr_tvb
, 0, pinfo
, subtree
);
11041 case LBMC_NHDR_UMQ_RXREQ
:
11042 dissected_hdr_len
= dissect_nhdr_umq_rxreq(hdr_tvb
, 0, pinfo
, subtree
);
11044 case LBMC_NHDR_UMQ_QMGMT
:
11045 dissected_hdr_len
= dissect_nhdr_umq_qmgmt(hdr_tvb
, 0, pinfo
, subtree
);
11047 case LBMC_NHDR_UMQ_RESUB_REQ
:
11048 dissected_hdr_len
= dissect_nhdr_umq_resub_req(hdr_tvb
, 0, pinfo
, subtree
);
11050 case LBMC_NHDR_UMQ_RESUB_RESP
:
11051 dissected_hdr_len
= dissect_nhdr_umq_resub_resp(hdr_tvb
, 0, pinfo
, subtree
);
11053 case LBMC_NHDR_TOPIC_INTEREST
:
11054 dissected_hdr_len
= dissect_nhdr_topic_interest(hdr_tvb
, 0, pinfo
, subtree
);
11056 case LBMC_NHDR_PATTERN_INTEREST
:
11057 dissected_hdr_len
= dissect_nhdr_pattern_interest(hdr_tvb
, 0, pinfo
, subtree
);
11059 case LBMC_NHDR_ADVERTISEMENT
:
11060 dissected_hdr_len
= dissect_nhdr_advertisement(hdr_tvb
, 0, pinfo
, subtree
);
11062 case LBMC_NHDR_UME_CTXINSTS
:
11063 dissected_hdr_len
= dissect_nhdr_ctxinst(hdr_tvb
, 0, pinfo
, subtree
, NULL
);
11065 case LBMC_NHDR_UME_STORENAME
:
11066 dissected_hdr_len
= dissect_nhdr_storename(hdr_tvb
, 0, pinfo
, subtree
);
11068 case LBMC_NHDR_UMQ_ULB_RCR
:
11069 dissected_hdr_len
= dissect_nhdr_umq_ulb_rcr(hdr_tvb
, 0, pinfo
, subtree
);
11071 case LBMC_NHDR_UMQ_LF
:
11072 dissected_hdr_len
= dissect_nhdr_umq_lf(hdr_tvb
, 0, pinfo
, subtree
);
11074 case LBMC_NHDR_CTXINFO
:
11075 dissected_hdr_len
= dissect_nhdr_ctxinfo(hdr_tvb
, 0, pinfo
, subtree
);
11077 case LBMC_NHDR_UME_PSER
:
11078 dissected_hdr_len
= dissect_nhdr_ume_pser(hdr_tvb
, 0, pinfo
, subtree
);
11080 case LBMC_NHDR_CTXINST
:
11081 dissected_hdr_len
= dissect_nhdr_ctxinst(hdr_tvb
, 0, pinfo
, subtree
, NULL
);
11083 case LBMC_NHDR_DOMAIN
:
11084 dissected_hdr_len
= dissect_nhdr_domain(hdr_tvb
, 0, pinfo
, subtree
);
11086 case LBMC_NHDR_TNWG_CAPABILITIES
:
11087 dissected_hdr_len
= dissect_nhdr_tnwg_capabilities(hdr_tvb
, 0, pinfo
, subtree
);
11089 case LBMC_NHDR_PATIDX
:
11090 dissected_hdr_len
= dissect_nhdr_patidx(hdr_tvb
, 0, pinfo
, subtree
);
11092 case LBMC_NHDR_UME_CLIENT_LIFETIME
:
11093 dissected_hdr_len
= dissect_nhdr_ume_client_lifetime(hdr_tvb
, 0, pinfo
, subtree
);
11095 case LBMC_NHDR_UME_SID
:
11096 dissected_hdr_len
= dissect_nhdr_ume_sid(hdr_tvb
, 0, pinfo
, subtree
);
11098 case LBMC_NHDR_UMQ_IDX_CMD
:
11099 dissected_hdr_len
= dissect_nhdr_umq_idx_cmd(hdr_tvb
, 0, pinfo
, subtree
);
11101 case LBMC_NHDR_UMQ_IDX_CMD_RESP
:
11102 dissected_hdr_len
= dissect_nhdr_umq_idx_cmd_resp(hdr_tvb
, 0, pinfo
, subtree
);
11104 case LBMC_NHDR_ODOMAIN
:
11105 dissected_hdr_len
= dissect_nhdr_odomain(hdr_tvb
, 0, pinfo
, subtree
);
11107 case LBMC_NHDR_STREAM
:
11108 dissected_hdr_len
= dissect_nhdr_stream(hdr_tvb
, 0, pinfo
, subtree
, &stream_info
);
11110 case LBMC_NHDR_TOPIC_MD_INTEREST
:
11111 dissected_hdr_len
= dissect_nhdr_topic_md_interest(hdr_tvb
, 0, pinfo
, subtree
);
11113 case LBMC_NHDR_PATTERN_MD_INTEREST
:
11114 dissected_hdr_len
= dissect_nhdr_pattern_md_interest(hdr_tvb
, 0, pinfo
, subtree
);
11116 case LBMC_NHDR_LJI_REQ
:
11117 dissected_hdr_len
= dissect_nhdr_lji_req(hdr_tvb
, 0, pinfo
, subtree
);
11119 case LBMC_NHDR_TNWG_KA
:
11120 dissected_hdr_len
= dissect_nhdr_tnwg_ka(hdr_tvb
, 0, pinfo
, subtree
);
11122 case LBMC_NHDR_UME_RCV_KEEPALIVE
:
11123 dissected_hdr_len
= dissect_nhdr_ume_receiver_keepalive(hdr_tvb
, 0, pinfo
, subtree
);
11125 case LBMC_NHDR_UMQ_CMD
:
11126 dissected_hdr_len
= dissect_nhdr_umq_cmd(hdr_tvb
, 0, pinfo
, subtree
);
11128 case LBMC_NHDR_UMQ_CMD_RESP
:
11129 dissected_hdr_len
= dissect_nhdr_umq_cmd_resp(hdr_tvb
, 0, pinfo
, subtree
, packet_is_data
);
11131 case LBMC_NHDR_SRI_REQ
:
11132 dissected_hdr_len
= dissect_nhdr_sri_req(hdr_tvb
, 0, pinfo
, subtree
);
11134 case LBMC_NHDR_UME_STORE_DOMAIN
:
11135 dissected_hdr_len
= dissect_nhdr_ume_store_domain(hdr_tvb
, 0, pinfo
, subtree
);
11137 case LBMC_NHDR_SRI
:
11138 dissected_hdr_len
= dissect_nhdr_sri(hdr_tvb
, 0, pinfo
, subtree
);
11140 case LBMC_NHDR_ROUTE_INFO
:
11141 dissected_hdr_len
= dissect_nhdr_route_info(hdr_tvb
, 0, pinfo
, subtree
);
11143 case LBMC_NHDR_ROUTE_INFO_NEIGHBOR
:
11144 dissected_hdr_len
= dissect_nhdr_route_info_neighbor(hdr_tvb
, 0, pinfo
, subtree
);
11146 case LBMC_NHDR_GATEWAY_NAME
:
11147 dissected_hdr_len
= dissect_nhdr_gateway_name(hdr_tvb
, 0, pinfo
, subtree
);
11149 case LBMC_NHDR_AUTHENTICATION
:
11150 opid
= tvb_get_uint8(hdr_tvb
, O_LBMC_CNTL_AUTH_GENERIC_HDR_T_OPID
);
11154 dissected_hdr_len
= dissect_nhdr_auth_request(hdr_tvb
, 0, pinfo
, subtree
);
11156 case AUTH_OP_CHALLENGE
:
11157 dissected_hdr_len
= dissect_nhdr_auth_challenge(hdr_tvb
, 0, pinfo
, subtree
);
11159 case AUTH_OP_CHALLENGE_RSP
:
11160 dissected_hdr_len
= dissect_nhdr_auth_challenge_rsp(hdr_tvb
, 0, pinfo
, subtree
);
11162 case AUTH_OP_RESULT
:
11163 dissected_hdr_len
= dissect_nhdr_auth_result(hdr_tvb
, 0, pinfo
, subtree
);
11166 dissected_hdr_len
= dissect_nhdr_auth_unknown(hdr_tvb
, 0, pinfo
, subtree
);
11170 case LBMC_NHDR_HMAC
:
11171 dissected_hdr_len
= dissect_nhdr_hmac(hdr_tvb
, 0, pinfo
, subtree
);
11173 case LBMC_NHDR_UMQ_SID
:
11174 dissected_hdr_len
= dissect_nhdr_umq_sid(hdr_tvb
, 0, pinfo
, subtree
);
11176 case LBMC_NHDR_DESTINATION
:
11177 dissected_hdr_len
= dissect_nhdr_destination(hdr_tvb
, 0, pinfo
, subtree
, &destination_info
);
11179 case LBMC_NHDR_TOPIC_IDX
:
11180 dissected_hdr_len
= dissect_nhdr_topic_idx(hdr_tvb
, 0, pinfo
, subtree
);
11182 case LBMC_NHDR_TOPIC_SOURCE
:
11183 dissected_hdr_len
= dissect_nhdr_topic_source(hdr_tvb
, 0, pinfo
, subtree
);
11185 case LBMC_NHDR_TOPIC_SOURCE_EXFUNC
:
11186 dissected_hdr_len
= dissect_nhdr_topic_source_exfunc(hdr_tvb
, 0, pinfo
, subtree
);
11188 case LBMC_NHDR_UME_STORE_INFO_EXT
:
11189 dissected_hdr_len
= dissect_nhdr_ume_store_ext(hdr_tvb
, 0, pinfo
, subtree
);
11191 case LBMC_NHDR_UME_PSRC_ELECTION_TOKEN
:
11192 dissected_hdr_len
= dissect_nhdr_ume_psrc_election_token(hdr_tvb
, 0, pinfo
, subtree
);
11194 case LBMC_NHDR_TCP_SID
:
11195 dissected_hdr_len
= dissect_nhdr_tcp_sid(hdr_tvb
, 0, pinfo
, subtree
, &tcp_sid_info
);
11197 case LBMC_NHDR_EXTOPT
:
11198 dissected_hdr_len
= dissect_nhdr_extopt(hdr_tvb
, 0, pinfo
, subtree
, reassembly
);
11200 /* Headers that are not implemented. */
11201 case LBMC_NHDR_NONE
:
11203 dissected_hdr_len
= dissect_nhdr_unhandled(hdr_tvb
, 0, pinfo
, subtree
, next_hdr
);
11206 len_dissected
+= dissected_hdr_len
;
11207 next_hdr
= bhdr
.next_hdr
;
11208 pkt_offset
+= bhdr
.hdr_len
;
11210 /* If transport is TCP and we got a TCP SID header, process it. */
11211 tcp_address_valid
= true;
11212 if (lbm_channel_is_unknown_transport_source_lbttcp(channel
))
11214 copy_address_shallow(&tcp_addr
, &(pinfo
->src
));
11215 tcp_port
= (uint16_t)pinfo
->srcport
;
11217 else if (lbm_channel_is_unknown_transport_client_lbttcp(channel
))
11219 copy_address_shallow(&tcp_addr
, &(pinfo
->dst
));
11220 tcp_port
= (uint16_t)pinfo
->destport
;
11224 tcp_address_valid
= false;
11226 /* Note: it *is* possible for a TCP SID to appear in an LBTTCP non-transport (UIM) message. */
11227 if ((pinfo
->fd
->visited
== 0) && (tcp_sid_info
.set
) && lbm_channel_is_unknown_transport_lbttcp(channel
) && tcp_address_valid
)
11229 lbttcp_transport_sid_add(&tcp_addr
, tcp_port
, pinfo
->num
, tcp_sid_info
.session_id
);
11231 /* Try to determine the TCP transport channel. */
11232 if (lbm_channel_type(channel
) == LBM_CHANNEL_TRANSPORT_LBTTCP
)
11234 if (lbm_channel_is_known(channel
))
11236 if (topic_name
!= NULL
)
11238 topic_name
= lbm_topic_find(channel
, topic_index
);
11243 uint32_t tcp_session_id
= 0;
11245 if (lbttcp_transport_sid_find(&tcp_addr
, tcp_port
, pinfo
->num
, &tcp_session_id
))
11247 lbttcp_transport_t
* tcp_transport
= NULL
;
11249 tcp_transport
= lbttcp_transport_find(&tcp_addr
, tcp_port
, tcp_session_id
, pinfo
->num
);
11250 if (tcp_transport
!= NULL
)
11252 actual_channel
= tcp_transport
->channel
;
11253 topic_name
= lbm_topic_find(actual_channel
, topic_index
);
11257 if (topic_name
!= NULL
)
11259 if (tag_name
== NULL
)
11261 proto_item_set_text(subtree_item
, "LBMC Protocol for topic [%s]", topic_name
);
11265 proto_item_set_text(subtree_item
, "LBMC Protocol (Tag: %s) for topic [%s]", tag_name
, topic_name
);
11270 /* If TCP, handle stream info. */
11271 if (pinfo
->ptype
== PT_TCP
)
11273 if (stream_info
.set
&& ctxinstd_info
.set
&& !destination_info
.set
)
11275 inst_stream
= lbm_stream_istream_find(stream_info
.ctxinst
, ctxinstd_info
.ctxinst
);
11276 if (inst_stream
== NULL
)
11278 inst_stream
= lbm_stream_istream_add(stream_info
.ctxinst
, ctxinstd_info
.ctxinst
);
11280 if (inst_stream
!= NULL
)
11282 inst_substream
= lbm_stream_istream_substream_find(inst_stream
, &(pinfo
->src
), pinfo
->srcport
, &(pinfo
->dst
), pinfo
->destport
, stream_info
.stream_id
);
11283 if (inst_substream
== NULL
)
11285 inst_substream
= lbm_stream_istream_substream_add(inst_stream
, &(pinfo
->src
), pinfo
->srcport
, &(pinfo
->dst
), pinfo
->destport
, stream_info
.stream_id
);
11287 if (inst_substream
!= NULL
)
11289 proto_item
* stream_item
= NULL
;
11290 proto_tree
* stream_tree
= NULL
;
11291 proto_item
* pi
= NULL
;
11292 lbm_uim_stream_tap_info_t
* stream_tap_info
= NULL
;
11294 lbm_stream_istream_substream_update(inst_substream
, msglen
, pinfo
->num
);
11295 stream_item
= proto_tree_add_item(subtree
, hf_lbm_stream
, tvb
, 0, 0, ENC_NA
);
11296 proto_item_set_generated(stream_item
);
11297 stream_tree
= proto_item_add_subtree(stream_item
, ett_lbm_stream
);
11298 pi
= proto_tree_add_uint64(stream_tree
, hf_lbm_stream_stream_id
, tvb
, 0, 0, inst_stream
->channel
);
11299 proto_item_set_generated(pi
);
11300 pi
= proto_tree_add_uint(stream_tree
, hf_lbm_stream_substream_id
, tvb
, 0, 0, inst_substream
->substream_id
);
11301 proto_item_set_generated(pi
);
11302 proto_tree_move_item(subtree
, last_initial_item
, stream_item
);
11304 stream_tap_info
= wmem_new0(pinfo
->pool
, lbm_uim_stream_tap_info_t
);
11305 stream_tap_info
->channel
= inst_stream
->channel
;
11306 stream_tap_info
->substream_id
= inst_substream
->substream_id
;
11307 stream_tap_info
->bytes
= msglen
;
11308 stream_tap_info
->endpoint_a
.type
= lbm_uim_instance_stream
;
11309 memcpy((void *) stream_tap_info
->endpoint_a
.stream_info
.ctxinst
.ctxinst
, (const void *)stream_info
.ctxinst
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
11310 stream_tap_info
->endpoint_b
.type
= lbm_uim_instance_stream
;
11311 memcpy((void *) stream_tap_info
->endpoint_b
.stream_info
.ctxinst
.ctxinst
, (const void *)ctxinstd_info
.ctxinst
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
11312 tap_queue_packet(lbmc_stream_tap_handle
, pinfo
, (void *) stream_tap_info
);
11314 uim_stream_info
.channel
= inst_stream
->channel
;
11315 uim_stream_info
.sqn
= stream_info
.sqn
;
11316 uim_stream_info
.endpoint_a
.type
= lbm_uim_instance_stream
;
11317 memcpy((void *)uim_stream_info
.endpoint_a
.stream_info
.ctxinst
.ctxinst
, (const void *)stream_info
.ctxinst
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
11318 uim_stream_info
.endpoint_b
.type
= lbm_uim_instance_stream
;
11319 memcpy((void *)uim_stream_info
.endpoint_b
.stream_info
.ctxinst
.ctxinst
, (const void *)ctxinstd_info
.ctxinst
, LBM_CONTEXT_INSTANCE_BLOCK_SZ
);
11320 puim_stream_info
= &uim_stream_info
;
11323 else if (stream_info
.set
&& destination_info
.set
)
11325 dom_stream
= lbm_stream_dstream_find(&(destination_info
.endpoint_a
), &(destination_info
.endpoint_b
));
11326 if (dom_stream
== NULL
)
11328 dom_stream
= lbm_stream_dstream_add(&(destination_info
.endpoint_a
), &(destination_info
.endpoint_b
));
11330 if (dom_stream
!= NULL
)
11332 dom_substream
= lbm_stream_dstream_substream_find(dom_stream
, &(pinfo
->src
), pinfo
->srcport
, &(pinfo
->dst
), pinfo
->destport
, stream_info
.stream_id
);
11333 if (dom_substream
== NULL
)
11335 dom_substream
= lbm_stream_dstream_substream_add(dom_stream
, &(pinfo
->src
), pinfo
->srcport
, &(pinfo
->dst
), pinfo
->destport
, stream_info
.stream_id
);
11337 if (dom_substream
!= NULL
)
11339 proto_item
* stream_item
= NULL
;
11340 proto_tree
* stream_tree
= NULL
;
11341 proto_item
* pi
= NULL
;
11342 lbm_uim_stream_tap_info_t
* stream_tap_info
= NULL
;
11344 lbm_stream_dstream_substream_update(dom_substream
, msglen
, pinfo
->num
);
11345 stream_item
= proto_tree_add_item(subtree
, hf_lbm_stream
, tvb
, 0, 0, ENC_NA
);
11346 proto_item_set_generated(stream_item
);
11347 stream_tree
= proto_item_add_subtree(stream_item
, ett_lbm_stream
);
11348 pi
= proto_tree_add_uint64(stream_tree
, hf_lbm_stream_stream_id
, tvb
, 0, 0, dom_stream
->channel
);
11349 proto_item_set_generated(pi
);
11350 pi
= proto_tree_add_uint(stream_tree
, hf_lbm_stream_substream_id
, tvb
, 0, 0, dom_substream
->substream_id
);
11351 proto_item_set_generated(pi
);
11352 proto_tree_move_item(subtree
, last_initial_item
, stream_item
);
11354 stream_tap_info
= wmem_new0(pinfo
->pool
, lbm_uim_stream_tap_info_t
);
11355 stream_tap_info
->channel
= dom_stream
->channel
;
11356 stream_tap_info
->substream_id
= dom_substream
->substream_id
;
11357 stream_tap_info
->bytes
= msglen
;
11358 stream_tap_info
->endpoint_a
.type
= lbm_uim_domain_stream
;
11359 stream_tap_info
->endpoint_a
.stream_info
.dest
= destination_info
.endpoint_a
;
11360 stream_tap_info
->endpoint_b
.type
= lbm_uim_domain_stream
;
11361 stream_tap_info
->endpoint_b
.stream_info
.dest
= destination_info
.endpoint_b
;
11362 tap_queue_packet(lbmc_stream_tap_handle
, pinfo
, (void *) stream_tap_info
);
11364 uim_stream_info
.channel
= dom_stream
->channel
;
11365 uim_stream_info
.sqn
= stream_info
.sqn
;
11366 uim_stream_info
.endpoint_a
.type
= lbm_uim_domain_stream
;
11367 uim_stream_info
.endpoint_a
.stream_info
.dest
= destination_info
.endpoint_a
;
11368 uim_stream_info
.endpoint_b
.type
= lbm_uim_domain_stream
;
11369 uim_stream_info
.endpoint_b
.stream_info
.dest
= destination_info
.endpoint_b
;
11370 puim_stream_info
= &uim_stream_info
;
11374 if (next_hdr
== LBMC_NHDR_DATA
)
11376 int actual_data_len
= 0;
11377 int msgprop_offset
= 0;
11378 tvbuff_t
* data_tvb
= NULL
;
11379 tvbuff_t
* msgprop_tvb
= NULL
;
11380 bool msg_complete
= true;
11381 bool msg_reassembled
= false;
11382 bool can_call_subdissector
= false;
11383 lbmc_message_entry_t
* msg
= NULL
;
11384 bool dissector_found
= false;
11385 heur_dtbl_entry_t
*hdtbl_entry
;
11386 bool retransmission
= false;
11388 /* Note on heuristic subdissectors:
11389 If the preference "lbmc.use_heuristic_subdissectors" is true, and a heuristic subdissector is
11390 registered for "lbm_msg_payload", we can call the heuristic subdissector under one of the
11391 following conditions:
11392 - The message is unfragmented
11393 - The message is fragmented, AND the preference "lbmc.reassemble_fragments" is true, AND
11394 the entire message has been reassembled.
11395 This applies to the lbmpdm subdissector as well.
11398 if (frag_info
.fragment_found
== 0)
11400 /* No fragment info */
11401 if (msgprop_len
> 0)
11403 /* Has message properties */
11404 actual_data_len
= tvb_reported_length_remaining(lbmc_tvb
, pkt_offset
) - msgprop_len
;
11405 msgprop_offset
= pkt_offset
+ actual_data_len
;
11406 data_tvb
= tvb_new_subset_length(lbmc_tvb
, pkt_offset
, actual_data_len
);
11407 msgprop_tvb
= tvb_new_subset_length(lbmc_tvb
, msgprop_offset
, msgprop_len
);
11411 data_tvb
= tvb_new_subset_remaining(lbmc_tvb
, pkt_offset
);
11412 msgprop_tvb
= NULL
;
11414 msg_complete
= true;
11415 msg_reassembled
= false;
11416 can_call_subdissector
= true;
11420 /* Fragment info is present */
11421 if (!lbmc_reassemble_fragments
)
11423 /* But don't reassemble them */
11424 actual_data_len
= tvb_reported_length_remaining(lbmc_tvb
, pkt_offset
);
11425 data_tvb
= tvb_new_subset_length(lbmc_tvb
, pkt_offset
, actual_data_len
);
11426 msgprop_tvb
= NULL
;
11427 msg_complete
= true;
11431 /* Fragment info is present and we should reassemble */
11434 port
= (uint32_t)pinfo
->destport
;
11435 msg
= lbmc_message_find(actual_channel
, &(pinfo
->dst
), port
, &frag_info
);
11438 msg
= lbmc_message_create(actual_channel
, &(pinfo
->dst
), port
, &frag_info
, msgprop_len
);
11442 /* Check fragment against message */
11443 int frag_len
= tvb_reported_length_remaining(lbmc_tvb
, pkt_offset
);
11444 if ((frag_info
.offset
+ (uint32_t) frag_len
) > msg
->total_len
)
11446 /* Indicate a malformed packet */
11447 expert_add_info_format(pinfo
, NULL
, &ei_lbmc_analysis_invalid_fragment
,
11448 "Invalid fragment for message (msglen=%" PRIu32
", frag offset=%" PRIu32
", frag len=%d",
11449 msg
->total_len
, frag_info
.offset
, frag_len
);
11453 (void)lbmc_message_add_fragment(msg
, lbmc_tvb
, pkt_offset
, &frag_info
, pinfo
->num
);
11454 if (data_is_umq_cmd_resp
)
11456 msg
->data_is_umq_cmd_resp
= true;
11458 if (msg
->total_len
== msg
->accumulated_len
)
11460 if (msg
->reassembled_frame
== 0)
11462 /* Store the frame number in which the message will be reassembled */
11463 msg
->reassembled_frame
= pinfo
->num
;
11465 data_tvb
= tvb_new_subset_remaining(lbmc_tvb
, pkt_offset
);
11466 msgprop_tvb
= NULL
;
11467 msg_reassembled
= true;
11468 msg_complete
= true;
11469 if (msg
->reassembled_frame
== pinfo
->num
)
11471 /* We can only call a subdissector if this is the frame in which the message is reassembled */
11472 can_call_subdissector
= true;
11477 /* This is not the last fragment of the message. */
11478 data_tvb
= tvb_new_subset_remaining(lbmc_tvb
, pkt_offset
);
11479 msgprop_tvb
= NULL
;
11480 msg_reassembled
= true;
11481 msg_complete
= false;
11489 - Data to be dissected is in data_tvb
11490 - Message properties to be dissected is in msgprop_tvb
11492 /* For reassembled messages, show the frame or reassembly information. */
11493 if (msg_reassembled
)
11495 if (msg
->reassembled_frame
== pinfo
->num
)
11497 proto_tree
* frag_tree
= NULL
;
11498 proto_item
* frag_item
= NULL
;
11499 proto_item
* pi
= NULL
;
11500 bool first_item
= true;
11501 lbmc_fragment_entry_t
* cur
= NULL
;
11504 /* Create a new real data tvb of the reassembled data. */
11505 buf
= (char *)wmem_alloc(pinfo
->pool
, (size_t)msg
->total_len
);
11507 while (cur
!= NULL
)
11509 memcpy(buf
+ cur
->fragment_start
, cur
->data
, cur
->fragment_len
);
11512 msg
->reassembled_data
= tvb_new_real_data(buf
, msg
->total_len
, msg
->total_len
);
11513 msg_complete
= true;
11514 /* Create separate data and msgprop tvbs */
11515 msg
->data
= tvb_new_subset_length(msg
->reassembled_data
, 0, msg
->total_len
- msg
->msgprop_len
);
11516 if (msg
->msgprop_len
> 0)
11518 msg
->msgprop
= tvb_new_subset_length(msg
->reassembled_data
, msg
->total_len
- msg
->msgprop_len
, msg
->msgprop_len
);
11520 add_new_data_source(pinfo
, msg
->reassembled_data
, "Reassembled Data");
11521 if (msg
->data
== NULL
)
11523 msg
->data
= tvb_new_subset_length(msg
->reassembled_data
, 0, msg
->total_len
- msg
->msgprop_len
);
11525 if (msg
->msgprop
== NULL
)
11527 if (msg
->msgprop_len
> 0)
11529 msg
->msgprop
= tvb_new_subset_length(msg
->reassembled_data
, msg
->total_len
- msg
->msgprop_len
, msg
->msgprop_len
);
11532 data_tvb
= msg
->data
;
11533 msgprop_tvb
= msg
->msgprop
;
11534 data_is_umq_cmd_resp
= msg
->data_is_umq_cmd_resp
;
11536 frag_item
= proto_tree_add_none_format(subtree
,
11537 hf_lbmc_reassembly
,
11540 tvb_reported_length_remaining(data_tvb
, 0),
11541 "%" PRIu32
" Reassembled Fragments (%" PRIu32
" bytes):",
11542 msg
->fragment_count
,
11544 frag_tree
= proto_item_add_subtree(frag_item
, ett_lbmc_reassembly
);
11547 while (cur
!= NULL
)
11549 pi
= proto_tree_add_uint_format_value(frag_tree
,
11550 hf_lbmc_reassembly_fragment
,
11551 msg
->reassembled_data
,
11552 cur
->fragment_start
,
11555 "Frame: %" PRIu32
", payload: %" PRIu32
"-%" PRIu32
" (%" PRIu32
" bytes)",
11557 cur
->fragment_start
,
11558 (cur
->fragment_start
+ cur
->fragment_len
) - 1,
11559 cur
->fragment_len
);
11560 proto_item_set_generated(pi
);
11563 proto_item_append_text(frag_item
, " #%" PRIu32
"(%" PRIu32
")", cur
->frame
, cur
->fragment_len
);
11567 proto_item_append_text(frag_item
, ", #%" PRIu32
"(%" PRIu32
")", cur
->frame
, cur
->fragment_len
);
11569 first_item
= false;
11572 proto_item_set_generated(frag_item
);
11578 if (msg
->reassembled_frame
== 0)
11580 proto_tree_add_expert(subtree
, pinfo
, &ei_lbmc_analysis_missing_reassembly_frame
, data_tvb
, 0, -1);
11584 pi
= proto_tree_add_uint(subtree
, hf_reassembly_frame
, data_tvb
, 0, tvb_reported_length_remaining(data_tvb
, 0), msg
->reassembled_frame
);
11585 proto_item_set_generated(pi
);
11590 if (data_is_umq_cmd_resp
&& msg_complete
)
11592 (void)dissect_nhdr_umq_cmd_resp(data_tvb
, 0, pinfo
, subtree
, true);
11593 col_append_sep_str(pinfo
->cinfo
, COL_INFO
, " ", "UMQ-CMD-RESP");
11597 if ((!lbm_channel_is_transport(channel
)) && (!has_source_index
))
11599 retransmission
= true;
11601 msg_type
= lbmc_determine_data_msg_type(retransmission
, found_header
);
11602 col_append_sep_str(pinfo
->cinfo
, COL_INFO
, " ", msg_type
);
11603 if (can_call_subdissector
)
11605 if (lbmc_use_heuristic_subdissectors
)
11607 dissector_found
= dissector_try_heuristic(lbmc_heuristic_subdissector_list
, data_tvb
, pinfo
, subtree
, &hdtbl_entry
, NULL
);
11609 if (!dissector_found
)
11611 if (lbmc_dissect_lbmpdm
)
11616 dissector_found
= (bool)lbmpdm_verify_payload(data_tvb
, 0, &encoding
, &pdmlen
);
11618 if (dissector_found
)
11620 lbmpdm_dissect_lbmpdm_payload(data_tvb
, 0, pinfo
, subtree
, actual_channel
);
11624 call_data_dissector(data_tvb
, pinfo
, subtree
);
11630 call_data_dissector(data_tvb
, pinfo
, subtree
);
11633 if (msgprop_tvb
!= NULL
)
11635 dissect_msg_properties(msgprop_tvb
, 0, pinfo
, subtree
);
11639 if (puim_stream_info
!= NULL
)
11641 lbm_uim_stream_info_t
* msg_info
;
11643 puim_stream_info
->description
= msg_type
;
11644 /* The dup is needed since there may be multiple stream infos per packet. */
11645 msg_info
= lbmc_dup_stream_info(pinfo
->pool
, puim_stream_info
);
11646 tap_queue_packet(lbmc_uim_tap_handle
, pinfo
, (void *)msg_info
);
11649 len_dissected
+= tvb_reported_length_remaining(lbmc_tvb
, pkt_offset
);
11653 msg_type
= lbmc_determine_msg_type(found_header
);
11655 if (msg_type
!= NULL
)
11657 col_append_sep_str(pinfo
->cinfo
, COL_INFO
, " ", msg_type
);
11658 if (puim_stream_info
!= NULL
)
11660 lbm_uim_stream_info_t
* msg_info
;
11662 puim_stream_info
->description
= msg_type
;
11663 /* The dup is needed since there may be multiple stream infos per packet. */
11664 msg_info
= lbmc_dup_stream_info(pinfo
->pool
, puim_stream_info
);
11665 tap_queue_packet(lbmc_uim_tap_handle
, pinfo
, (void *)msg_info
);
11669 tvb_lbmc_offset
+= msglen
;
11671 return (len_dissected
);
11674 int lbmc_get_minimum_length(void)
11676 return (O_LBMC_HDR_T_MSGLEN
+ L_LBMC_HDR_T_MSGLEN
);
11679 uint16_t lbmc_get_message_length(tvbuff_t
* tvb
, int offset
)
11681 return (tvb_get_ntohs(tvb
, offset
+ O_LBMC_HDR_T_MSGLEN
));
11684 /* Register all the bits needed with the filtering engine */
11685 void proto_register_lbmc(void)
11687 static hf_register_info hf
[] =
11690 { "Tag", "lbmc.tag", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11692 { "Topic", "lbmc.topic", FT_STRING
, BASE_NONE
, NULL
, 0x0, "Topic string", HFILL
} },
11693 { &hf_lbmc_version
,
11694 { "Version", "lbmc.version", FT_UINT8
, BASE_DEC
, NULL
, LBMC_HDR_VER_TYPE_VER_MASK
, "LBMC protocol version", HFILL
} },
11696 { "Type", "lbmc.type", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_message_type
), LBMC_HDR_VER_TYPE_TYPE_MASK
, "LBMC packet type", HFILL
} },
11697 { &hf_lbmc_next_hdr
,
11698 { "Next Header", "lbmc.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11700 { "Message Length", "lbmc.msglen", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11702 { "Topic Index", "lbmc.tidx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11704 { "Sequence Number", "lbmc.sqn", FT_UINT32
, BASE_DEC
, NULL
, 0x0, "Topic sequence number", HFILL
} },
11706 { "Fragment", "lbmc.frag", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11707 { &hf_lbmc_frag_next_hdr
,
11708 { "Next Header", "lbmc.frag.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11709 { &hf_lbmc_frag_hdr_len
,
11710 { "Header Length", "lbmc.frag.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11711 { &hf_lbmc_frag_flags
,
11712 { "Flags", "lbmc.frag.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11713 { &hf_lbmc_frag_flags_ignore
,
11714 { "Ignore", "lbmc.frag.flags.ignore", FT_BOOLEAN
, L_LBMC_FRAG_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11715 { &hf_lbmc_frag_first_sqn
,
11716 { "First Sequence Number", "lbmc.frag.first_sqn", FT_UINT32
, BASE_DEC
, NULL
, 0x0, "First sqn of fragment for this message", HFILL
} },
11717 { &hf_lbmc_frag_offset
,
11718 { "Offset", "lbmc.frag.offset", FT_UINT32
, BASE_DEC
, NULL
, 0x0, "Offset of this fragment within message", HFILL
} },
11719 { &hf_lbmc_frag_len
,
11720 { "Length", "lbmc.frag.len", FT_UINT32
, BASE_DEC
, NULL
, 0x0, "Total length of message", HFILL
} },
11722 { "Batch", "lbmc.batch", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11723 { &hf_lbmc_batch_next_hdr
,
11724 { "Next Header", "lbmc.batch.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11725 { &hf_lbmc_batch_hdr_len
,
11726 { "Header Length", "lbmc.batch.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11727 { &hf_lbmc_batch_flags
,
11728 { "Flags", "lbmc.batch.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11729 { &hf_lbmc_batch_flags_ignore
,
11730 { "Ignore", "lbmc.batch.flags.ignore", FT_BOOLEAN
, L_LBMC_BATCH_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11731 { &hf_lbmc_batch_flags_batch_start
,
11732 { "Batch Start", "lbmc.batch.flags.batch_start", FT_BOOLEAN
, L_LBMC_BATCH_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_BATCH_START
, "If set, indicates the start of an explicit batch", HFILL
} },
11733 { &hf_lbmc_batch_flags_batch_end
,
11734 { "Batch End", "lbmc.batch.flags.batch_end", FT_BOOLEAN
, L_LBMC_BATCH_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_BATCH_END
, "If set, indicate the end of an explicit batch", HFILL
} },
11735 { &hf_lbmc_tcp_request
,
11736 { "Request", "lbmc.tcp_request", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11737 { &hf_lbmc_tcp_request_next_hdr
,
11738 { "Next Header", "lbmc.tcp_request.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11739 { &hf_lbmc_tcp_request_hdr_len
,
11740 { "Header Length", "lbmc.tcp_request.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11741 { &hf_lbmc_tcp_request_flags
,
11742 { "Flags", "lbmc.tcp_request.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11743 { &hf_lbmc_tcp_request_flags_ignore
,
11744 { "Ignore", "lbmc.tcp_request_flags.ignore", FT_BOOLEAN
, L_LBMC_TCP_REQUEST_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
11745 { &hf_lbmc_tcp_request_transport
,
11746 { "Transport", "lbmc.tcp_request.transport", FT_UINT8
, BASE_HEX
, VALS(lbmc_req_transport_type
), 0x0, "Transport type", HFILL
} },
11747 { &hf_lbmc_tcp_request_qidx
,
11748 { "Request Index", "lbmc.tcp_request.qidx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11749 { &hf_lbmc_tcp_request_port
,
11750 { "Port", "lbmc.tcp_request.port", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11751 { &hf_lbmc_tcp_request_reserved
,
11752 { "Reserved", "lbmc.tcp_request.reserved", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11753 { &hf_lbmc_tcp_request_ipaddr
,
11754 { "Requester IP Address", "lbmc.tcp_request.ipaddr", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11755 { &hf_lbmc_topicname
,
11756 { "Topicname", "lbmc.topicname", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11757 { &hf_lbmc_topicname_next_hdr
,
11758 { "Next Header", "lbmc.topicname.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11759 { &hf_lbmc_topicname_hdr_len
,
11760 { "Header Length", "lbmc.topicname.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11761 { &hf_lbmc_topicname_flags
,
11762 { "Flags", "lbmc.topicname.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11763 { &hf_lbmc_topicname_flags_ignore
,
11764 { "Ignore", "lbmc.topicname.flags.ignore", FT_BOOLEAN
, L_LBMC_TOPICNAME_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11765 { &hf_lbmc_topicname_topicname
,
11766 { "Topic", "lbmc.topicname.topic", FT_STRING
, BASE_NONE
, NULL
, 0x0, "Topic name", HFILL
} },
11768 { "AppHeader", "lbmc.apphdr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11769 { &hf_lbmc_apphdr_next_hdr
,
11770 { "Next Header", "lbmc.apphdr.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11771 { &hf_lbmc_apphdr_hdr_len
,
11772 { "Header Length", "lbmc.apphdr.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11773 { &hf_lbmc_apphdr_ignore
,
11774 { "Ignore", "lbmc.apphdr.ignore", FT_BOOLEAN
, L_LBMC_APPHDR_HDR_T_CODE
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11775 { &hf_lbmc_apphdr_code
,
11776 { "Application Code", "lbmc.apphdr.code", FT_UINT16
, BASE_DEC_HEX
, NULL
, LBMC_APPHDR_CODE_MASK
, "Application header code", HFILL
} },
11777 { &hf_lbmc_apphdr_data
,
11778 { "Data", "lbmc.apphdr.data", FT_NONE
, BASE_NONE
, NULL
, 0x0, "Application header data", HFILL
} },
11779 { &hf_lbmc_apphdr_chain
,
11780 { "AppHeader Chain", "lbmc.apphdr_chain", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11781 { &hf_lbmc_apphdr_chain_next_hdr
,
11782 { "Next Header", "lbmc.apphdr_chain.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11783 { &hf_lbmc_apphdr_chain_hdr_len
,
11784 { "Header Length", "lbmc.apphdr_chain.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11785 { &hf_lbmc_apphdr_chain_res
,
11786 { "Reserved", "lbmc.apphdr_chain.res", FT_UINT8
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11787 { &hf_lbmc_apphdr_chain_first_chain_hdr
,
11788 { "First chain hdr", "lbmc.apphdr_chain.first_chain_hdr", FT_UINT8
, BASE_HEX_DEC
, VALS(lbmc_apphdr_chain_type
), 0x0, NULL
, HFILL
} },
11789 { &hf_lbmc_apphdr_chain_element
,
11790 { "AppHeader Chain Element", "lbmc.apphdr_chain.element", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11791 { &hf_lbmc_apphdr_chain_element_next_hdr
,
11792 { "Next Header", "lbmc.apphdr_chain.element.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_apphdr_chain_type
), 0x0, NULL
, HFILL
} },
11793 { &hf_lbmc_apphdr_chain_element_hdr_len
,
11794 { "Header Length", "lbmc.apphdr_chain.element.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11795 { &hf_lbmc_apphdr_chain_element_res
,
11796 { "Reserved", "lbmc.apphdr_chain.element.res", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11797 { &hf_lbmc_apphdr_chain_element_data
,
11798 { "Data", "lbmc.apphdr_chain.element.data", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11799 { &hf_lbmc_apphdr_chain_msgprop
,
11800 { "AppHeader Chain Message Properties Element", "lbmc.apphdr_chain.msgprop", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11801 { &hf_lbmc_apphdr_chain_msgprop_next_hdr
,
11802 { "Next Header", "lbmc.apphdr_chain.msgprop.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_apphdr_chain_type
), 0x0, NULL
, HFILL
} },
11803 { &hf_lbmc_apphdr_chain_msgprop_hdr_len
,
11804 { "Header Length", "lbmc.apphdr_chain.msgprop.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11805 { &hf_lbmc_apphdr_chain_msgprop_res
,
11806 { "Reserved", "lbmc.apphdr_chain.msgprop.res", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11807 { &hf_lbmc_apphdr_chain_msgprop_len
,
11808 { "Properties Length", "lbmc.apphdr_chain.msgprop.proplen", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11809 { &hf_lbmc_umq_msgid
,
11810 { "UMQ MessageID", "lbmc.umq_msgid", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11811 { &hf_lbmc_umq_msgid_next_hdr
,
11812 { "Next Header", "lbmc.umq_msgid.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11813 { &hf_lbmc_umq_msgid_hdr_len
,
11814 { "Header Length", "lbmc.umq_msgid.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11815 { &hf_lbmc_umq_msgid_flags
,
11816 { "Flags", "lbmc.umq_msgid.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11817 { &hf_lbmc_umq_msgid_flags_ignore
,
11818 { "Ignore", "lbmc.umq_msgid.flags.ignore", FT_BOOLEAN
, L_LBMC_UMQ_MSGID_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11819 { &hf_lbmc_umq_msgid_msgid_regid
,
11820 { "Message ID RegID", "lbmc.umq_msgid.msgid_regid", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, "Message ID registration ID", HFILL
} },
11821 { &hf_lbmc_umq_msgid_msgid_stamp
,
11822 { "MessageID Stamp", "lbmc.umq_msgid.msgid_stamp", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, "Message ID stamp", HFILL
} },
11823 { &hf_lbmc_umq_sqd_rcv
,
11824 { "UMQ SQD Receiver", "lbmc.umq_sqd_rcv", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11825 { &hf_lbmc_umq_sqd_rcv_next_hdr
,
11826 { "Next Header", "lbmc.umq_sqd_rcv.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11827 { &hf_lbmc_umq_sqd_rcv_hdr_len
,
11828 { "Header Length", "lbmc.umq_sqd_rcv.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11829 { &hf_lbmc_umq_sqd_rcv_flags
,
11830 { "Flags", "lbmc.umq_sqd_rcv.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11831 { &hf_lbmc_umq_sqd_rcv_flags_ignore
,
11832 { "Ignore", "lbmc.umq_sqd_rcv.flags.ignore", FT_BOOLEAN
, L_LBMC_UMQ_SQD_RCV_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11833 { &hf_lbmc_umq_sqd_rcv_flags_r_flag
,
11834 { "Reassign", "lbmc.umq_sqd_rcv.flags.r_flag", FT_BOOLEAN
, L_LBMC_UMQ_SQD_RCV_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_SQD_RCV_R_FLAG
, "Set if this is a reassignment", HFILL
} },
11835 { &hf_lbmc_umq_sqd_rcv_flags_s_flag
,
11836 { "Resubmit", "lbmc.umq_sqd_rcv.flags.s_flag", FT_BOOLEAN
, L_LBMC_UMQ_SQD_RCV_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_SQD_RCV_S_FLAG
, "Set if this is a resubmission", HFILL
} },
11837 { &hf_lbmc_umq_sqd_rcv_flags_re_flag
,
11838 { "Redelivered", "lbmc.umq_sqd_rcv.flags.re_flag", FT_BOOLEAN
, L_LBMC_UMQ_SQD_RCV_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_SQD_RCV_RE_FLAG
, "Set if this is a redelivery", HFILL
} },
11839 { &hf_lbmc_umq_sqd_rcv_flags_eoi_flag
,
11840 { "End of Index", "lbmc.umq_sqd_rcv.flags.eoi_flag", FT_BOOLEAN
, L_LBMC_UMQ_SQD_RCV_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_SQD_RCV_BOI_FLAG
, NULL
, HFILL
} },
11841 { &hf_lbmc_umq_sqd_rcv_flags_boi_flag
,
11842 { "Beginning of Index", "lbmc.umq_sqd_rcv.flags.boi_flag", FT_BOOLEAN
, L_LBMC_UMQ_SQD_RCV_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_SQD_RCV_EOI_FLAG
, NULL
, HFILL
} },
11843 { &hf_lbmc_umq_sqd_rcv_queue_id
,
11844 { "Queue ID", "lbmc.umq_sqd_rcv.queue_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11845 { &hf_lbmc_umq_sqd_rcv_queue_ver
,
11846 { "Queue Version", "lbmc.umq_sqd_rcv.queue_ver", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11847 { &hf_lbmc_umq_sqd_rcv_rcr_idx
,
11848 { "RCR Index", "lbmc.umq_sqd_rcv.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11849 { &hf_lbmc_umq_sqd_rcv_assign_id
,
11850 { "Assignment ID", "lbmc.umq_sqd_rcv.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11851 { &hf_lbmc_umq_resub
,
11852 { "UMQ Resubmission", "lbmc.umq_resub", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11853 { &hf_lbmc_umq_resub_next_hdr
,
11854 { "Next Header", "lbmc.umq_resub.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11855 { &hf_lbmc_umq_resub_hdr_len
,
11856 { "Header Length", "lbmc.umq_resub.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11857 { &hf_lbmc_umq_resub_flags
,
11858 { "Flags", "lbmc.umq_resub.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11859 { &hf_lbmc_umq_resub_flags_ignore
,
11860 { "Ignore", "lbmc.umq_resub.flags.ignore", FT_BOOLEAN
, L_LBMC_UMQ_RESUB_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11861 { &hf_lbmc_umq_resub_flags_q_flag
,
11862 { "Queue", "lbmc.umq_resub.flags.q_flag", FT_BOOLEAN
, L_LBMC_UMQ_RESUB_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_RESUB_Q_FLAG
, NULL
, HFILL
} },
11863 { &hf_lbmc_umq_resub_rcr_idx
,
11864 { "RCR Index", "lbmc.umq_resub.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, "Receiver control record index", HFILL
} },
11865 { &hf_lbmc_umq_resub_resp_ip
,
11866 { "Response IP Address", "lbmc.umq_resub.resp_ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11867 { &hf_lbmc_umq_resub_resp_port
,
11868 { "Response Port", "lbmc.umq_resub.resp_port", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11869 { &hf_lbmc_umq_resub_appset_idx
,
11870 { "AppSet Index", "lbmc.umq_resub.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11872 { "OTID", "lbmc.otid", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11873 { &hf_lbmc_otid_next_hdr
,
11874 { "Next Header", "lbmc.otid.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11875 { &hf_lbmc_otid_hdr_len
,
11876 { "Header Length", "lbmc.otid.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11877 { &hf_lbmc_otid_flags
,
11878 { "Flags", "lbmc.otid.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11879 { &hf_lbmc_otid_flags_ignore
,
11880 { "Ignore", "lbmc.otid.flags.ignore", FT_BOOLEAN
, L_LBMC_OTID_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11881 { &hf_lbmc_otid_otid
,
11882 { "OTID", "lbmc.otid.otid", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11883 { &hf_lbmc_ctxinst
,
11884 { "Context Instance", "lbmc.ctxinst", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11885 { &hf_lbmc_ctxinst_next_hdr
,
11886 { "Next Header", "lbmc.ctxinst.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11887 { &hf_lbmc_ctxinst_hdr_len
,
11888 { "Header Length", "lbmc.ctxinst.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11889 { &hf_lbmc_ctxinst_flags
,
11890 { "Flags", "lbmc.ctxinst.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11891 { &hf_lbmc_ctxinst_flags_ignore
,
11892 { "Ignore", "lbmc.ctxinst_flags.ignore", FT_BOOLEAN
, L_LBMC_CTXINST_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11893 { &hf_lbmc_ctxinst_ctxinst
,
11894 { "Context Instance", "lbmc.ctxinst.ctxinst", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11895 { &hf_lbmc_ctxinstd
,
11896 { "Context Instance Destination", "lbmc.ctxinstd", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11897 { &hf_lbmc_ctxinstr
,
11898 { "Context Instance Return", "lbmc.ctxinstr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11900 { "Source Index", "lbmc.srcidx", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11901 { &hf_lbmc_srcidx_next_hdr
,
11902 { "Next Header", "lbmc.srcidx.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11903 { &hf_lbmc_srcidx_hdr_len
,
11904 { "Header Length", "lbmc.srcidx.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11905 { &hf_lbmc_srcidx_flags
,
11906 { "Flags", "lbmc.srcidx.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11907 { &hf_lbmc_srcidx_flags_ignore
,
11908 { "Ignore", "lbmc.srcidx.flags.ignore", FT_BOOLEAN
, L_LBMC_SRCIDX_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11909 { &hf_lbmc_srcidx_srcidx
,
11910 { "Source Index", "lbmc.srcidx.srcidx", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11911 { &hf_lbmc_umq_ulb_msg
,
11912 { "UMQ ULB Message", "lbmc.umq_ulb_msg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11913 { &hf_lbmc_umq_ulb_msg_next_hdr
,
11914 { "Next Header", "lbmc.umq_ulb_msg.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11915 { &hf_lbmc_umq_ulb_msg_hdr_len
,
11916 { "Header Length", "lbmc.umq_ulb_msg.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11917 { &hf_lbmc_umq_ulb_msg_flags
,
11918 { "Flags", "lbmc.umq_ulb_msg.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11919 { &hf_lbmc_umq_ulb_msg_flags_ignore
,
11920 { "Ignore", "lbmc.umq_ulb_msg.flags.ignore", FT_BOOLEAN
, L_LBMC_UMQ_ULB_MSG_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
11921 { &hf_lbmc_umq_ulb_msg_flags_a_flag
,
11922 { "Assigned", "lbmc.umq_ulb_msg.flags.a", FT_BOOLEAN
, L_LBMC_UMQ_ULB_MSG_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_ULB_MSG_A_FLAG
, NULL
, HFILL
} },
11923 { &hf_lbmc_umq_ulb_msg_flags_r_flag
,
11924 { "Reassigned", "lbmc.umq_ulb_msg.flags.r", FT_BOOLEAN
, L_LBMC_UMQ_ULB_MSG_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_ULB_MSG_R_FLAG
, NULL
, HFILL
} },
11925 { &hf_lbmc_umq_ulb_msg_queue_id
,
11926 { "Queue ID", "lbmc.umq_ulb_msg.queue_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11927 { &hf_lbmc_umq_ulb_msg_ulb_src_id
,
11928 { "ULB Source ID", "lbmc.umq_ulb_msg.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11929 { &hf_lbmc_umq_ulb_msg_assign_id
,
11930 { "Assignment ID", "lbmc.umq_ulb_msg.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11931 { &hf_lbmc_umq_ulb_msg_appset_idx
,
11932 { "AppSet Index", "lbmc.umq_ulb_msg.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11933 { &hf_lbmc_umq_ulb_msg_num_ras
,
11934 { "Number of RAs", "lbmc.umq_ulb_msg.num_ras", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, "Number of reassignments", HFILL
} },
11935 { &hf_lbmc_ssf_init
,
11936 { "SSF Init", "lbmc.ssf_init", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11937 { &hf_lbmc_ssf_init_next_hdr
,
11938 { "Next Header", "lbmc.ssf_init.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11939 { &hf_lbmc_ssf_init_hdr_len
,
11940 { "Header Length", "lbmc.ssf_init.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11941 { &hf_lbmc_ssf_init_transport
,
11942 { "Transport", "lbmc.ssf_init.transport", FT_UINT8
, BASE_DEC
, VALS(lbmc_ssf_transport_type
), 0x0, NULL
, HFILL
} },
11943 { &hf_lbmc_ssf_init_flags
,
11944 { "Flags", "lbmc.ssf_init.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11945 { &hf_lbmc_ssf_init_flags_ignore
,
11946 { "Ignore", "lbmc.ssf_init.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_SSF_INIT_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
11947 { &hf_lbmc_ssf_init_flags_default_inclusions
,
11948 { "Default Inclusions", "lbmc.ssf_init.flags.default_inclusions", FT_BOOLEAN
, L_LBMC_CNTL_SSF_INIT_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CNTL_SSF_INIT_DEFAULT_INC
, NULL
, HFILL
} },
11949 { &hf_lbmc_ssf_init_flags_default_exclusions
,
11950 { "Default Exclusions", "lbmc.ssf_init.flags.default_exclusions", FT_BOOLEAN
, L_LBMC_CNTL_SSF_INIT_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CNTL_SSF_INIT_DEFAULT_EXC
, NULL
, HFILL
} },
11951 { &hf_lbmc_ssf_init_transport_idx
,
11952 { "Transport Index", "lbmc.ssf_init.transport_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11953 { &hf_lbmc_ssf_init_client_idx
,
11954 { "Client Index", "lbmc.ssf_init.client_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11955 { &hf_lbmc_ssf_init_ssf_port
,
11956 { "SSF Port", "lbmc.ssf_init.ssf_port", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11957 { &hf_lbmc_ssf_init_res
,
11958 { "Reserved", "lbmc.ssf_init.res", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11959 { &hf_lbmc_ssf_init_ssf_ip
,
11960 { "SSF IP Address", "lbmc.ssf_init.ssf_ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11961 { &hf_lbmc_ssf_creq
,
11962 { "SSF CReq", "lbmc.ssf_creq", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11963 { &hf_lbmc_ssf_creq_next_hdr
,
11964 { "Next Header", "lbmc.ssf_creq.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11965 { &hf_lbmc_ssf_creq_hdr_len
,
11966 { "Header Length", "lbmc.ssf_creq.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11967 { &hf_lbmc_ssf_creq_flags
,
11968 { "Flags", "lbmc.ssf_creq.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11969 { &hf_lbmc_ssf_creq_flags_ignore
,
11970 { "Ignore", "lbmc.ssf_creq.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_SSF_CREQ_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
11971 { &hf_lbmc_ssf_creq_mode
,
11972 { "Mode", "lbmc.ssf_creq.mode", FT_UINT8
, BASE_HEX
, VALS(lbmc_ssf_creq_mode
), 0x0, NULL
, HFILL
} },
11973 { &hf_lbmc_ssf_creq_transport_idx
,
11974 { "Transport Index", "lbmc.ssf_creq.transport_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11975 { &hf_lbmc_ssf_creq_topic_idx
,
11976 { "Topic Index", "lbmc.ssf_creq.topic_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11977 { &hf_lbmc_ssf_creq_client_idx
,
11978 { "Client Index", "lbmc.ssf_creq.client_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
11979 { &hf_lbmc_ume_preg
,
11980 { "UME PReg", "lbmc.ume_preg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
11981 { &hf_lbmc_ume_preg_next_hdr
,
11982 { "Next Header", "lbmc.ume_preg.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
11983 { &hf_lbmc_ume_preg_hdr_len
,
11984 { "Header Length", "lbmc.ume_preg.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11985 { &hf_lbmc_ume_preg_flags
,
11986 { "Flags", "lbmc.ume_preg.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
11987 { &hf_lbmc_ume_preg_flags_ignore
,
11988 { "Ignore", "lbmc.ume_preg.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
11989 { &hf_lbmc_ume_preg_flags_f_flag
,
11990 { "Do Not Forward ACKs", "lbmc.ume_preg.flags.f_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_HDR_T_FLAGS
* 8, TFS(&lbmc_ume_f_flag
), LBMC_UME_PREG_F_FLAG
, "Set if ACKs are to be forwarded", HFILL
} },
11991 { &hf_lbmc_ume_preg_flags_p_flag
,
11992 { "Proxy Source", "lbmc.ume_preg.flags.p_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_PREG_P_FLAG
, "Set if this source is a proxy source", HFILL
} },
11993 { &hf_lbmc_ume_preg_flags_w_flag
,
11994 { "Receiver Paced Persistence", "lbmc.ume_preg.flags.w_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_PREG_W_FLAG
, "Set if receiver paced persistence is used", HFILL
} },
11995 { &hf_lbmc_ume_preg_flags_d_flag
,
11996 { "Deregister", "lbmc.ume_preg.flags.d_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_PREG_D_FLAG
, "Set if this is a de-registration", HFILL
} },
11997 { &hf_lbmc_ume_preg_s_flag
,
11998 { "Source Registration", "lbmc.ume_preg.s_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_HDR_T_MARKER
* 8, TFS(&lbmc_ume_s_flag
), LBMC_UME_PREG_S_FLAG
, "Set if this is a source registration", HFILL
} },
11999 { &hf_lbmc_ume_preg_marker
,
12000 { "Marker", "lbmc.ume_preg.marker", FT_UINT8
, BASE_DEC_HEX
, NULL
, LBMC_CNTL_UME_PREG_MARKER_MASK
, NULL
, HFILL
} },
12001 { &hf_lbmc_ume_preg_reg_id
,
12002 { "Registration ID", "lbmc.ume_preg.reg_id", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12003 { &hf_lbmc_ume_preg_transport_idx
,
12004 { "Transport Index", "lbmc.ume_preg.transport_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12005 { &hf_lbmc_ume_preg_topic_idx
,
12006 { "Topic Index", "lbmc.ume_preg.topic_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12007 { &hf_lbmc_ume_preg_src_reg_id
,
12008 { "Source Registration ID", "lbmc.ume_preg.src_reg_id", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12009 { &hf_lbmc_ume_preg_resp_port
,
12010 { "Response Port", "lbmc.ume_preg.resp_port", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12011 { &hf_lbmc_ume_preg_res2
,
12012 { "Reserved2", "lbmc.ume_preg.res2", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12013 { &hf_lbmc_ume_preg_resp_ip
,
12014 { "Response IP Address", "lbmc.ume_preg.resp_ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12015 { &hf_lbmc_ume_preg_resp
,
12016 { "UME PReg Resp", "lbmc.ume_preg_resp", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12017 { &hf_lbmc_ume_preg_resp_next_hdr
,
12018 { "Next Header", "lbmc.ume_preg_resp.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12019 { &hf_lbmc_ume_preg_resp_hdr_len
,
12020 { "Header Length", "lbmc.ume_preg_resp.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12021 { &hf_lbmc_ume_preg_resp_code
,
12022 { "Code", "lbmc.ume_preg_resp.code", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12023 { &hf_lbmc_ume_preg_resp_code_ignore
,
12024 { "Ignore", "lbmc.ume_preg_resp.code.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12025 { &hf_lbmc_ume_preg_resp_code_e_flag
,
12026 { "Error Indicator", "lbmc.ume_preg_resp.code.e_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE
* 8, TFS(&lbmc_ume_error_flag
), LBMC_UME_PREG_RESP_E_FLAG
, "Set if an error occurred", HFILL
} },
12027 { &hf_lbmc_ume_preg_resp_code_o_flag
,
12028 { "Old Client", "lbmc.ume_preg_resp.code.o_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE
* 8, TFS(&lbmc_ume_o_flag
), LBMC_UME_PREG_RESP_O_FLAG
, "Set if an old client was detected", HFILL
} },
12029 { &hf_lbmc_ume_preg_resp_code_n_flag
,
12030 { "No ACKs/No Cache", "lbmc.ume_preg_resp.code.n_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE
* 8, TFS(&lbmc_ume_n_flag
), LBMC_UME_PREG_RESP_CODE_NOACKS_FLAG
, "Set if not ACKing or not caching", HFILL
} },
12031 { &hf_lbmc_ume_preg_resp_code_w_flag
,
12032 { "Receiver Paced Persistence", "lbmc.ume_preg_resp.code.w_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE
* 8, TFS(&tfs_set_notset
), LBMC_UME_PREG_RESP_W_FLAG
, "Set if receiver paced persistence", HFILL
} },
12033 { &hf_lbmc_ume_preg_resp_code_d_flag
,
12034 { "Deregister", "lbmc.ume_preg_resp.code.d_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_CODE
* 8, TFS(&tfs_set_notset
), LBMC_UME_PREG_RESP_D_FLAG
, "Set if deregistration", HFILL
} },
12035 { &hf_lbmc_ume_preg_resp_code_code
,
12036 { "Error Code", "lbmc.ume_preg_resp.code.code", FT_UINT8
, BASE_HEX
, VALS(lbmc_ume_preg_resp_error_code
), LBMC_CNTL_UME_PREG_RESP_CODE_MASK
, NULL
, HFILL
} },
12037 { &hf_lbmc_ume_preg_resp_s_flag
,
12038 { "Source Registration", "lbmc.ume_preg_resp.s_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_PREG_RESP_HDR_T_MARKER
* 8, TFS(&lbmc_ume_s_flag
), LBMC_UME_PREG_S_FLAG
, "Set if source registration", HFILL
} },
12039 { &hf_lbmc_ume_preg_resp_marker
,
12040 { "Marker", "lbmc.ume_preg_resp.marker", FT_UINT8
, BASE_DEC_HEX
, NULL
, LBMC_CNTL_UME_PREG_MARKER_MASK
, NULL
, HFILL
} },
12041 { &hf_lbmc_ume_preg_resp_reg_id
,
12042 { "Registration ID", "lbmc.ume_preg_resp.reg_id", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12043 { &hf_lbmc_ume_preg_resp_transport_idx
,
12044 { "Transport Index", "lbmc.ume_preg_resp.transport_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12045 { &hf_lbmc_ume_preg_resp_topic_idx
,
12046 { "Topic Index", "lbmc.ume_preg_resp.topic_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12047 { &hf_lbmc_ume_preg_resp_low_seqnum
,
12048 { "Low Sequence Number", "lbmc.ume_preg_resp.low_seqnum", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12049 { &hf_lbmc_ume_preg_resp_high_seqnum
,
12050 { "High Sequence Number", "lbmc.ume_preg_resp.high_seqnum", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12051 { &hf_lbmc_ume_ack
,
12052 { "UME ACK", "lbmc.ume_ack", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12053 { &hf_lbmc_ume_ack_next_hdr
,
12054 { "Next Header", "lbmc.ume_ack.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12055 { &hf_lbmc_ume_ack_hdr_len
,
12056 { "Header Length", "lbmc.ume_ack.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12057 { &hf_lbmc_ume_ack_flags
,
12058 { "Flags", "lbmc.ume_ack.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12059 { &hf_lbmc_ume_ack_flags_ignore
,
12060 { "Ignore", "lbmc.ume_ack.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_ACK_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12061 { &hf_lbmc_ume_ack_flags_o_flag
,
12062 { "Receiver Arrival-Order Delivery", "lbmc.ume_ack.flags.o_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_ACK_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_ACK_O_FLAG
, "Set if receiver specified arrival-order delivery", HFILL
} },
12063 { &hf_lbmc_ume_ack_flags_f_flag
,
12064 { "Do Not Forward ACKs", "lbmc.ume_ack.flags.f_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_ACK_HDR_T_FLAGS
* 8, TFS(&lbmc_ume_f_flag
), LBMC_UME_ACK_F_FLAG
, NULL
, HFILL
} },
12065 { &hf_lbmc_ume_ack_flags_u_flag
,
12066 { "User-Specified Receiver Registration ID", "lbmc.ume_ack.flags.u_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_ACK_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_ACK_U_FLAG
, "Set if receiver registration ID was set by the user", HFILL
} },
12067 { &hf_lbmc_ume_ack_flags_e_flag
,
12068 { "Explicit ACK", "lbmc.ume_ack.flags.e_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_ACK_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_ACK_E_FLAG
, "Set if an explicit ACK", HFILL
} },
12069 { &hf_lbmc_ume_ack_type
,
12070 { "Type", "lbmc.ume_ack.type", FT_UINT8
, BASE_HEX
, VALS(lbmc_ume_ack_type
), 0x0, NULL
, HFILL
} },
12071 { &hf_lbmc_ume_ack_transport_idx
,
12072 { "Transport Index", "lbmc.ume_ack.transport_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12073 { &hf_lbmc_ume_ack_id_2
,
12074 { "Topic Index/Registration ID", "lbmc.ume_ack.id_2", FT_UINT32
, BASE_DEC
, NULL
, 0x0, "Topic index (from store) or Registration ID (from receiver)", HFILL
} },
12075 { &hf_lbmc_ume_ack_rcv_reg_id
,
12076 { "Receiver Registration ID", "lbmc.ume_ack.rcv_reg_id", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12077 { &hf_lbmc_ume_ack_seqnum
,
12078 { "Sequence Number", "lbmc.ume_ack.seqnum", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12079 { &hf_lbmc_ume_rxreq
,
12080 { "UME RX Request", "lbmc.ume_rxreq", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12081 { &hf_lbmc_ume_rxreq_next_hdr
,
12082 { "Next Header", "lbmc.ume_rxreq.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12083 { &hf_lbmc_ume_rxreq_hdr_len
,
12084 { "Header Length", "lbmc.ume_rxreq.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12085 { &hf_lbmc_ume_rxreq_flags
,
12086 { "Flags", "lbmc.ume_rxreq.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12087 { &hf_lbmc_ume_rxreq_flags_ignore
,
12088 { "Ignore", "lbmc.ume_rxreq.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_RXREQ_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12089 { &hf_lbmc_ume_rxreq_flags_tsni_req
,
12090 { "TSNI Request", "lbmc.ume_rxreq.flags.t", FT_BOOLEAN
, L_LBMC_CNTL_UME_RXREQ_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_RXREQ_T_FLAG
, "Set if TSNI request", HFILL
} },
12091 { &hf_lbmc_ume_rxreq_marker
,
12092 { "Marker", "lbmc.ume_rxreq.marker", FT_UINT16
, BASE_HEX_DEC
, NULL
, LBMC_UME_RXREQ_MARKER_MASK
, NULL
, HFILL
} },
12093 { &hf_lbmc_ume_rxreq_request_idx
,
12094 { "Request Index", "lbmc.ume_rxreq.request_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12095 { &hf_lbmc_ume_rxreq_transport_idx
,
12096 { "Transport Index", "lbmc.ume_rxreq.transport_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12097 { &hf_lbmc_ume_rxreq_id_2
,
12098 { "Topic Index/Registration ID", "lbmc.ume_rxreq.id_2", FT_UINT32
, BASE_DEC
, NULL
, 0x0, "Topic index (from store) or Registration ID (from receiver)", HFILL
} },
12099 { &hf_lbmc_ume_rxreq_seqnum
,
12100 { "Sequence Number", "lbmc.ume_rxreq.seqnum", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12101 { &hf_lbmc_ume_rxreq_rx_port
,
12102 { "Retransmission Port", "lbmc.ume_rxreq.rx_port", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12103 { &hf_lbmc_ume_rxreq_res
,
12104 { "Reserved", "lbmc.ume_rxreq.res", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12105 { &hf_lbmc_ume_rxreq_rx_ip
,
12106 { "Retransmission IP Address", "lbmc.ume_rxreq.rx_ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12107 { &hf_lbmc_ume_keepalive
,
12108 { "UME Keepalive", "lbmc.ume_keepalive", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12109 { &hf_lbmc_ume_keepalive_next_hdr
,
12110 { "Next Header", "lbmc.ume_keepalive.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12111 { &hf_lbmc_ume_keepalive_hdr_len
,
12112 { "Header Length", "lbmc.ume_keepalive.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12113 { &hf_lbmc_ume_keepalive_flags
,
12114 { "Flags", "lbmc.ume_keepalive.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12115 { &hf_lbmc_ume_keepalive_flags_ignore
,
12116 { "Ignore", "lbmc.ume_keepalive.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12117 { &hf_lbmc_ume_keepalive_flags_r_flag
,
12118 { "Response Requested", "lbmc.ume_keepalive.flags.r_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_FLAGS
* 8, TFS(&lbmc_ume_r_flag
), LBMC_UME_KEEPALIVE_R_FLAG
, "Set if response requested", HFILL
} },
12119 { &hf_lbmc_ume_keepalive_flags_t_flag
,
12120 { "No TIR Seen", "lbmc.ume_keepalive.flags.t_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_KEEPALIVE_HDR_T_FLAGS
* 8, TFS(&lbmc_ume_t_flag
), LBMC_UME_KEEPALIVE_T_FLAG
, "Set if no TIR seen", HFILL
} },
12121 { &hf_lbmc_ume_keepalive_type
,
12122 { "Type", "lbmc.ume_keepalive.type", FT_UINT8
, BASE_HEX
, VALS(lbmc_ume_ka_type
), 0x0, NULL
, HFILL
} },
12123 { &hf_lbmc_ume_keepalive_transport_idx
,
12124 { "Transport Index", "lbmc.ume_keepalive.transport_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12125 { &hf_lbmc_ume_keepalive_topic_idx
,
12126 { "Topic Index", "lbmc.ume_keepalive.topic_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12127 { &hf_lbmc_ume_keepalive_reg_id
,
12128 { "Registration ID", "lbmc.ume_keepalive.reg_id", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12129 { &hf_lbmc_ume_storeid
,
12130 { "UME Store ID", "lbmc.ume_storeid", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12131 { &hf_lbmc_ume_storeid_next_hdr
,
12132 { "Next Header", "lbmc.ume_storeid.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12133 { &hf_lbmc_ume_storeid_hdr_len
,
12134 { "Header Length", "lbmc.ume_storeid.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12135 { &hf_lbmc_ume_storeid_ignore
,
12136 { "Ignore", "lbmc.ume_storeid.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_STOREID_HDR_T_STORE_ID
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12137 { &hf_lbmc_ume_storeid_store_id
,
12138 { "Store ID", "lbmc.ume_storeid.store_id", FT_UINT16
, BASE_DEC_HEX
, NULL
, LBMC_CNTL_UME_STOREID_STOREID_MASK
, NULL
, HFILL
} },
12139 { &hf_lbmc_ume_ranged_ack
,
12140 { "UME Ranged ACK", "lbmc.ume_ranged_ack", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12141 { &hf_lbmc_ume_ranged_ack_next_hdr
,
12142 { "Next Header", "lbmc.ume_ranged_ack.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12143 { &hf_lbmc_ume_ranged_ack_hdr_len
,
12144 { "Header Length", "lbmc.ume_ranged_ack.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12145 { &hf_lbmc_ume_ranged_ack_flags
,
12146 { "Flags", "lbmc.ume_ranged_ack.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12147 { &hf_lbmc_ume_ranged_ack_flags_ignore
,
12148 { "Ignore", "lbmc.ume_ranged_ack.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_RANGED_ACK_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12149 { &hf_lbmc_ume_ranged_ack_first_seqnum
,
12150 { "First Sequence Number", "lbmc.ume_ranged_ack.first_seqnum", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12151 { &hf_lbmc_ume_ranged_ack_last_seqnum
,
12152 { "Last Sequence Number", "lbmc.ume_ranged_ack.last_seqnum", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12153 { &hf_lbmc_ume_ack_id
,
12154 { "UME ACK ID", "lbmc.ume_ack_id", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12155 { &hf_lbmc_ume_ack_id_next_hdr
,
12156 { "Next Header", "lbmc.ume_ack_id.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12157 { &hf_lbmc_ume_ack_id_hdr_len
,
12158 { "Header Length", "lbmc.ume_ack_id.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12159 { &hf_lbmc_ume_ack_id_flags
,
12160 { "Flags", "lbmc.ume_ack_id.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12161 { &hf_lbmc_ume_ack_id_flags_ignore
,
12162 { "Ignore", "lbmc.ume_ack_id.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_ACK_ID_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12163 { &hf_lbmc_ume_ack_id_id
,
12164 { "Acknowledgement ID", "lbmc.ume_ack_id.id", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12165 { &hf_lbmc_ume_capability
,
12166 { "UME Capability", "lbmc.ume_capability", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12167 { &hf_lbmc_ume_capability_next_hdr
,
12168 { "Next Header", "lbmc.ume_capability.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12169 { &hf_lbmc_ume_capability_hdr_len
,
12170 { "Header Length", "lbmc.ume_capability.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12171 { &hf_lbmc_ume_capability_flags
,
12172 { "Flags", "lbmc.ume_capability.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12173 { &hf_lbmc_ume_capability_flags_ignore
,
12174 { "Ignore", "lbmc.ume_capability.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_CAPABILITY_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12175 { &hf_lbmc_ume_capability_flags_qc_flag
,
12176 { "Quorum/Consensus Capabilities", "lbmc.ume_capability.flags.qc_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_CAPABILITY_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_CAPABILITY_QC_FLAG
, "Set if quorum/consensus supported", HFILL
} },
12177 { &hf_lbmc_ume_capability_flags_client_lifetime_flag
,
12178 { "Client Lifetime Capabilities", "lbmc.ume_capability.flags.client_lifetime_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_CAPABILITY_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_CAPABILITY_CLIENT_LIFETIME_FLAG
, "Set if client lifetime enabled", HFILL
} },
12179 { &hf_lbmc_ume_capability_flags_ranged_rx_flag
,
12180 { "Ranged RX Capability", "lbmc.ume_capability.flags.ranged_rx_flag", FT_BOOLEAN
, L_LBMC_CNTL_UME_CAPABILITY_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_CAPABILITY_RANGED_RX_FLAG
, "Set if Ranged RX is supported", HFILL
} },
12181 { &hf_lbmc_ume_proxy_src
,
12182 { "UME Proxy Source", "lbmc.ume_proxy_src", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12183 { &hf_lbmc_ume_proxy_src_next_hdr
,
12184 { "Next Header", "lbmc.ume_proxy_src.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12185 { &hf_lbmc_ume_proxy_src_hdr_len
,
12186 { "Header Length", "lbmc.ume_proxy_src.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12187 { &hf_lbmc_ume_proxy_src_flags
,
12188 { "Flags", "lbmc.ume_proxy_src.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12189 { &hf_lbmc_ume_proxy_src_flags_ignore
,
12190 { "Ignore", "lbmc.ume_proxy_src.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_PROXY_SRC_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12191 { &hf_lbmc_ume_proxy_src_flags_enable
,
12192 { "Enable Proxy Source", "lbmc.ume_proxy_src.flags.enable", FT_BOOLEAN
, L_LBMC_CNTL_UME_PROXY_SRC_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_PROXY_SRC_E_FLAG
, "Set if proxy source is enabled", HFILL
} },
12193 { &hf_lbmc_ume_proxy_src_flags_compatibility
,
12194 { "Enable Pre-6.0 Compatibility", "lbmc.ume_proxy_src.flags.compatibility", FT_BOOLEAN
, L_LBMC_CNTL_UME_PROXY_SRC_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_PROXY_SRC_C_FLAG
, "Set if pre-6.0 compatibility for created proxy source is enabled", HFILL
} },
12195 { &hf_lbmc_ume_store_group
,
12196 { "UME Store Group", "lbmc.ume_store_group", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12197 { &hf_lbmc_ume_store_group_next_hdr
,
12198 { "Next Header", "lbmc.ume_store_group.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12199 { &hf_lbmc_ume_store_group_hdr_len
,
12200 { "Header Length", "lbmc.ume_store_group.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12201 { &hf_lbmc_ume_store_group_flags
,
12202 { "Flags", "lbmc.ume_store_group.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12203 { &hf_lbmc_ume_store_group_flags_ignore
,
12204 { "Ignore", "lbmc.ume_store_group.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_STORE_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12205 { &hf_lbmc_ume_store_group_grp_idx
,
12206 { "Group Index", "lbmc.ume_store_group.grp_idx", FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12207 { &hf_lbmc_ume_store_group_grp_sz
,
12208 { "Group Size", "lbmc.ume_store_group.grp_sz", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12209 { &hf_lbmc_ume_store_group_res1
,
12210 { "Reserved", "lbmc.ume_store_group.res1", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12211 { &hf_lbmc_ume_store
,
12212 { "UME Store", "lbmc.ume_store", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12213 { &hf_lbmc_ume_store_next_hdr
,
12214 { "Next Header", "lbmc.ume_store.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12215 { &hf_lbmc_ume_store_hdr_len
,
12216 { "Header Length", "lbmc.ume_store.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12217 { &hf_lbmc_ume_store_flags
,
12218 { "Flags", "lbmc.ume_store.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12219 { &hf_lbmc_ume_store_flags_ignore
,
12220 { "Ignore", "lbmc.ume_store.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_STORE_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12221 { &hf_lbmc_ume_store_grp_idx
,
12222 { "Group Index", "lbmc.ume_store.grp_idx", FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12223 { &hf_lbmc_ume_store_store_tcp_port
,
12224 { "Store TCP Port", "lbmc.ume_store.store_tcp_port", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12225 { &hf_lbmc_ume_store_store_idx
,
12226 { "Store Index", "lbmc.ume_store.store_idx", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12227 { &hf_lbmc_ume_store_store_ip_addr
,
12228 { "Store IP Address", "lbmc.ume_store.store_ip_addr", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12229 { &hf_lbmc_ume_store_src_reg_id
,
12230 { "Source RegID", "lbmc.ume_store.src_reg_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12231 { &hf_lbmc_ume_lj_info
,
12232 { "UME Late Join", "lbmc.ume_lj_info", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12233 { &hf_lbmc_ume_lj_info_next_hdr
,
12234 { "Next Header", "lbmc.ume_lj_info.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12235 { &hf_lbmc_ume_lj_info_hdr_len
,
12236 { "Header Length", "lbmc.ume_lj_info.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12237 { &hf_lbmc_ume_lj_info_flags
,
12238 { "Flags", "lbmc.ume_lj_info.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12239 { &hf_lbmc_ume_lj_info_flags_ignore
,
12240 { "Ignore", "lbmc.ume_lj_info.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_LJ_INFO_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12241 { &hf_lbmc_ume_lj_info_low_seqnum
,
12242 { "Low sequence", "lbmc.ume_lj_info.low_seqnum", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12243 { &hf_lbmc_ume_lj_info_high_seqnum
,
12244 { "High sequence", "lbmc.ume_lj_info.high_seqnum", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12245 { &hf_lbmc_ume_lj_info_qidx
,
12246 { "Request index", "lbmc.ume_lj_info.qidx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12248 { "TSNI", "lbmc.tsni", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12249 { &hf_lbmc_tsni_next_hdr
,
12250 { "Next Header", "lbmc.tsni.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12251 { &hf_lbmc_tsni_hdr_len
,
12252 { "Header Length", "lbmc.tsni.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12253 { &hf_lbmc_tsni_ignore
,
12254 { "Ignore", "lbmc.tsni.ignore", FT_BOOLEAN
, L_LBMC_CNTL_TSNI_HDR_T_NUM_RECS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12255 { &hf_lbmc_tsni_num_recs
,
12256 { "Num Recs", "lbmc.tsni.num_recs", FT_UINT16
, BASE_DEC_HEX
, NULL
, LBMC_CNTL_TSNI_NUM_RECS_MASK
, NULL
, HFILL
} },
12257 { &hf_lbmc_tsni_rec
,
12258 { "TSNIs", "lbmc.tsni.tsni_rec", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12259 { &hf_lbmc_tsni_rec_tidx
,
12260 { "Topic Index", "lbmc.tsni.tsni_rec.tidx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12261 { &hf_lbmc_tsni_rec_sqn
,
12262 { "Sequence Number", "lbmc.tsni.tsni_rec.sqn", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12263 { &hf_lbmc_umq_reg
,
12264 { "UMQ Registration", "lbmc.umq_reg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12265 { &hf_lbmc_umq_reg_next_hdr
,
12266 { "Next Header", "lbmc.umq_reg.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12267 { &hf_lbmc_umq_reg_hdr_len
,
12268 { "Header Length", "lbmc.umq_reg.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12269 { &hf_lbmc_umq_reg_flags
,
12270 { "Flags", "lbmc.umq_reg.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12271 { &hf_lbmc_umq_reg_flags_ignore
,
12272 { "Ignore", "lbmc.umq_reg.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12273 { &hf_lbmc_umq_reg_flags_r_flag
,
12274 { "R Flag", "lbmc.umq_reg.flags.r_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_REG_R_FLAG
, NULL
, HFILL
} },
12275 { &hf_lbmc_umq_reg_flags_t_flag
,
12276 { "TSP Present", "lbmc.umq_reg.flags.t_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_REG_T_FLAG
, "Sst if TSP is present", HFILL
} },
12277 { &hf_lbmc_umq_reg_flags_i_flag
,
12278 { "Index Assign Eligible", "lbmc.umq_reg.flags.i_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_REG_I_FLAG
, "Set if index assign eligible", HFILL
} },
12279 { &hf_lbmc_umq_reg_flags_msg_sel_flag
,
12280 { "Message Selector", "lbmc.umq_reg.flags.msg_sel_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_REG_MSG_SEL_FLAG
, "Set if message selector present", HFILL
} },
12281 { &hf_lbmc_umq_reg_reg_type
,
12282 { "Registration Type", "lbmc.umq_reg.reg_type", FT_UINT8
, BASE_DEC
, VALS(lbmc_umq_reg_type
), 0x0, NULL
, HFILL
} },
12283 { &hf_lbmc_umq_reg_queue_id
,
12284 { "Queue ID", "lbmc.umq_reg.queue_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12285 { &hf_lbmc_umq_reg_cmd_id
,
12286 { "Command ID", "lbmc.umq_reg.cmd_id", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12287 { &hf_lbmc_umq_reg_inst_idx
,
12288 { "Instance Index", "lbmc.umq_reg.inst_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12289 { &hf_lbmc_umq_reg_regid
,
12290 { "Registration ID", "lbmc.umq_reg.regid", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12291 { &hf_lbmc_umq_reg_reg_ctx
,
12292 { "Context Registration", "lbmc.umq_reg.reg_ctx", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12293 { &hf_lbmc_umq_reg_reg_ctx_port
,
12294 { "Port", "lbmc.umq_reg.reg_ctx.port", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12295 { &hf_lbmc_umq_reg_reg_ctx_reserved
,
12296 { "Reserved", "lbmc.umq_reg.reg_ctx.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12297 { &hf_lbmc_umq_reg_reg_ctx_ip
,
12298 { "IP Address", "lbmc.umq_reg.reg_ctx.ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12299 { &hf_lbmc_umq_reg_reg_ctx_capabilities
,
12300 { "Capabilities", "lbmc.umq_reg.reg_ctx.capabilities", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12301 { &hf_lbmc_umq_reg_reg_src
,
12302 { "Source Registration", "lbmc.umq_reg.reg_src", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12303 { &hf_lbmc_umq_reg_reg_src_transport_idx
,
12304 { "Transport Index", "lbmc.umq_reg.reg_src.transport_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12305 { &hf_lbmc_umq_reg_reg_src_topic_idx
,
12306 { "Topic Index", "lbmc.umq_reg.reg_src.topic_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12307 { &hf_lbmc_umq_reg_reg_rcv
,
12308 { "Receiver Registration", "lbmc.umq_reg.reg_rcv", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12309 { &hf_lbmc_umq_reg_reg_rcv_assign_id
,
12310 { "Assignment ID", "lbmc.umq_reg.reg_rcv.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12311 { &hf_lbmc_umq_reg_reg_rcv_rcv_type_id
,
12312 { "Receiver Type ID", "lbmc.umq_reg.reg_rcv.rcv_type_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12313 { &hf_lbmc_umq_reg_reg_rcv_last_topic_rcr_tsp
,
12314 { "Last Topic RCR TSP", "lbmc.umq_reg.reg_rcv.last_topic_rcr_tsp", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12315 { &hf_lbmc_umq_reg_rcv_dereg
,
12316 { "Receiver deregistration", "lbmc.umq_reg.rcv_dereg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12317 { &hf_lbmc_umq_reg_rcv_dereg_rcr_idx
,
12318 { "RCR Index", "lbmc.umq_reg.rcv_dereg.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12319 { &hf_lbmc_umq_reg_rcv_dereg_assign_id
,
12320 { "Assignment ID", "lbmc.umq_reg.rcv_dereg.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12321 { &hf_lbmc_umq_reg_reg_ulb_rcv
,
12322 { "ULB Receiver registration", "lbmc.umq_reg.reg_ulb_rcv", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12323 { &hf_lbmc_umq_reg_reg_ulb_rcv_ulb_src_id
,
12324 { "ULB Source ID", "lbmc.umq_reg.reg_ulb_rcv.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12325 { &hf_lbmc_umq_reg_reg_ulb_rcv_assign_id
,
12326 { "Assignment ID", "lbmc.umq_reg.reg_ulb_rcv.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12327 { &hf_lbmc_umq_reg_reg_ulb_rcv_rcv_type_id
,
12328 { "Receiver Type ID", "lbmc.umq_reg.reg_ulb_rcv.rcv_type_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12329 { &hf_lbmc_umq_reg_reg_ulb_rcv_port
,
12330 { "Port", "lbmc.umq_reg.reg_ulb_rcv.port", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12331 { &hf_lbmc_umq_reg_reg_ulb_rcv_reserved
,
12332 { "Reserved", "lbmc.umq_reg.reg_ulb_rcv.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12333 { &hf_lbmc_umq_reg_reg_ulb_rcv_ip
,
12334 { "IP Address", "lbmc.umq_reg.reg_ulb_rcv.ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12335 { &hf_lbmc_umq_reg_reg_ulb_rcv_capabilities
,
12336 { "Capabilities", "lbmc.umq_reg.reg_ulb_rcv.capabilities", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12337 { &hf_lbmc_umq_reg_ulb_rcv_dereg
,
12338 { "ULB Receiver Deregistration", "lbmc.umq_reg.ulb_rcv_dereg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12339 { &hf_lbmc_umq_reg_ulb_rcv_dereg_ulb_src_id
,
12340 { "ULB Source ID", "lbmc.umq_reg.ulb_rcv_dereg.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12341 { &hf_lbmc_umq_reg_ulb_rcv_dereg_assign_id
,
12342 { "Assignment ID", "lbmc.umq_reg.ulb_rcv_dereg.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12343 { &hf_lbmc_umq_reg_reg_observer_rcv
,
12344 { "Observer Receiver Registration", "lbmc.umq_reg.reg_observer_rcv", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12345 { &hf_lbmc_umq_reg_reg_observer_rcv_assign_id
,
12346 { "Assignment ID", "lbmc.umq_reg.reg_observer_rcv.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12347 { &hf_lbmc_umq_reg_reg_observer_rcv_rcv_type_id
,
12348 { "Receiver Type ID", "lbmc.umq_reg.reg_observer_rcv.rcv_type_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12349 { &hf_lbmc_umq_reg_reg_observer_rcv_last_topic_rcr_tsp
,
12350 { "Last Topic RCR TSP", "lbmc.umq_reg.reg_observer_rcv.last_topic_rcr_tsp", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12351 { &hf_lbmc_umq_reg_observer_rcv_dereg
,
12352 { "Observer Receiver Deregistration", "lbmc.umq_reg.observer_rcv_dereg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12353 { &hf_lbmc_umq_reg_observer_rcv_dereg_rcr_idx
,
12354 { "RCR Index", "lbmc.umq_reg.observer_rcv_dereg.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12355 { &hf_lbmc_umq_reg_observer_rcv_dereg_assign_id
,
12356 { "Assignment ID", "lbmc.umq_reg.observer_rcv_dereg.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12357 { &hf_lbmc_umq_reg_resp
,
12358 { "UMQ Registration Response", "lbmc.umq_reg_resp", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12359 { &hf_lbmc_umq_reg_resp_next_hdr
,
12360 { "Next Header", "lbmc.umq_reg_resp.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12361 { &hf_lbmc_umq_reg_resp_hdr_len
,
12362 { "Header Length", "lbmc.umq_reg_resp.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12363 { &hf_lbmc_umq_reg_resp_flags
,
12364 { "Flags", "lbmc.umq_reg_resp.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12365 { &hf_lbmc_umq_reg_resp_flags_ignore
,
12366 { "Ignore", "lbmc.umq_reg_resp.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12367 { &hf_lbmc_umq_reg_resp_flags_r_flag
,
12368 { "R Flag", "lbmc.umq_reg_resp.flags.r", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_REG_RESP_R_FLAG
, NULL
, HFILL
} },
12369 { &hf_lbmc_umq_reg_resp_flags_l_flag
,
12370 { "ULB Error", "lbmc.umq_reg_resp.flags.l", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_REG_RESP_ERR_L_FLAG
, "Set if ULB error occurred", HFILL
} },
12371 { &hf_lbmc_umq_reg_resp_flags_src_s_flag
,
12372 { "Source Dissemination", "lbmc.umq_reg_resp.flags.src_s", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_REG_RESP_SRC_S_FLAG
, "Set if source dissemination model", HFILL
} },
12373 { &hf_lbmc_umq_reg_resp_flags_src_d_flag
,
12374 { "RCR Index Present", "lbmc.umq_reg_resp.flags.src_d", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_RESP_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_REG_RESP_SRC_D_FLAG
, "Set if RCR index present", HFILL
} },
12375 { &hf_lbmc_umq_reg_resp_resp_type
,
12376 { "Registration Response Type", "lbmc.umq_reg_resp.resp_type", FT_UINT8
, BASE_DEC
, VALS(lbmc_umq_reg_response_type
), 0x0, NULL
, HFILL
} },
12377 { &hf_lbmc_umq_reg_resp_queue_id
,
12378 { "Queue ID", "lbmc.umq_reg_resp.queue_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12379 { &hf_lbmc_umq_reg_resp_cmd_id
,
12380 { "Command ID", "lbmc.umq_reg_resp.cmd_id", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12381 { &hf_lbmc_umq_reg_resp_inst_idx
,
12382 { "Instance Index", "lbmc.umq_reg_resp.inst_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12383 { &hf_lbmc_umq_reg_resp_regid
,
12384 { "Registration ID", "lbmc.umq_reg_resp.regid", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12385 { &hf_lbmc_umq_reg_resp_reg_ctx
,
12386 { "Context Registration Response", "lbmc.umq_reg_resp.reg_ctx", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12387 { &hf_lbmc_umq_reg_resp_reg_ctx_capabilities
,
12388 { "Capabilities", "lbmc.umq_reg_resp.reg_ctx.capabilities", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12389 { &hf_lbmc_umq_reg_resp_reg_ctx_ex
,
12390 { "Extended Context Registration Response", "lbmc.umq_reg_resp.reg_ctx_ex", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12391 { &hf_lbmc_umq_reg_resp_reg_ctx_ex_capabilities
,
12392 { "Capabilities", "lbmc.umq_reg_resp.reg_ctx_ex.capabilities", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12393 { &hf_lbmc_umq_reg_resp_reg_ctx_ex_reserved
,
12394 { "Reserved", "lbmc.umq_reg_resp.reg_ctx_ex.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12395 { &hf_lbmc_umq_reg_resp_reg_ctx_ex_flags
,
12396 { "Flags", "lbmc.umq_reg_resp.reg_ctx_ex.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12397 { &hf_lbmc_umq_reg_resp_reg_ctx_ex_flags_firstmsg
,
12398 { "First Message", "lbmc.umq_reg_resp.reg_ctx_ex.flags.firstmsg", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_REG_RESP_CTX_EX_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_REG_RESP_CTX_EX_FLAG_FIRSTMSG
, "Set if first message", HFILL
} },
12399 { &hf_lbmc_umq_reg_resp_reg_ctx_ex_stamp
,
12400 { "Stamp", "lbmc.umq_reg_resp.reg_ctx_ex.stamp", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12401 { &hf_lbmc_umq_reg_resp_err
,
12402 { "Registration Error Response", "lbmc.umq_reg_resp.err", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12403 { &hf_lbmc_umq_reg_resp_err_reserved
,
12404 { "Reserved", "lbmc.umq_reg_resp.err.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12405 { &hf_lbmc_umq_reg_resp_err_code
,
12406 { "Code", "lbmc.umq_reg_resp.err.code", FT_UINT16
, BASE_HEX_DEC
, VALS(lbmc_umq_reg_response_error_code
), 0x0, NULL
, HFILL
} },
12407 { &hf_lbmc_umq_reg_resp_reg_src
,
12408 { "Source Registration Response", "lbmc.umq_reg_resp.reg_src", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12409 { &hf_lbmc_umq_reg_resp_reg_src_rcr_idx
,
12410 { "RCR Index", "lbmc.umq_reg_resp.reg_src.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12411 { &hf_lbmc_umq_reg_resp_reg_rcv
,
12412 { "Receiver Registration Response", "lbmc.umq_reg_resp.reg_rcv", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12413 { &hf_lbmc_umq_reg_resp_reg_rcv_rcr_idx
,
12414 { "RCR Index", "lbmc.umq_reg_resp.reg_rcv.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12415 { &hf_lbmc_umq_reg_resp_reg_rcv_assign_id
,
12416 { "Assignment ID", "lbmc.umq_reg_resp.reg_rcv.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12417 { &hf_lbmc_umq_reg_resp_reg_rcv_appset_idx
,
12418 { "Application Set Index", "lbmc.umq_reg_resp.reg_rcv.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12419 { &hf_lbmc_umq_reg_resp_reg_rcv_reserved
,
12420 { "Reserved", "lbmc.umq_reg_resp.reg_rcv.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12421 { &hf_lbmc_umq_reg_resp_rcv_dereg
,
12422 { "Receiver Deregistration Response", "lbmc.umq_reg_resp.rcv_dereg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12423 { &hf_lbmc_umq_reg_resp_rcv_dereg_rcr_idx
,
12424 { "RCR Index", "lbmc.umq_reg_resp.rcv_dereg.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12425 { &hf_lbmc_umq_reg_resp_rcv_dereg_assign_id
,
12426 { "Assignment ID", "lbmc.umq_reg_resp.rcv_dereg.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12427 { &hf_lbmc_umq_reg_resp_reg_ulb_rcv
,
12428 { "ULB Receiver Registration Response", "lbmc.umq_reg_resp.reg_ulb_rcv", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12429 { &hf_lbmc_umq_reg_resp_reg_ulb_rcv_ulb_src_id
,
12430 { "ULB Source ID", "lbmc.umq_reg_resp.reg_ulb_rcv.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12431 { &hf_lbmc_umq_reg_resp_reg_ulb_rcv_assign_id
,
12432 { "Assignment ID", "lbmc.umq_reg_resp.reg_ulb_rcv.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12433 { &hf_lbmc_umq_reg_resp_reg_ulb_rcv_appset_idx
,
12434 { "Application Set Index", "lbmc.umq_reg_resp.reg_ulb_rcv.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12435 { &hf_lbmc_umq_reg_resp_reg_ulb_rcv_reserved
,
12436 { "Reserved", "lbmc.umq_reg_resp.reg_ulb_rcv.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12437 { &hf_lbmc_umq_reg_resp_reg_ulb_rcv_capabilities
,
12438 { "Capabilities", "lbmc.umq_reg_resp.reg_ulb_rcv.capabilities", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12439 { &hf_lbmc_umq_reg_resp_ulb_rcv_dereg
,
12440 { "ULB Receiver Deregistration Response", "lbmc.umq_reg_resp.ulb_rcv_dereg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12441 { &hf_lbmc_umq_reg_resp_ulb_rcv_dereg_ulb_src_id
,
12442 { "ULB Source ID", "lbmc.umq_reg_resp.ulb_rcv_dereg.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12443 { &hf_lbmc_umq_reg_resp_ulb_rcv_dereg_assign_id
,
12444 { "Assignment ID", "lbmc.umq_reg_resp.ulb_rcv_dereg.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12445 { &hf_lbmc_umq_reg_resp_reg_observer_rcv
,
12446 { "Observer Receiver Registration Response", "lbmc.umq_reg_resp.reg_observer_rcv", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12447 { &hf_lbmc_umq_reg_resp_reg_observer_rcv_rcr_idx
,
12448 { "RCR Index", "lbmc.umq_reg_resp.reg_observer_rcv.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12449 { &hf_lbmc_umq_reg_resp_reg_observer_rcv_assign_id
,
12450 { "Assignment ID", "lbmc.umq_reg_resp.reg_observer_rcv.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12451 { &hf_lbmc_umq_reg_resp_reg_observer_rcv_appset_idx
,
12452 { "Application Set Index", "lbmc.umq_reg_resp.reg_observer_rcv.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12453 { &hf_lbmc_umq_reg_resp_reg_observer_rcv_reserved
,
12454 { "Reserved", "lbmc.umq_reg_resp.reg_observer_rcv.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12455 { &hf_lbmc_umq_reg_resp_observer_rcv_dereg
,
12456 { "Observer Receiver Deregistration Response", "lbmc.umq_reg_resp.observer_rcv_dereg", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12457 { &hf_lbmc_umq_reg_resp_observer_rcv_dereg_rcr_idx
,
12458 { "RCR Index", "lbmc.umq_reg_resp.observer_rcv_dereg.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12459 { &hf_lbmc_umq_reg_resp_observer_rcv_dereg_assign_id
,
12460 { "Assignment ID", "lbmc.umq_reg_resp.observer_rcv_dereg.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12461 { &hf_lbmc_umq_ack
,
12462 { "UMQ ACK", "lbmc.umq_ack", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12463 { &hf_lbmc_umq_ack_next_hdr
,
12464 { "Next Header", "lbmc.umq_ack.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12465 { &hf_lbmc_umq_ack_hdr_len
,
12466 { "Header Length", "lbmc.umq_ack.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12467 { &hf_lbmc_umq_ack_msgs
,
12468 { "Msgs", "lbmc.umq_ack.msgs", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12469 { &hf_lbmc_umq_ack_msgs_ignore
,
12470 { "Ignore", "lbmc.umq_ack.msgs.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_ACK_HDR_T_MSGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12471 { &hf_lbmc_umq_ack_msgs_t_flag
,
12472 { "T Flag", "lbmc.umq_ack.msgs.t_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_ACK_HDR_T_MSGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_ACK_T_FLAG
, NULL
, HFILL
} },
12473 { &hf_lbmc_umq_ack_msgs_d_flag
,
12474 { "D Flag", "lbmc.umq_ack.msgs.d_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_ACK_HDR_T_MSGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_ACK_D_FLAG
, NULL
, HFILL
} },
12475 { &hf_lbmc_umq_ack_numids
,
12476 { "Number of Message IDs", "lbmc.umq_ack.num_ids", FT_UINT8
, BASE_DEC_HEX
, NULL
, LBMC_UMQ_ACK_NUMIDS_MASK
, NULL
, HFILL
} },
12477 { &hf_lbmc_umq_ack_ack_type
,
12478 { "ACK Type", "lbmc.umq_ack.ack_type", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_umq_ack_type
), 0x0, NULL
, HFILL
} },
12479 { &hf_lbmc_umq_ack_msgid
,
12480 { "Message ID", "lbmc.umq_ack.msgid", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12481 { &hf_lbmc_umq_ack_msgid_regid
,
12482 { "Registration ID", "lbmc.umq_ack.msgid.regid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12483 { &hf_lbmc_umq_ack_msgid_stamp
,
12484 { "Stamp", "lbmc.umq_ack.msgid.stamp", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12485 { &hf_lbmc_umq_ack_stable
,
12486 { "Stable", "lbmc.umq_ack.stable", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12487 { &hf_lbmc_umq_ack_stable_queue_id
,
12488 { "Queue ID", "lbmc.umq_ack.stable.queue_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12489 { &hf_lbmc_umq_ack_stable_inst_idx
,
12490 { "Instance Index", "lbmc.umq_ack.stable.inst_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12491 { &hf_lbmc_umq_ack_stable_reserved
,
12492 { "Reserved", "lbmc.umq_ack.stable.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12493 { &hf_lbmc_umq_ack_cr
,
12494 { "Consumption Report", "lbmc.umq_ack.cr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12495 { &hf_lbmc_umq_ack_cr_rcr_idx
,
12496 { "RCR Index", "lbmc.umq_ack.cr.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12497 { &hf_lbmc_umq_ack_cr_assign_id
,
12498 { "Assignment ID", "lbmc.umq_ack.cr.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12499 { &hf_lbmc_umq_ack_cr_appset_idx
,
12500 { "Application Set Index", "lbmc.umq_ack.cr.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12501 { &hf_lbmc_umq_ack_cr_reserved
,
12502 { "Reserved", "lbmc.umq_ack.cr.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12503 { &hf_lbmc_umq_ack_ulb_cr
,
12504 { "ULB Consumption Report", "lbmc.umq_ack.ulb_cr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12505 { &hf_lbmc_umq_ack_ulb_cr_ulb_src_id
,
12506 { "ULB Source ID", "lbmc.umq_ack.ulb_cr.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12507 { &hf_lbmc_umq_ack_ulb_cr_assign_id
,
12508 { "Assignment ID", "lbmc.umq_ack.ulb_cr.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12509 { &hf_lbmc_umq_ack_ulb_cr_appset_idx
,
12510 { "Application Set Index", "lbmc.umq_ack.ulb_cr.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12511 { &hf_lbmc_umq_ack_ulb_cr_reserved
,
12512 { "Reserved", "lbmc.umq_ack.ulb_cr.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12513 { &hf_lbmc_umq_rcr
,
12514 { "UMQ Receiver Control Record", "lbmc.umq_rcr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12515 { &hf_lbmc_umq_rcr_next_hdr
,
12516 { "Next Header", "lbmc.umq_rcr.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12517 { &hf_lbmc_umq_rcr_hdr_len
,
12518 { "Header Length", "lbmc.umq_rcr.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12519 { &hf_lbmc_umq_rcr_flags
,
12520 { "Flags", "lbmc.umq_rcr.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12521 { &hf_lbmc_umq_rcr_flags_ignore
,
12522 { "Ignore", "lbmc.umq_rcr.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_RCR_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12523 { &hf_lbmc_umq_rcr_flags_r_flag
,
12524 { "Reassign", "lbmc.umq_rcr.flags.r_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_RCR_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_RCR_R_FLAG
, "Set if reassignment", HFILL
} },
12525 { &hf_lbmc_umq_rcr_flags_d_flag
,
12526 { "Receiver Deregister", "lbmc.umq_rcr.flags.d_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_RCR_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_RCR_D_FLAG
, "Set if receiver deregistration", HFILL
} },
12527 { &hf_lbmc_umq_rcr_flags_s_flag
,
12528 { "Resubmit", "lbmc.umq_rcr.flags.s_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_RCR_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_RCR_S_FLAG
, "Set if resubmission", HFILL
} },
12529 { &hf_lbmc_umq_rcr_flags_eoi_flag
,
12530 { "End of Index", "lbmc.umq_rcr.flags.eoi_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_RCR_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_RCR_EOI_FLAG
, "Set if end of index", HFILL
} },
12531 { &hf_lbmc_umq_rcr_flags_boi_flag
,
12532 { "Beginning of Index", "lbmc.umq_rcr.flags.boi_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_RCR_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_RCR_BOI_FLAG
, "Set if beginning of index", HFILL
} },
12533 { &hf_lbmc_umq_rcr_queue_id
,
12534 { "Queue ID", "lbmc.umq_rcr.queue_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12535 { &hf_lbmc_umq_rcr_rcr_idx
,
12536 { "RCR Index", "lbmc.umq_rcr.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12537 { &hf_lbmc_umq_rcr_msgid_regid
,
12538 { "Message ID Registration ID", "lbmc.umq_rcr.msgid_regid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12539 { &hf_lbmc_umq_rcr_msgid_stamp
,
12540 { "Message ID Stamp", "lbmc.umq_rcr.msgid_stamp", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12541 { &hf_lbmc_umq_rcr_topic_tsp
,
12542 { "Topic TSP", "lbmc.umq_rcr.topic_tsp", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12543 { &hf_lbmc_umq_rcr_q_tsp
,
12544 { "Queue TSP", "lbmc.umq_rcr.q_tsp", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12545 { &hf_lbmc_umq_rcr_assign_id
,
12546 { "Assignment ID", "lbmc.umq_rcr.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12547 { &hf_lbmc_umq_rcr_appset_idx
,
12548 { "Application Set Index", "lbmc.umq_rcr.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12549 { &hf_lbmc_umq_rcr_num_ras
,
12550 { "Number of Reassigns", "lbmc.umq_rcr.num_ras", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12551 { &hf_lbmc_umq_rcr_queue_ver
,
12552 { "Queue Version", "lbmc.umq_rcr.queue_ver", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12553 { &hf_lbmc_cntl_umq_ka
,
12554 { "UMQ Keepalive", "lbmc.umq_ka", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12555 { &hf_lbmc_cntl_umq_ka_next_hdr
,
12556 { "Next Header", "lbmc.umq_ka.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12557 { &hf_lbmc_cntl_umq_ka_hdr_len
,
12558 { "Header Length", "lbmc.umq_ka.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12559 { &hf_lbmc_cntl_umq_ka_flags
,
12560 { "Flags", "lbmc.umq_ka.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12561 { &hf_lbmc_cntl_umq_ka_flags_ignore
,
12562 { "Ignore", "lbmc.umq_ka.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_KA_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12563 { &hf_lbmc_cntl_umq_ka_flags_r_flag
,
12564 { "Response Requested", "lbmc.umq_ka.flags.r", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_KA_HDR_T_FLAGS
* 8, TFS(&lbmc_umq_r_flag
), LBMC_UMQ_KA_R_FLAG
, "Set if response requested", HFILL
} },
12565 { &hf_lbmc_cntl_umq_ka_ka_type
,
12566 { "Keepalive Type", "lbmc.umq_ka.ka_type", FT_UINT8
, BASE_HEX_DEC
, VALS(lbmc_umq_ka_type
), 0x0, NULL
, HFILL
} },
12567 { &hf_lbmc_cntl_umq_ka_queue_id
,
12568 { "Queue ID", "lbmc.umq_ka.queue_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12569 { &hf_lbmc_cntl_umq_ka_regid
,
12570 { "Registration ID", "lbmc.umq_ka.regid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12571 { &hf_lbmc_cntl_umq_ka_inst_idx
,
12572 { "Instance Index", "lbmc.umq_ka.inst_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12573 { &hf_lbmc_cntl_umq_ka_reserved
,
12574 { "Reserved", "lbmc.umq_ka.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12575 { &hf_lbmc_umq_ka_src
,
12576 { "Source", "lbmc.umq_ka.src", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12577 { &hf_lbmc_umq_ka_src_transport_idx
,
12578 { "Transport Index", "lbmc.umq_ka.src.transport_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12579 { &hf_lbmc_umq_ka_src_topic_idx
,
12580 { "Topic Index", "lbmc.umq_ka.src.topic_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12581 { &hf_lbmc_umq_ka_rcv
,
12582 { "Receiver", "lbmc.umq_ka.rcv", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12583 { &hf_lbmc_umq_ka_rcv_rcr_idx
,
12584 { "RCR Index", "lbmc.umq_ka.rcv.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12585 { &hf_lbmc_umq_ka_rcv_assign_id
,
12586 { "Assignment ID", "lbmc.umq_ka.rcv.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12587 { &hf_lbmc_umq_ka_ulb_rcv
,
12588 { "ULB Receiver", "lbmc.umq_ka.ulb_rcv", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12589 { &hf_lbmc_umq_ka_ulb_rcv_ulb_src_id
,
12590 { "ULB Source ID", "lbmc.umq_ka.ulb_rcv.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12591 { &hf_lbmc_umq_ka_ulb_rcv_assign_id
,
12592 { "Assignment ID", "lbmc.umq_ka.ulb_rcv.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12593 { &hf_lbmc_umq_ka_ulb_rcv_resp
,
12594 { "ULB Receiver Response", "lbmc.umq_ka.ulb_rcv_resp", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12595 { &hf_lbmc_umq_ka_ulb_rcv_resp_ulb_src_id
,
12596 { "ULB Source ID", "lbmc.umq_ka.ulb_rcv_resp.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12597 { &hf_lbmc_umq_ka_ulb_rcv_resp_assign_id
,
12598 { "Assignment ID", "lbmc.umq_ka.ulb_rcv_resp.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12599 { &hf_lbmc_umq_ka_ulb_rcv_resp_appset_idx
,
12600 { "Application Set Index", "lbmc.umq_ka.ulb_rcv_resp.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12601 { &hf_lbmc_umq_ka_ulb_rcv_resp_reserved
,
12602 { "Reserved", "lbmc.umq_ka.ulb_rcv_resp.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12603 { &hf_lbmc_umq_rxreq
,
12604 { "UMQ Retransmission Request", "lbmc.umq_rxreq", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12605 { &hf_lbmc_umq_rxreq_next_hdr
,
12606 { "Next Header", "lbmc.umq_rxreq.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12607 { &hf_lbmc_umq_rxreq_hdr_len
,
12608 { "Header Length", "lbmc.umq_rxreq.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12609 { &hf_lbmc_umq_rxreq_flags
,
12610 { "Flags", "lbmc.umq_rxreq.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12611 { &hf_lbmc_umq_rxreq_flags_ignore
,
12612 { "Ignore", "lbmc.umq_rxreq.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_RXREQ_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12613 { &hf_lbmc_umq_rxreq_flags_r_flag
,
12614 { "RegID Present", "lbmc.umq_rxreq.flags.r", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_RXREQ_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_RXREQ_R_FLAG
, "Set if registration ID is present", HFILL
} },
12615 { &hf_lbmc_umq_rxreq_rxreq_type
,
12616 { "Retransmission Request Type", "lbmc.umq_rxreq.rxreq_type", FT_UINT8
, BASE_HEX_DEC
, VALS(lbmc_umq_rxreq_type
), 0x0, NULL
, HFILL
} },
12617 { &hf_lbmc_umq_rxreq_regid_resp
,
12618 { "RegID Response", "lbmc.umq_rxreq.regid_resp", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12619 { &hf_lbmc_umq_rxreq_regid_resp_regid
,
12620 { "Registration ID", "lbmc.umq_rxreq.regid_resp.regid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12621 { &hf_lbmc_umq_rxreq_addr_resp
,
12622 { "Address Response", "lbmc.umq_rxreq.addr_resp", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12623 { &hf_lbmc_umq_rxreq_addr_resp_ip
,
12624 { "IP Address", "lbmc.umq_rxreq.addr_resp.ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12625 { &hf_lbmc_umq_rxreq_addr_resp_port
,
12626 { "Port", "lbmc.umq_rxreq.addr_resp.port", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12627 { &hf_lbmc_umq_rxreq_addr_resp_reserved
,
12628 { "Reserved", "lbmc.umq_rxreq.addr_resp.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12629 { &hf_lbmc_umq_rxreq_mr
,
12630 { "Message Request", "lbmc.umq_rxreq.mr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12631 { &hf_lbmc_umq_rxreq_mr_assign_id
,
12632 { "Assignment ID", "lbmc.umq_rxreq.mr.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12633 { &hf_lbmc_umq_rxreq_mr_msgid_regid
,
12634 { "Message ID Registration ID", "lbmc.umq_rxreq.mr.msgid_regid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12635 { &hf_lbmc_umq_rxreq_mr_msgid_stamp
,
12636 { "Message ID Stamp", "lbmc.umq_rxreq.mr.msgid_stamp", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12637 { &hf_lbmc_umq_rxreq_ulb_mr
,
12638 { "ULB MR", "lbmc.umq_rxreq.ulb_mr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12639 { &hf_lbmc_umq_rxreq_ulb_mr_ulb_src_id
,
12640 { "ULB Source ID", "lbmc.umq_rxreq.ulb_mr.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12641 { &hf_lbmc_umq_rxreq_ulb_mr_assign_id
,
12642 { "Assignment ID", "lbmc.umq_rxreq.ulb_mr.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12643 { &hf_lbmc_umq_rxreq_ulb_mr_appset_idx
,
12644 { "Application Set Index", "lbmc.umq_rxreq.ulb_mr.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12645 { &hf_lbmc_umq_rxreq_ulb_mr_reserved
,
12646 { "Reserved", "lbmc.umq_rxreq.ulb_mr.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12647 { &hf_lbmc_umq_rxreq_ulb_mr_msgid_regid
,
12648 { "Message ID Registration ID", "lbmc.umq_rxreq.ulb_mr.msgid_regid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12649 { &hf_lbmc_umq_rxreq_ulb_mr_msgid_stamp
,
12650 { "Message ID Stamp", "lbmc.umq_rxreq.ulb_mr.msgid_stamp", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12651 { &hf_lbmc_umq_rxreq_ulb_mr_abort
,
12652 { "ULB MR Abort", "lbmc.umq_rxreq.ulb_mr_abort", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12653 { &hf_lbmc_umq_rxreq_ulb_mr_abort_ulb_src_id
,
12654 { "ULB Source ID", "lbmc.umq_rxreq.ulb_mr_abort.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12655 { &hf_lbmc_umq_rxreq_ulb_mr_abort_assign_id
,
12656 { "Assignment ID", "lbmc.umq_rxreq.ulb_mr_abort.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12657 { &hf_lbmc_umq_rxreq_ulb_mr_abort_msgid_regid
,
12658 { "Message ID Registration ID", "lbmc.umq_rxreq.ulb_mr_abort.msgid_regid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12659 { &hf_lbmc_umq_rxreq_ulb_mr_abort_msgid_stamp
,
12660 { "Message ID Stamp", "lbmc.umq_rxreq.ulb_mr_abort.msgid_stamp", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12661 { &hf_lbmc_umq_rxreq_qrcrr
,
12662 { "Queue RCR Request", "lbmc.umq_rxreq.qrrcr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12663 { &hf_lbmc_umq_rxreq_qrcrr_tsp
,
12664 { "TSP", "lbmc.umq_rxreq.qrrcr.tsp", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12665 { &hf_lbmc_umq_rxreq_trcrr
,
12666 { "Topic RCR Request", "lbmc.umq_rxreq.trcrr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12667 { &hf_lbmc_umq_rxreq_trcrr_rcr_idx
,
12668 { "RCR Index", "lbmc.umq_rxreq.trcrr.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12669 { &hf_lbmc_umq_rxreq_trcrr_tsp
,
12670 { "TSP", "lbmc.umq_rxreq.trcrr.tsp", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12671 { &hf_lbmc_umq_rxreq_ulb_trcrr
,
12672 { "ULB Topic RCR Request", "lbmc.umq_rxreq.ulb_trcrr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12673 { &hf_lbmc_umq_rxreq_ulb_trcrr_ulb_src_id
,
12674 { "ULB Source ID", "lbmc.umq_rxreq.ulb_trcrr.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12675 { &hf_lbmc_umq_rxreq_ulb_trcrr_assign_id
,
12676 { "Assignment ID", "lbmc.umq_rxreq.ulb_trcrr.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12677 { &hf_lbmc_umq_rxreq_ulb_trcrr_tsp
,
12678 { "TSP", "lbmc.umq_rxreq.ulb_trcrr.tsp", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12679 { &hf_lbmc_umq_rxreq_ulb_trcrr_abort
,
12680 { "ULB TRCRR Abort", "lbmc.umq_rxreq.ulb_trcrr_abort", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12681 { &hf_lbmc_umq_rxreq_ulb_trcrr_abort_ulb_src_id
,
12682 { "ULB Source ID", "lbmc.umq_rxreq.ulb_trcrr_abort.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12683 { &hf_lbmc_umq_rxreq_ulb_trcrr_abort_assign_id
,
12684 { "Assignment ID", "lbmc.umq_rxreq.ulb_trcrr_abort.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12685 { &hf_lbmc_umq_rxreq_ulb_trcrr_abort_tsp
,
12686 { "TSP", "lbmc.umq_rxreq.ulb_trcrr_abort.tsp", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12687 { &hf_lbmc_umq_qmgmt
,
12688 { "Queue Management", "lbmc.umq_qmgmt", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12689 { &hf_lbmc_umq_qmgmt_next_hdr
,
12690 { "Next Header", "lbmc.umq_qmgmt.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12691 { &hf_lbmc_umq_qmgmt_hdr_len
,
12692 { "Header Length", "lbmc.umq_qmgmt.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12693 { &hf_lbmc_umq_resub_req
,
12694 { "UMQ Resubmission Request", "lbmc.umq_resub_req", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12695 { &hf_lbmc_umq_resub_req_next_hdr
,
12696 { "Next Header", "lbmc.umq_resub_req.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12697 { &hf_lbmc_umq_resub_req_hdr_len
,
12698 { "Header Length", "lbmc.umq_resub_req.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12699 { &hf_lbmc_umq_resub_req_flags
,
12700 { "Flags", "lbmc.umq_resub_req.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12701 { &hf_lbmc_umq_resub_req_flags_ignore
,
12702 { "Ignore", "lbmc.umq_resub_req.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_RESUB_REQ_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12703 { &hf_lbmc_umq_resub_req_msgid_regid
,
12704 { "Message ID Registration ID", "lbmc.umq_resub_req.msgid_regid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12705 { &hf_lbmc_umq_resub_req_msgid_stamp
,
12706 { "Message ID Stamp", "lbmc.umq_resub_req.msgid_stamp", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12707 { &hf_lbmc_umq_resub_req_rcr_idx
,
12708 { "RCR Index", "lbmc.umq_resub_req.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12709 { &hf_lbmc_umq_resub_req_resp_ip
,
12710 { "Response IP Address", "lbmc.umq_resub_req.resp_ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12711 { &hf_lbmc_umq_resub_req_resp_port
,
12712 { "Response Port", "lbmc.umq_resub_req.resp_port", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12713 { &hf_lbmc_umq_resub_req_appset_idx
,
12714 { "Application Set Index", "lbmc.umq_resub_req.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12715 { &hf_lbmc_umq_resub_resp
,
12716 { "UMQ Resubmission Response", "lbmc.umq_resub_resp", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12717 { &hf_lbmc_umq_resub_resp_next_hdr
,
12718 { "Next Header", "lbmc.umq_resub_resp.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12719 { &hf_lbmc_umq_resub_resp_hdr_len
,
12720 { "Header Length", "lbmc.umq_resub_resp.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12721 { &hf_lbmc_umq_resub_resp_flags
,
12722 { "Flags", "lbmc.umq_resub_resp.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12723 { &hf_lbmc_umq_resub_resp_flags_ignore
,
12724 { "Ignore", "lbmc.umq_resub_resp.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_RESUB_RESP_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12725 { &hf_lbmc_umq_resub_resp_code
,
12726 { "Code", "lbmc.umq_resub_resp.code", FT_UINT8
, BASE_HEX_DEC
, VALS(lbmc_umq_resub_response_code
), 0x0, NULL
, HFILL
} },
12727 { &hf_lbmc_umq_resub_resp_msgid_regid
,
12728 { "Message ID Registration ID", "lbmc.umq_resub_resp.msgid_regid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12729 { &hf_lbmc_umq_resub_resp_msgid_stamp
,
12730 { "Message ID Stamp", "lbmc.umq_resub_resp.msgid_stamp", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12731 { &hf_lbmc_umq_resub_resp_rcr_idx
,
12732 { "RCR Index", "lbmc.umq_resub_resp.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12733 { &hf_lbmc_umq_resub_resp_reserved
,
12734 { "Reserved", "lbmc.umq_resub_resp.resp_ip", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12735 { &hf_lbmc_umq_resub_resp_appset_idx
,
12736 { "Application Set Index", "lbmc.umq_resub_resp.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12737 { &hf_lbmc_topic_interest
,
12738 { "Topic Interest", "lbmc.topic_interest", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12739 { &hf_lbmc_topic_interest_next_hdr
,
12740 { "Next Header", "lbmc.topic_interest.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12741 { &hf_lbmc_topic_interest_hdr_len
,
12742 { "Header Length", "lbmc.topic_interest.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12743 { &hf_lbmc_topic_interest_flags
,
12744 { "Flags", "lbmc.topic_interest.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12745 { &hf_lbmc_topic_interest_flags_ignore
,
12746 { "Ignore", "lbmc.topic_interest.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_INTEREST_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12747 { &hf_lbmc_topic_interest_flags_cancel
,
12748 { "Cancel", "lbmc.topic_interest.flags.cancel", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_INTEREST_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_TOPIC_INTEREST_CANCEL_FLAG
, "Set if cancelling interest", HFILL
} },
12749 { &hf_lbmc_topic_interest_flags_refresh
,
12750 { "Refresh", "lbmc.topic_interest.flags.refresh", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_INTEREST_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_TOPIC_INTEREST_REFRESH_FLAG
, "Set if refreshing interest", HFILL
} },
12751 { &hf_lbmc_topic_interest_domain_id
,
12752 { "Domain ID", "lbmc.topic_interest.domain_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12753 { &hf_lbmc_pattern_interest
,
12754 { "Pattern Interest", "lbmc.pattern_interest", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12755 { &hf_lbmc_pattern_interest_next_hdr
,
12756 { "Next Header", "lbmc.pattern_interest.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12757 { &hf_lbmc_pattern_interest_hdr_len
,
12758 { "Header Length", "lbmc.pattern_interest.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12759 { &hf_lbmc_pattern_interest_flags
,
12760 { "Flags", "lbmc.pattern_interest.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12761 { &hf_lbmc_pattern_interest_flags_ignore
,
12762 { "Ignore", "lbmc.pattern_interest.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12763 { &hf_lbmc_pattern_interest_flags_cancel
,
12764 { "Cancel", "lbmc.pattern_interest.flags.cancel", FT_BOOLEAN
, L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_PATTERN_INTEREST_CANCEL_FLAG
, "Set if cancelling interest", HFILL
} },
12765 { &hf_lbmc_pattern_interest_flags_refresh
,
12766 { "Refresh", "lbmc.pattern_interest.flags.refresh", FT_BOOLEAN
, L_LBMC_CNTL_PATTERN_INTEREST_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_PATTERN_INTEREST_REFRESH_FLAG
, "Set if refreshing interest", HFILL
} },
12767 { &hf_lbmc_pattern_interest_type
,
12768 { "Type", "lbmc.pattern_interest.type", FT_UINT8
, BASE_DEC_HEX
, VALS(lbm_wildcard_pattern_type
), 0x0, NULL
, HFILL
} },
12769 { &hf_lbmc_pattern_interest_domain_id
,
12770 { "Domain ID", "lbmc.pattern_interest.domain_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12771 { &hf_lbmc_pattern_interest_index
,
12772 { "Index", "lbmc.pattern_interest.index", FT_INT64
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12773 { &hf_lbmc_advertisement
,
12774 { "Advertisement", "lbmc.advertisement", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12775 { &hf_lbmc_advertisement_next_hdr
,
12776 { "Next Header", "lbmc.advertisement.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12777 { &hf_lbmc_advertisement_hdr_len
,
12778 { "Header Length", "lbmc.advertisement.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12779 { &hf_lbmc_advertisement_flags
,
12780 { "Flags", "lbmc.advertisement.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12781 { &hf_lbmc_advertisement_flags_ignore
,
12782 { "Ignore", "lbmc.advertisement.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12783 { &hf_lbmc_advertisement_flags_eos
,
12784 { "EOS", "lbmc.advertisement.flags.eos", FT_BOOLEAN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_ADVERTISEMENT_EOS_FLAG
, "Set if source EOS is being advertised", HFILL
} },
12785 { &hf_lbmc_advertisement_flags_pattern
,
12786 { "Pattern", "lbmc.advertisement.flags.pattern", FT_BOOLEAN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_ADVERTISEMENT_PATTERN_FLAG
, "Set if the topic being advertised matched a pattern", HFILL
} },
12787 { &hf_lbmc_advertisement_flags_change
,
12788 { "Change", "lbmc.advertisement.flags.change", FT_BOOLEAN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_ADVERTISEMENT_CHANGE_FLAG
, "Set if the advertisement indicates a change", HFILL
} },
12789 { &hf_lbmc_advertisement_flags_ctxinst
,
12790 { "Context Instance", "lbmc.advertisement.flags.ctxinst", FT_BOOLEAN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_ADVERTISEMENT_CTXINST_FLAG
, NULL
, HFILL
} },
12791 { &hf_lbmc_advertisement_hop_count
,
12792 { "Hop Count", "lbmc.advertisement.hop_count", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12793 { &hf_lbmc_advertisement_ad_flags
,
12794 { "Ad Flags", "lbmc.advertisement.ad_flags", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12795 { &hf_lbmc_advertisement_ad_flags_lj
,
12796 { "Late Join", "lbmc.advertisement.ad_flags.lj", FT_BOOLEAN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_AD_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_ADVERTISEMENT_AD_LJ_FLAG
, "Set if source provides late join", HFILL
} },
12797 { &hf_lbmc_advertisement_ad_flags_ume
,
12798 { "UME", "lbmc.advertisement.ad_flags.ume", FT_BOOLEAN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_AD_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_ADVERTISEMENT_AD_UME_FLAG
, "Set if a UME source", HFILL
} },
12799 { &hf_lbmc_advertisement_ad_flags_acktosrc
,
12800 { "ACK To Source", "lbmc.advertisement.ad_flags.acktosrc", FT_BOOLEAN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_AD_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_ADVERTISEMENT_AD_ACKTOSRC_FLAG
, "Set if ACKs are sent to source", HFILL
} },
12801 { &hf_lbmc_advertisement_ad_flags_queue
,
12802 { "Queue", "lbmc.advertisement.ad_flags.queue", FT_BOOLEAN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_AD_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_ADVERTISEMENT_AD_QUEUE_FLAG
, "Set if a queue", HFILL
} },
12803 { &hf_lbmc_advertisement_ad_flags_ulb
,
12804 { "ULB", "lbmc.advertisement.ad_flags.ulb", FT_BOOLEAN
, L_LBMC_CNTL_ADVERTISEMENT_HDR_T_AD_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_ADVERTISEMENT_AD_ULB_FLAG
, "Set if a ULB source", HFILL
} },
12805 { &hf_lbmc_advertisement_cost
,
12806 { "Cost", "lbmc.advertisement.cost", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12807 { &hf_lbmc_advertisement_transport_idx
,
12808 { "Transport Index", "lbmc.advertisement.transport_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12809 { &hf_lbmc_advertisement_topic_idx
,
12810 { "Topic Index", "lbmc.advertisement.topic_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12811 { &hf_lbmc_advertisement_low_seqno
,
12812 { "Low Sequence Number", "lbmc.advertisement.low_seqno", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12813 { &hf_lbmc_advertisement_high_seqno
,
12814 { "High Sequence Number", "lbmc.advertisement.high_seqno", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12815 { &hf_lbmc_advertisement_domain_id
,
12816 { "Domain ID", "lbmc.advertisement.domain_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12817 { &hf_lbmc_advertisement_pat_idx
,
12818 { "Pattern Index", "lbmc.advertisement.pat_idx", FT_INT64
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12819 { &hf_lbmc_advertisement_ctxinst
,
12820 { "Context Instance", "lbmc.advertisement.ctxinst", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12821 { &hf_lbmc_ume_storename
,
12822 { "Store Name", "lbmc.ume_storename", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12823 { &hf_lbmc_ume_storename_next_hdr
,
12824 { "Next Header", "lbmc.ume_storename.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12825 { &hf_lbmc_ume_storename_hdr_len
,
12826 { "Header Length", "lbmc.ume_storename.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12827 { &hf_lbmc_ume_storename_flags
,
12828 { "Flags", "lbmc.ume_storename.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12829 { &hf_lbmc_ume_storename_flags_ignore
,
12830 { "Ignore", "lbmc.ume_storename.flags.ignore", FT_BOOLEAN
, L_LBMC_UME_STORENAME_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12831 { &hf_lbmc_ume_storename_store
,
12832 { "Store Name", "lbmc.ume_storename.store", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12833 { &hf_lbmc_umq_ulb_rcr
,
12834 { "UMQ ULB Receiver Control Record", "lbmc.umq_ulb_rcr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12835 { &hf_lbmc_umq_ulb_rcr_next_hdr
,
12836 { "Next Header", "lbmc.umq_ulb_rcr.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12837 { &hf_lbmc_umq_ulb_rcr_hdr_len
,
12838 { "Header Length", "lbmc.umq_ulb_rcr.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12839 { &hf_lbmc_umq_ulb_rcr_flags
,
12840 { "Flags", "lbmc.umq_ulb_rcr.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12841 { &hf_lbmc_umq_ulb_rcr_flags_ignore
,
12842 { "Ignore", "lbmc.umq_ulb_rcr.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12843 { &hf_lbmc_umq_ulb_rcr_flags_r_flag
,
12844 { "Reassign", "lbmc.umq_ulb_rcr.flags.r_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_ULB_RCR_R_FLAG
, "Reassign", HFILL
} },
12845 { &hf_lbmc_umq_ulb_rcr_flags_d_flag
,
12846 { "Receiver Deregister", "lbmc.umq_ulb_rcr.flags.d_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_ULB_RCR_D_FLAG
, "Receiver deregister", HFILL
} },
12847 { &hf_lbmc_umq_ulb_rcr_flags_eoi_flag
,
12848 { "End of Index", "lbmc.umq_ulb_rcr.flags.eoi_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_ULB_RCR_EOI_FLAG
, "End of index", HFILL
} },
12849 { &hf_lbmc_umq_ulb_rcr_flags_boi_flag
,
12850 { "Beginning of Index", "lbmc.umq_ulb_rcr.flags.boi_flag", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_ULB_RCR_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_ULB_RCR_BOI_FLAG
, "Beginning of index", HFILL
} },
12851 { &hf_lbmc_umq_ulb_rcr_queue_id
,
12852 { "Queue ID", "lbmc.umq_ulb_rcr.queue_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12853 { &hf_lbmc_umq_ulb_rcr_ulb_src_id
,
12854 { "ULB Source ID", "lbmc.umq_ulb_rcr.ulb_src_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12855 { &hf_lbmc_umq_ulb_rcr_msgid_regid
,
12856 { "Message ID Registration ID", "lbmc.umq_ulb_rcr.msgid_regid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12857 { &hf_lbmc_umq_ulb_rcr_msgid_stamp
,
12858 { "Message ID Stamp", "lbmc.umq_ulb_rcr.msgid_stamp", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12859 { &hf_lbmc_umq_ulb_rcr_topic_tsp
,
12860 { "Topic TSP", "lbmc.umq_ulb_rcr.topic_tsp", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12861 { &hf_lbmc_umq_ulb_rcr_assign_id
,
12862 { "Assignment ID", "lbmc.umq_ulb_rcr.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12863 { &hf_lbmc_umq_ulb_rcr_appset_idx
,
12864 { "Application Set Index", "lbmc.umq_ulb_rcr.appset_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12865 { &hf_lbmc_umq_ulb_rcr_num_ras
,
12866 { "Number of RAs", "lbmc.umq_ulb_rcr.num_ras", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12868 { "UMQ Load Factor", "lbmc.umq_lf", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12869 { &hf_lbmc_umq_lf_next_hdr
,
12870 { "Next Header", "lbmc.umq_lf.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12871 { &hf_lbmc_umq_lf_hdr_len
,
12872 { "Header Length", "lbmc.umq_lf.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12873 { &hf_lbmc_umq_lf_flags
,
12874 { "Flags", "lbmc.umq_lf.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12875 { &hf_lbmc_umq_lf_flags_ignore
,
12876 { "Ignore", "lbmc.umq_lf.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_LF_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
12877 { &hf_lbmc_umq_lf_type
,
12878 { "Type", "lbmc.umq_lf.type", FT_UINT8
, BASE_HEX_DEC
, VALS(lbmc_umq_lf_type
), 0x0, NULL
, HFILL
} },
12879 { &hf_lbmc_umq_lf_num_srcs
,
12880 { "Number of Sources", "lbmc.umq_lf.resp_ip", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12881 { &hf_lbmc_umq_lf_lf
,
12882 { "Load Factor", "lbmc.umq_lf.lf", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
12883 { &hf_lbmc_ctxinfo
,
12884 { "Context Information", "lbmc.ctxinfo", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12885 { &hf_lbmc_ctxinfo_next_hdr
,
12886 { "Next Header", "lbmc.ctxinfo.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12887 { &hf_lbmc_ctxinfo_hdr_len
,
12888 { "Header Length", "lbmc.ctxinfo.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12889 { &hf_lbmc_ctxinfo_flags
,
12890 { "Flags", "lbmc.ctxinfo.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12891 { &hf_lbmc_ctxinfo_flags_ignore
,
12892 { "Ignore", "lbmc.ctxinfo.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_CTXINFO_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12893 { &hf_lbmc_ctxinfo_flags_query
,
12894 { "Query", "lbmc.ctxinfo.flags.query", FT_BOOLEAN
, L_LBMC_CNTL_CTXINFO_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CTXINFO_QUERY_FLAG
, NULL
, HFILL
} },
12895 { &hf_lbmc_ctxinfo_flags_addr
,
12896 { "Address", "lbmc.ctxinfo.flags.addr", FT_BOOLEAN
, L_LBMC_CNTL_CTXINFO_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CTXINFO_ADDR_FLAG
, NULL
, HFILL
} },
12897 { &hf_lbmc_ctxinfo_flags_ctxinst
,
12898 { "Context Instance", "lbmc.ctxinfo.flags.ctxinst", FT_BOOLEAN
, L_LBMC_CNTL_CTXINFO_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CTXINFO_CTXINST_FLAG
, NULL
, HFILL
} },
12899 { &hf_lbmc_ctxinfo_flags_name
,
12900 { "Name", "lbmc.ctxinfo.flags.name", FT_BOOLEAN
, L_LBMC_CNTL_CTXINFO_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CTXINFO_NAME_FLAG
, NULL
, HFILL
} },
12901 { &hf_lbmc_ctxinfo_flags_tnwgsrc
,
12902 { "Gateway Source", "lbmc.ctxinfo.flags.tnwgsrc", FT_BOOLEAN
, L_LBMC_CNTL_CTXINFO_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CTXINFO_TNWGSRC_FLAG
, NULL
, HFILL
} },
12903 { &hf_lbmc_ctxinfo_flags_tnwgrcv
,
12904 { "Gateway Receive", "lbmc.ctxinfo.flags.tnwgrcv", FT_BOOLEAN
, L_LBMC_CNTL_CTXINFO_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CTXINFO_TNWGRCV_FLAG
, NULL
, HFILL
} },
12905 { &hf_lbmc_ctxinfo_flags_proxy
,
12906 { "Proxy", "lbmc.ctxinfo.flags.proxy", FT_BOOLEAN
, L_LBMC_CNTL_CTXINFO_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CTXINFO_PROXY_FLAG
, NULL
, HFILL
} },
12907 { &hf_lbmc_ctxinfo_reserved
,
12908 { "Reserved", "lbmc.ctxinfo.reserved", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12909 { &hf_lbmc_ctxinfo_hop_count
,
12910 { "Hop Count", "lbmc.ctxinfo.hop_count", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12911 { &hf_lbmc_ctxinfo_port
,
12912 { "Port", "lbmc.ctxinfo.port", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12913 { &hf_lbmc_ctxinfo_addr
,
12914 { "Address", "lbmc.ctxinfo.addr", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12915 { &hf_lbmc_ctxinfo_domain_id
,
12916 { "Domain ID", "lbmc.ctxinfo.domain_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12917 { &hf_lbmc_ctxinfo_ctxinst
,
12918 { "Context Instance", "lbmc.ctxinfo.ctxinst", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12919 { &hf_lbmc_ctxinfo_name
,
12920 { "Name", "lbmc.ctxinfo.name", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12921 { &hf_lbmc_ume_pser
,
12922 { "UME Proxy Source Election Record", "lbmc.ume_pser", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12923 { &hf_lbmc_ume_pser_next_hdr
,
12924 { "Next Header", "lbmc.ume_pser.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12925 { &hf_lbmc_ume_pser_hdr_len
,
12926 { "Header Length", "lbmc.ume_pser.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12927 { &hf_lbmc_ume_pser_flags
,
12928 { "Flags", "lbmc.ume_pser.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12929 { &hf_lbmc_ume_pser_flags_ignore
,
12930 { "Ignore", "lbmc.ume_pser.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_PSER_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12931 { &hf_lbmc_ume_pser_flags_source_ctxinst
,
12932 { "Source Context Instance", "lbmc.ume_pser.flags.source_ctxinst", FT_BOOLEAN
, L_LBMC_CNTL_UME_PSER_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_PSER_SOURCE_CTXINST_FLAG
, NULL
, HFILL
} },
12933 { &hf_lbmc_ume_pser_flags_store_ctxinst
,
12934 { "Store Context Instance", "lbmc.ume_pser.flags.store_ctxinst", FT_BOOLEAN
, L_LBMC_CNTL_UME_PSER_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_PSER_STORE_CTXINST_FLAG
, NULL
, HFILL
} },
12935 { &hf_lbmc_ume_pser_flags_reelect
,
12936 { "Reelection", "lbmc.ume_pser.flags.reelect", FT_BOOLEAN
, L_LBMC_CNTL_UME_PSER_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UME_PSER_REELECT_FLAG
, NULL
, HFILL
} },
12937 { &hf_lbmc_ume_pser_source_ip
,
12938 { "Source Address", "lbmc.ume_pser.source_ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12939 { &hf_lbmc_ume_pser_store_ip
,
12940 { "Store Address", "lbmc.ume_pser.store_ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12941 { &hf_lbmc_ume_pser_transport_idx
,
12942 { "Transport Index", "lbmc.ume_pser.transport_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12943 { &hf_lbmc_ume_pser_topic_idx
,
12944 { "Topic Index", "lbmc.ume_pser.topic_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12945 { &hf_lbmc_ume_pser_source_port
,
12946 { "Source Port", "lbmc.ume_pser.source_port", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12947 { &hf_lbmc_ume_pser_store_port
,
12948 { "Store Port", "lbmc.ume_pser.store_port", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12949 { &hf_lbmc_ume_pser_source_ctxinst
,
12950 { "Source Context Instance", "lbmc.ume_pser.source_ctxinst", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12951 { &hf_lbmc_ume_pser_store_ctxinst
,
12952 { "Store Context Instance", "lbmc.ume_pser.store_ctxinst", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12954 { "Domain", "lbmc.domain", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12955 { &hf_lbmc_domain_next_hdr
,
12956 { "Next Header", "lbmc.domain.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12957 { &hf_lbmc_domain_hdr_len
,
12958 { "Header Length", "lbmc.domain.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12959 { &hf_lbmc_domain_flags
,
12960 { "Flags", "lbmc.domain.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12961 { &hf_lbmc_domain_flags_ignore
,
12962 { "Ignore", "lbmc.domain.flags.ignore", FT_BOOLEAN
, L_LBMC_DOMAIN_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12963 { &hf_lbmc_domain_flags_active
,
12964 { "Active", "lbmc.domain.flags.active", FT_BOOLEAN
, L_LBMC_DOMAIN_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_DOMAIN_ACTIVE_FLAG
, NULL
, HFILL
} },
12965 { &hf_lbmc_domain_domain
,
12966 { "Domain ID", "lbmc.domain.domain", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12967 { &hf_lbmc_tnwg_capabilities
,
12968 { "TNWG Capabilities", "lbmc.tnwg_capabilities", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12969 { &hf_lbmc_tnwg_capabilities_next_hdr
,
12970 { "Next Header", "lbmc.tnwg_capabilities.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12971 { &hf_lbmc_tnwg_capabilities_hdr_len
,
12972 { "Header Length", "lbmc.tnwg_capabilities.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12973 { &hf_lbmc_tnwg_capabilities_flags
,
12974 { "Flags", "lbmc.tnwg_capabilities.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12975 { &hf_lbmc_tnwg_capabilities_flags_ignore
,
12976 { "Ignore", "lbmc.tnwg_capabilities.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
12977 { &hf_lbmc_tnwg_capabilities_flags_version
,
12978 { "Version", "lbmc.tnwg_capabilities.flags.version", FT_UINT16
, BASE_DEC
, NULL
, LBMC_CNTL_TNWG_CAPABILITIES_VERSION_MASK
, NULL
, HFILL
} },
12979 { &hf_lbmc_tnwg_capabilities_capabilities1
,
12980 { "Capabilities1", "lbmc.tnwg_capabilities.capabilities1", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12981 { &hf_lbmc_tnwg_capabilities_capabilities1_ume
,
12982 { "UME", "lbmc.tnwg_capabilities.capabilities1.ume", FT_BOOLEAN
, L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES1
* 8, TFS(&tfs_set_notset
), LBMC_CNTL_TNWG_CAPABILITIES1_UME_FLAG
, "Set if UME is supported", HFILL
} },
12983 { &hf_lbmc_tnwg_capabilities_capabilities1_umq
,
12984 { "UMQ", "lbmc.tnwg_capabilities.capabilities1.umq", FT_BOOLEAN
, L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES1
* 8, TFS(&tfs_set_notset
), LBMC_CNTL_TNWG_CAPABILITIES1_UMQ_FLAG
, "Set if UMQ is supported", HFILL
} },
12985 { &hf_lbmc_tnwg_capabilities_capabilities2
,
12986 { "Capabilities2", "lbmc.tnwg_capabilities.capabilities2", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12987 { &hf_lbmc_tnwg_capabilities_capabilities3
,
12988 { "Capabilities3", "lbmc.tnwg_capabilities.capabilities3", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12989 { &hf_lbmc_tnwg_capabilities_capabilities3_pcre
,
12990 { "PCRE", "lbmc.tnwg_capabilities.capabilities3.pcre", FT_BOOLEAN
, L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES3
* 8, TFS(&tfs_set_notset
), LBMC_CNTL_TNWG_CAPABILITIES3_PCRE_FLAG
, "Set if PCRE patterns are supported", HFILL
} },
12991 { &hf_lbmc_tnwg_capabilities_capabilities3_regex
,
12992 { "Regex", "lbmc.tnwg_capabilities.capabilities3.regex", FT_BOOLEAN
, L_LBMC_CNTL_TNWG_CAPABILITIES_HDR_T_CAPABILITIES3
* 8, TFS(&tfs_set_notset
), LBMC_CNTL_TNWG_CAPABILITIES3_REGEX_FLAG
, "Set if Regex patters are supported", HFILL
} },
12993 { &hf_lbmc_tnwg_capabilities_capabilities4
,
12994 { "Capabilities4", "lbmc.tnwg_capabilities.capabilities4", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
12996 { "Pattern Index", "lbmc.patidx", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
12997 { &hf_lbmc_patidx_next_hdr
,
12998 { "Next Header", "lbmc.patidx.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
12999 { &hf_lbmc_patidx_hdr_len
,
13000 { "Header Length", "lbmc.patidx.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13001 { &hf_lbmc_patidx_flags
,
13002 { "Flags", "lbmc.patidx.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13003 { &hf_lbmc_patidx_flags_ignore
,
13004 { "Ignore", "lbmc.patidx.flags.ignore", FT_BOOLEAN
, L_LBMC_PATIDX_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13005 { &hf_lbmc_patidx_patidx
,
13006 { "Source Index", "lbmc.patidx.patidx", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13007 { &hf_lbmc_ume_client_lifetime
,
13008 { "UME Client Lifetime", "lbmc.ume_client_lifetime", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13009 { &hf_lbmc_ume_client_lifetime_next_hdr
,
13010 { "Next Header", "lbmc.ume_client_lifetime.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13011 { &hf_lbmc_ume_client_lifetime_hdr_len
,
13012 { "Header Length", "lbmc.ume_client_lifetime.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13013 { &hf_lbmc_ume_client_lifetime_flags
,
13014 { "Flags", "lbmc.ume_client_lifetime.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13015 { &hf_lbmc_ume_client_lifetime_flags_ignore
,
13016 { "Ignore", "lbmc.ume_client_lifetime.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_CLIENT_LIFETIME_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13017 { &hf_lbmc_ume_client_lifetime_activity_tmo
,
13018 { "Activity Timeout", "lbmc.ume_client_lifetime.activity_tmo", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13019 { &hf_lbmc_ume_client_lifetime_lifetime
,
13020 { "Lifetime", "lbmc.ume_client_lifetime.lifetime", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13021 { &hf_lbmc_ume_client_lifetime_ttl
,
13022 { "Time to Live", "lbmc.ume_client_lifetime.ttl", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13023 { &hf_lbmc_ume_sid
,
13024 { "UME Session ID", "lbmc.ume_sid", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13025 { &hf_lbmc_ume_sid_next_hdr
,
13026 { "Next Header", "lbmc.ume_sid.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13027 { &hf_lbmc_ume_sid_hdr_len
,
13028 { "Header Length", "lbmc.ume_sid.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13029 { &hf_lbmc_ume_sid_flags
,
13030 { "Flags", "lbmc.ume_sid.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13031 { &hf_lbmc_ume_sid_flags_ignore
,
13032 { "Ignore", "lbmc.ume_sid.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_SID_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13033 { &hf_lbmc_ume_sid_sid
,
13034 { "Session ID", "lbmc.ume_sid.sid", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13035 { &hf_lbmc_umq_idx_cmd
,
13036 { "UMQ Index Command", "lbmc.umq_idx_cmd", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13037 { &hf_lbmc_umq_idx_cmd_next_hdr
,
13038 { "Next Header", "lbmc.umq_idx_cmd.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13039 { &hf_lbmc_umq_idx_cmd_hdr_len
,
13040 { "Header Length", "lbmc.umq_idx_cmd.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13041 { &hf_lbmc_umq_idx_cmd_flags
,
13042 { "Flags", "lbmc.umq_idx_cmd.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13043 { &hf_lbmc_umq_idx_cmd_flags_ignore
,
13044 { "Ignore", "lbmc.umq_idx_cmd.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_IDX_CMD_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13045 { &hf_lbmc_umq_idx_cmd_cmd_type
,
13046 { "Command Type", "lbmc.umq_idx_cmd.cmd_type", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_umq_index_cmd_type
), 0x0, NULL
, HFILL
} },
13047 { &hf_lbmc_umq_idx_cmd_queue_id
,
13048 { "Queue ID", "lbmc.umq_idx_cmd.queue_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13049 { &hf_lbmc_umq_idx_cmd_cmd_id
,
13050 { "Command ID", "lbmc.umq_idx_cmd.cmd_id", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13051 { &hf_lbmc_umq_idx_cmd_inst_idx
,
13052 { "Instance Index", "lbmc.umq_idx_cmd.inst_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13053 { &hf_lbmc_umq_idx_cmd_regid
,
13054 { "RegID", "lbmc.umq_idx_cmd.regid", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13055 { &hf_lbmc_umq_idx_cmd_stop_assign
,
13056 { "Stop Assign", "lbmc.umq_idx_cmd.stop_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13057 { &hf_lbmc_umq_idx_cmd_stop_assign_rcr_idx
,
13058 { "RCR Index", "lbmc.umq_idx_cmd.stop_assign.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13059 { &hf_lbmc_umq_idx_cmd_stop_assign_assign_id
,
13060 { "Assignment ID", "lbmc.umq_idx_cmd.stop_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13061 { &hf_lbmc_umq_idx_cmd_start_assign
,
13062 { "Start Assign", "lbmc.umq_idx_cmd.start_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13063 { &hf_lbmc_umq_idx_cmd_start_assign_rcr_idx
,
13064 { "RCR Index", "lbmc.umq_idx_cmd.start_assign.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13065 { &hf_lbmc_umq_idx_cmd_start_assign_assign_id
,
13066 { "Assignment ID", "lbmc.umq_idx_cmd.start_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13067 { &hf_lbmc_umq_idx_cmd_release_assign
,
13068 { "Release Assign", "lbmc.umq_idx_cmd.release_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13069 { &hf_lbmc_umq_idx_cmd_release_assign_rcr_idx
,
13070 { "RCR Index", "lbmc.umq_idx_cmd.release_assign.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13071 { &hf_lbmc_umq_idx_cmd_release_assign_assign_id
,
13072 { "Assignment ID", "lbmc.umq_idx_cmd.release_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13073 { &hf_lbmc_umq_idx_cmd_release_assign_flags
,
13074 { "Flags", "lbmc.umq_idx_cmd.release_assign.flags", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13075 { &hf_lbmc_umq_idx_cmd_release_assign_flags_numeric
,
13076 { "Numeric", "lbmc.umq_idx_cmd.release_assign.flags.numeric", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBM_UMQ_INDEX_FLAG_NUMERIC
, "Set if index is numeric", HFILL
} },
13077 { &hf_lbmc_umq_idx_cmd_release_assign_index_len
,
13078 { "Index Length", "lbmc.umq_idx_cmd.release_assign.index_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13079 { &hf_lbmc_umq_idx_cmd_release_assign_reserved
,
13080 { "Reserved", "lbmc.umq_idx_cmd.release_assign.reserved", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13081 { &hf_lbmc_umq_idx_cmd_release_assign_numeric_index
,
13082 { "Index", "lbmc.umq_idx_cmd.release_assign.numeric_index", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13083 { &hf_lbmc_umq_idx_cmd_release_assign_string_index
,
13084 { "Index", "lbmc.umq_idx_cmd.release_assign.string_index", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13085 { &hf_lbmc_umq_idx_cmd_ulb_stop_assign
,
13086 { "ULB Stop Assign", "lbmc.umq_idx_cmd.ulb_stop_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13087 { &hf_lbmc_umq_idx_cmd_ulb_stop_assign_src_id
,
13088 { "Source ID", "lbmc.umq_idx_cmd.ulb_stop_assign.src_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13089 { &hf_lbmc_umq_idx_cmd_ulb_stop_assign_assign_id
,
13090 { "Assignment ID", "lbmc.umq_idx_cmd.ulb_stop_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13091 { &hf_lbmc_umq_idx_cmd_ulb_stop_assign_appset_idx
,
13092 { "Application Set Index", "lbmc.umq_idx_cmd.ulb_stop_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13093 { &hf_lbmc_umq_idx_cmd_ulb_stop_assign_reserved
,
13094 { "Reserved", "lbmc.umq_idx_cmd.ulb_stop_assign.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13095 { &hf_lbmc_umq_idx_cmd_ulb_start_assign
,
13096 { "ULB Start Assign", "lbmc.umq_idx_cmd.ulb_start_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13097 { &hf_lbmc_umq_idx_cmd_ulb_start_assign_src_id
,
13098 { "Source ID", "lbmc.umq_idx_cmd.ulb_start_assign.src_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13099 { &hf_lbmc_umq_idx_cmd_ulb_start_assign_assign_id
,
13100 { "Assignment ID", "lbmc.umq_idx_cmd.ulb_start_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13101 { &hf_lbmc_umq_idx_cmd_ulb_start_assign_appset_idx
,
13102 { "Application Set Index", "lbmc.umq_idx_cmd.ulb_start_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13103 { &hf_lbmc_umq_idx_cmd_ulb_start_assign_reserved
,
13104 { "Reserved", "lbmc.umq_idx_cmd.ulb_start_assign.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13105 { &hf_lbmc_umq_idx_cmd_ulb_release_assign
,
13106 { "ULB Release Assign", "lbmc.umq_idx_cmd.ulb_release_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13107 { &hf_lbmc_umq_idx_cmd_ulb_release_assign_src_id
,
13108 { "Source ID", "lbmc.umq_idx_cmd.ulb_release_assign.src_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13109 { &hf_lbmc_umq_idx_cmd_ulb_release_assign_assign_id
,
13110 { "Assignment ID", "lbmc.umq_idx_cmd.ulb_release_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13111 { &hf_lbmc_umq_idx_cmd_ulb_release_assign_flags
,
13112 { "Flags", "lbmc.umq_idx_cmd.ulb_release_assign.flags", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13113 { &hf_lbmc_umq_idx_cmd_ulb_release_assign_flags_numeric
,
13114 { "Numeric", "lbmc.umq_idx_cmd.ulb_release_assign.flags.numeric", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RELEASE_IDX_ASSIGN_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBM_UMQ_INDEX_FLAG_NUMERIC
, "Set if index is numeric", HFILL
} },
13115 { &hf_lbmc_umq_idx_cmd_ulb_release_assign_appset_idx
,
13116 { "Application Set Index", "lbmc.umq_idx_cmd.ulb_release_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13117 { &hf_lbmc_umq_idx_cmd_ulb_release_assign_index_len
,
13118 { "Index Length", "lbmc.umq_idx_cmd.ulb_release_assign.index_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13119 { &hf_lbmc_umq_idx_cmd_ulb_release_assign_reserved
,
13120 { "Reserved", "lbmc.umq_idx_cmd.ulb_release_assign.reserved", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13121 { &hf_lbmc_umq_idx_cmd_ulb_release_assign_numeric_index
,
13122 { "Index", "lbmc.umq_idx_cmd.ulb_release_assign.numeric_index", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13123 { &hf_lbmc_umq_idx_cmd_ulb_release_assign_string_index
,
13124 { "Index", "lbmc.umq_idx_cmd.ulb_release_assign.string_index", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13125 { &hf_lbmc_umq_idx_cmd_reserve_assign
,
13126 { "Reserve Assign", "lbmc.umq_idx_cmd.reserve_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13127 { &hf_lbmc_umq_idx_cmd_reserve_assign_rcr_idx
,
13128 { "RCR Index", "lbmc.umq_idx_cmd.reserve_assign.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13129 { &hf_lbmc_umq_idx_cmd_reserve_assign_assign_id
,
13130 { "Assignment ID", "lbmc.umq_idx_cmd.reserve_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13131 { &hf_lbmc_umq_idx_cmd_reserve_assign_flags
,
13132 { "Flags", "lbmc.umq_idx_cmd.reserve_assign.flags", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13133 { &hf_lbmc_umq_idx_cmd_reserve_assign_flags_numeric
,
13134 { "Numeric", "lbmc.umq_idx_cmd.reserve_assign.flags.numeric", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBM_UMQ_INDEX_FLAG_NUMERIC
, "Set if index is numeric", HFILL
} },
13135 { &hf_lbmc_umq_idx_cmd_reserve_assign_index_len
,
13136 { "Index Length", "lbmc.umq_idx_cmd.reserve_assign.index_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13137 { &hf_lbmc_umq_idx_cmd_reserve_assign_reserved
,
13138 { "Reserved", "lbmc.umq_idx_cmd.reserve_assign.reserved", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13139 { &hf_lbmc_umq_idx_cmd_reserve_assign_numeric_index
,
13140 { "Index", "lbmc.umq_idx_cmd.reserve_assign.numeric_index", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13141 { &hf_lbmc_umq_idx_cmd_reserve_assign_string_index
,
13142 { "Index", "lbmc.umq_idx_cmd.reserve_assign.string_index", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13143 { &hf_lbmc_umq_idx_cmd_ulb_reserve_assign
,
13144 { "ULB Reserve Assign", "lbmc.umq_idx_cmd.ulb_reserve_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13145 { &hf_lbmc_umq_idx_cmd_ulb_reserve_assign_src_id
,
13146 { "Source ID", "lbmc.umq_idx_cmd.ulb_reserve_assign.src_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13147 { &hf_lbmc_umq_idx_cmd_ulb_reserve_assign_assign_id
,
13148 { "Assignment ID", "lbmc.umq_idx_cmd.ulb_reserve_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13149 { &hf_lbmc_umq_idx_cmd_ulb_reserve_assign_flags
,
13150 { "Flags", "lbmc.umq_idx_cmd.ulb_reserve_assign.flags", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13151 { &hf_lbmc_umq_idx_cmd_ulb_reserve_assign_flags_numeric
,
13152 { "Numeric", "lbmc.umq_idx_cmd.ulb_reserve_assign.flags.numeric", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_ULB_IDX_CMD_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBM_UMQ_INDEX_FLAG_NUMERIC
, "Set if index is numeric", HFILL
} },
13153 { &hf_lbmc_umq_idx_cmd_ulb_reserve_assign_appset_idx
,
13154 { "Application Set Index", "lbmc.umq_idx_cmd.ulb_reserve_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13155 { &hf_lbmc_umq_idx_cmd_ulb_reserve_assign_index_len
,
13156 { "Index Length", "lbmc.umq_idx_cmd.ulb_reserve_assign.index_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13157 { &hf_lbmc_umq_idx_cmd_ulb_reserve_assign_reserved
,
13158 { "Reserved", "lbmc.umq_idx_cmd.ulb_reserve_assign.reserved", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13159 { &hf_lbmc_umq_idx_cmd_ulb_reserve_assign_numeric_index
,
13160 { "Index", "lbmc.umq_idx_cmd.ulb_reserve_assign.numeric_index", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13161 { &hf_lbmc_umq_idx_cmd_ulb_reserve_assign_string_index
,
13162 { "Index", "lbmc.umq_idx_cmd.ulb_reserve_assign.string_index", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13163 { &hf_lbmc_umq_idx_cmd_resp
,
13164 { "UMQ Index Command Response", "lbmc.umq_idx_cmd_resp", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13165 { &hf_lbmc_umq_idx_cmd_resp_next_hdr
,
13166 { "Next Header", "lbmc.umq_idx_cmd_resp.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13167 { &hf_lbmc_umq_idx_cmd_resp_hdr_len
,
13168 { "Header Length", "lbmc.umq_idx_cmd_resp.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13169 { &hf_lbmc_umq_idx_cmd_resp_flags
,
13170 { "Flags", "lbmc.umq_idx_cmd_resp.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13171 { &hf_lbmc_umq_idx_cmd_resp_flags_ignore
,
13172 { "Ignore", "lbmc.umq_idx_cmd_resp.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13173 { &hf_lbmc_umq_idx_cmd_resp_flags_ulb
,
13174 { "ULB", "lbmc.umq_idx_cmd_resp.flags.ulb", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_UMQ_IDX_CMD_RESP_ERR_L_FLAG
, "Set if ULB", HFILL
} },
13175 { &hf_lbmc_umq_idx_cmd_resp_resp_type
,
13176 { "Response Type", "lbmc.umq_idx_cmd_resp.resp_type", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_umq_index_cmd_response_type
), 0x0, NULL
, HFILL
} },
13177 { &hf_lbmc_umq_idx_cmd_resp_queue_id
,
13178 { "Queue ID", "lbmc.umq_idx_cmd_resp.queue_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13179 { &hf_lbmc_umq_idx_cmd_resp_cmd_id
,
13180 { "Command ID", "lbmc.umq_idx_cmd_resp.cmd_id", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13181 { &hf_lbmc_umq_idx_cmd_resp_inst_idx
,
13182 { "Instance Index", "lbmc.umq_idx_cmd_resp.inst_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13183 { &hf_lbmc_umq_idx_cmd_resp_regid
,
13184 { "RegID", "lbmc.umq_idx_cmd_resp.regid", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13185 { &hf_lbmc_umq_idx_cmd_resp_err
,
13186 { "Error", "lbmc.umq_idx_cmd_resp.err", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13187 { &hf_lbmc_umq_idx_cmd_resp_err_reserved
,
13188 { "Reserved", "lbmc.umq_idx_cmd_resp.err.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13189 { &hf_lbmc_umq_idx_cmd_resp_err_code
,
13190 { "Code", "lbmc.umq_idx_cmd_resp.err.code", FT_UINT16
, BASE_DEC_HEX
, VALS(lbmc_umq_idx_cmd_response_error_code
), 0x0, NULL
, HFILL
} },
13191 { &hf_lbmc_umq_idx_cmd_resp_err_error_string
,
13192 { "Error String", "lbmc.umq_idx_cmd_resp.err.error_string", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13193 { &hf_lbmc_umq_idx_cmd_resp_stop_assign
,
13194 { "Stop Assign", "lbmc.umq_idx_cmd_resp.stop_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13195 { &hf_lbmc_umq_idx_cmd_resp_stop_assign_rcr_idx
,
13196 { "RCR Index", "lbmc.umq_idx_cmd_resp.stop_assign.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13197 { &hf_lbmc_umq_idx_cmd_resp_stop_assign_assign_id
,
13198 { "Assignment ID", "lbmc.umq_idx_cmd_resp.stop_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13199 { &hf_lbmc_umq_idx_cmd_resp_start_assign
,
13200 { "Start Assign", "lbmc.umq_idx_cmd_resp.start_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13201 { &hf_lbmc_umq_idx_cmd_resp_start_assign_rcr_idx
,
13202 { "RCR Index", "lbmc.umq_idx_cmd_resp.start_assign.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13203 { &hf_lbmc_umq_idx_cmd_resp_start_assign_assign_id
,
13204 { "Assignment ID", "lbmc.umq_idx_cmd_resp.start_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13205 { &hf_lbmc_umq_idx_cmd_resp_start_assign_appset_idx
,
13206 { "Application Set Index", "lbmc.umq_idx_cmd_resp.start_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13207 { &hf_lbmc_umq_idx_cmd_resp_start_assign_reserved
,
13208 { "Reserved", "lbmc.umq_idx_cmd_resp.start_assign.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13209 { &hf_lbmc_umq_idx_cmd_resp_release_assign
,
13210 { "Release Assign", "lbmc.umq_idx_cmd_resp.release_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13211 { &hf_lbmc_umq_idx_cmd_resp_release_assign_rcr_idx
,
13212 { "RCR Index", "lbmc.umq_idx_cmd_resp.release_assign.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13213 { &hf_lbmc_umq_idx_cmd_resp_release_assign_assign_id
,
13214 { "Assignment ID", "lbmc.umq_idx_cmd_resp.release_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13215 { &hf_lbmc_umq_idx_cmd_resp_release_assign_appset_idx
,
13216 { "Application Set Index", "lbmc.umq_idx_cmd_resp.release_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13217 { &hf_lbmc_umq_idx_cmd_resp_release_assign_reserved
,
13218 { "Reserved", "lbmc.umq_idx_cmd_resp.release_assign.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13219 { &hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign
,
13220 { "ULB Stop Assign", "lbmc.umq_idx_cmd_resp.ulb_stop_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13221 { &hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_src_id
,
13222 { "Source ID", "lbmc.umq_idx_cmd_resp.ulb_stop_assign.src_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13223 { &hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_assign_id
,
13224 { "Assignment ID", "lbmc.umq_idx_cmd_resp.ulb_stop_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13225 { &hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_appset_idx
,
13226 { "Application Set Index", "lbmc.umq_idx_cmd_resp.ulb_stop_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13227 { &hf_lbmc_umq_idx_cmd_resp_ulb_stop_assign_reserved
,
13228 { "Reserved", "lbmc.umq_idx_cmd_resp.ulb_stop_assign.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13229 { &hf_lbmc_umq_idx_cmd_resp_ulb_start_assign
,
13230 { "ULB Start Assign", "lbmc.umq_idx_cmd_resp.ulb_start_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13231 { &hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_src_id
,
13232 { "Source ID", "lbmc.umq_idx_cmd_resp.ulb_start_assign.src_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13233 { &hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_assign_id
,
13234 { "Assignment ID", "lbmc.umq_idx_cmd_resp.ulb_start_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13235 { &hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_appset_idx
,
13236 { "Application Set Index", "lbmc.umq_idx_cmd_resp.ulb_start_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13237 { &hf_lbmc_umq_idx_cmd_resp_ulb_start_assign_reserved
,
13238 { "Reserved", "lbmc.umq_idx_cmd_resp.ulb_start_assign.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13239 { &hf_lbmc_umq_idx_cmd_resp_ulb_release_assign
,
13240 { "ULB Release Assign", "lbmc.umq_idx_cmd_resp.ulb_release_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13241 { &hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_src_id
,
13242 { "Source ID", "lbmc.umq_idx_cmd_resp.ulb_release_assign.src_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13243 { &hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_assign_id
,
13244 { "Assignment ID", "lbmc.umq_idx_cmd_resp.ulb_release_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13245 { &hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_appset_idx
,
13246 { "Application Set Index", "lbmc.umq_idx_cmd_resp.ulb_release_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13247 { &hf_lbmc_umq_idx_cmd_resp_ulb_release_assign_reserved
,
13248 { "Reserved", "lbmc.umq_idx_cmd_resp.ulb_release_assign.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13249 { &hf_lbmc_umq_idx_cmd_resp_reserve_assign
,
13250 { "Reserve Assign", "lbmc.umq_idx_cmd_resp.reserve_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13251 { &hf_lbmc_umq_idx_cmd_resp_reserve_assign_rcr_idx
,
13252 { "RCR Index", "lbmc.umq_idx_cmd_resp.reserve_assign.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13253 { &hf_lbmc_umq_idx_cmd_resp_reserve_assign_assign_id
,
13254 { "Assignment ID", "lbmc.umq_idx_cmd_resp.reserve_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13255 { &hf_lbmc_umq_idx_cmd_resp_reserve_assign_flags
,
13256 { "Flags", "lbmc.umq_idx_cmd_resp.reserve_assign.flags", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13257 { &hf_lbmc_umq_idx_cmd_resp_reserve_assign_flags_numeric
,
13258 { "Numeric", "lbmc.umq_idx_cmd_resp.reserve_assign.flags.numeric", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBM_UMQ_INDEX_FLAG_NUMERIC
, "Set if index is numeric", HFILL
} },
13259 { &hf_lbmc_umq_idx_cmd_resp_reserve_assign_appset_idx
,
13260 { "AppSet Index", "lbmc.umq_idx_cmd_resp.reserve_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13261 { &hf_lbmc_umq_idx_cmd_resp_reserve_assign_index_len
,
13262 { "Index Length", "lbmc.umq_idx_cmd_resp.reserve_assign.index_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13263 { &hf_lbmc_umq_idx_cmd_resp_reserve_assign_reserved
,
13264 { "Reserved", "lbmc.umq_idx_cmd_resp.reserve_assign.reserved", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13265 { &hf_lbmc_umq_idx_cmd_resp_reserve_assign_numeric_index
,
13266 { "Index", "lbmc.umq_idx_cmd_resp.reserve_assign.numeric_index", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13267 { &hf_lbmc_umq_idx_cmd_resp_reserve_assign_string_index
,
13268 { "Index", "lbmc.umq_idx_cmd_resp.reserve_assign.string_index", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13269 { &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign
,
13270 { "ULB Reserve Assign", "lbmc.umq_idx_cmd_resp.ulb_reserve_assign", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13271 { &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_src_id
,
13272 { "Source ID", "lbmc.umq_idx_cmd_resp.ulb_reserve_assign.src_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13273 { &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_assign_id
,
13274 { "Assignment ID", "lbmc.umq_idx_cmd_resp.ulb_reserve_assign.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13275 { &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_flags
,
13276 { "Flags", "lbmc.umq_idx_cmd_resp.ulb_reserve_assign.flags", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13277 { &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_flags_numeric
,
13278 { "Numeric", "lbmc.umq_idx_cmd_resp.ulb_reserve_assign.flags.numeric", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_IDX_CMD_RESP_ULB_RCV_RESERVE_IDX_ASSIGN_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBM_UMQ_INDEX_FLAG_NUMERIC
, "Set if index is numeric", HFILL
} },
13279 { &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_appset_idx
,
13280 { "AppSet Index", "lbmc.umq_idx_cmd_resp.ulb_reserve_assign.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13281 { &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_index_len
,
13282 { "Index Length", "lbmc.umq_idx_cmd_resp.ulb_reserve_assign.index_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13283 { &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_reserved
,
13284 { "Reserved", "lbmc.umq_idx_cmd_resp.ulb_reserve_assign.reserved", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13285 { &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_numeric_index
,
13286 { "Index", "lbmc.umq_idx_cmd_resp.ulb_reserve_assign.numeric_index", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13287 { &hf_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_string_index
,
13288 { "Index", "lbmc.umq_idx_cmd_resp.ulb_reserve_assign.string_index", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13289 { &hf_lbmc_odomain
,
13290 { "Originating Domain", "lbmc.odomain", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13291 { &hf_lbmc_odomain_next_hdr
,
13292 { "Next Header", "lbmc.odomain.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13293 { &hf_lbmc_odomain_hdr_len
,
13294 { "Header Length", "lbmc.odomain.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13295 { &hf_lbmc_odomain_flags
,
13296 { "Flags", "lbmc.odomain.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13297 { &hf_lbmc_odomain_flags_ignore
,
13298 { "Ignore", "lbmc.odomain.flags.ignore", FT_BOOLEAN
, L_LBMC_ODOMAIN_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13299 { &hf_lbmc_odomain_domain
,
13300 { "Domain ID", "lbmc.odomain.domain", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13302 { "Stream", "lbmc.stream", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13303 { &hf_lbmc_stream_next_hdr
,
13304 { "Next Header", "lbmc.stream.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13305 { &hf_lbmc_stream_hdr_len
,
13306 { "Header Length", "lbmc.stream.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13307 { &hf_lbmc_stream_flags
,
13308 { "Flags", "lbmc.stream.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13309 { &hf_lbmc_stream_flags_ignore
,
13310 { "Ignore", "lbmc.stream.flags.ignore", FT_BOOLEAN
, L_LBMC_STREAM_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13311 { &hf_lbmc_stream_stream_id
,
13312 { "Stream ID", "lbmc.stream.stream_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13313 { &hf_lbmc_stream_sqn
,
13314 { "Sequence Number", "lbmc.stream.sqn", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13315 { &hf_lbmc_stream_ctxinst
,
13316 { "Context Instance", "lbmc.stream.ctxinst", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13317 { &hf_lbmc_topic_md_interest
,
13318 { "Topic Multi-Domain Interest", "lbmc.topic_md_interest", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13319 { &hf_lbmc_topic_md_interest_next_hdr
,
13320 { "Next Header", "lbmc.topic_md_interest.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13321 { &hf_lbmc_topic_md_interest_hdr_len
,
13322 { "Header Length", "lbmc.topic_md_interest.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13323 { &hf_lbmc_topic_md_interest_flags
,
13324 { "Flags", "lbmc.topic_md_interest.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13325 { &hf_lbmc_topic_md_interest_flags_ignore
,
13326 { "Ignore", "lbmc.topic_md_interest.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13327 { &hf_lbmc_topic_md_interest_flags_cancel
,
13328 { "Cancel", "lbmc.topic_md_interest.flags.cancel", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_TOPIC_INTEREST_CANCEL_FLAG
, "Set if cancelling interest", HFILL
} },
13329 { &hf_lbmc_topic_md_interest_flags_refresh
,
13330 { "Refresh", "lbmc.topic_md_interest.flags.refresh", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_MD_INTEREST_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_TOPIC_INTEREST_REFRESH_FLAG
, "Set if refreshing interest", HFILL
} },
13331 { &hf_lbmc_topic_md_interest_domain_count
,
13332 { "Domain Count", "lbmc.topic_md_interest.domain_count", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13333 { &hf_lbmc_topic_md_interest_res1
,
13334 { "Reserved", "lbmc.topic_md_interest.res1", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13335 { &hf_lbmc_topic_md_interest_domain_id
,
13336 { "Domain ID", "lbmc.topic_md_interest.domain_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13337 { &hf_lbmc_pattern_md_interest
,
13338 { "Pattern Multi-Domain Interest", "lbmc.pattern_md_interest", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13339 { &hf_lbmc_pattern_md_interest_next_hdr
,
13340 { "Next Header", "lbmc.pattern_md_interest.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13341 { &hf_lbmc_pattern_md_interest_hdr_len
,
13342 { "Header Length", "lbmc.pattern_md_interest.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13343 { &hf_lbmc_pattern_md_interest_flags
,
13344 { "Flags", "lbmc.pattern_md_interest.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13345 { &hf_lbmc_pattern_md_interest_flags_ignore
,
13346 { "Ignore", "lbmc.pattern_md_interest.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13347 { &hf_lbmc_pattern_md_interest_flags_cancel
,
13348 { "Cancel", "lbmc.pattern_md_interest.flags.cancel", FT_BOOLEAN
, L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_PATTERN_INTEREST_CANCEL_FLAG
, "Set if cancelling interest", HFILL
} },
13349 { &hf_lbmc_pattern_md_interest_flags_refresh
,
13350 { "Refresh", "lbmc.pattern_md_interest.flags.refresh", FT_BOOLEAN
, L_LBMC_CNTL_PATTERN_MD_INTEREST_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_PATTERN_INTEREST_REFRESH_FLAG
, "Set if refreshing interest", HFILL
} },
13351 { &hf_lbmc_pattern_md_interest_type
,
13352 { "Type", "lbmc.pattern_md_interest.type", FT_UINT8
, BASE_DEC_HEX
, VALS(lbm_wildcard_pattern_type
), 0x0, NULL
, HFILL
} },
13353 { &hf_lbmc_pattern_md_interest_domain_count
,
13354 { "Domain Count", "lbmc.pattern_md_interest.domain_count", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13355 { &hf_lbmc_pattern_md_interest_res1
,
13356 { "Reserved", "lbmc.pattern_md_interest.res1", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13357 { &hf_lbmc_pattern_md_interest_index
,
13358 { "Index", "lbmc.pattern_md_interest.index", FT_INT64
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13359 { &hf_lbmc_pattern_md_interest_domain_id
,
13360 { "Domain ID", "lbmc.pattern_md_interest.domain_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13361 { &hf_lbmc_lji_req
,
13362 { "Late Join Information Request", "lbmc.lji_req", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13363 { &hf_lbmc_lji_req_next_hdr
,
13364 { "Next Header", "lbmc.lji_req.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13365 { &hf_lbmc_lji_req_hdr_len
,
13366 { "Header Length", "lbmc.lji_req.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13367 { &hf_lbmc_lji_req_flags
,
13368 { "Flags", "lbmc.lji_req.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13369 { &hf_lbmc_lji_req_flags_ignore
,
13370 { "Ignore", "lbmc.lji_req.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_LJI_REQ_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13371 { &hf_lbmc_lji_req_flags_l_flag
,
13372 { "Low SQN Present", "lbmc.lji_req.flags.l_flag", FT_BOOLEAN
, L_LBMC_CNTL_LJI_REQ_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_LJI_REQ_L_FLAG
, "Set if low SQN present", HFILL
} },
13373 { &hf_lbmc_lji_req_flags_m_flag
,
13374 { "RX Request Max Present", "lbmc.lji_req.flags.m_flag", FT_BOOLEAN
, L_LBMC_CNTL_LJI_REQ_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_LJI_REQ_M_FLAG
, "Set if RX request max present", HFILL
} },
13375 { &hf_lbmc_lji_req_flags_o_flag
,
13376 { "RX Request Outstanding Max Present", "lbmc.lji_req.flags.o_flag", FT_BOOLEAN
, L_LBMC_CNTL_LJI_REQ_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_LJI_REQ_O_FLAG
, "Set if outstanding RX request max present", HFILL
} },
13377 { &hf_lbmc_lji_req_request_idx
,
13378 { "Request Index", "lbmc.lji_req.request_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13379 { &hf_lbmc_lji_req_transport_idx
,
13380 { "Transport Index", "lbmc.lji_req.transport_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13381 { &hf_lbmc_lji_req_topic_idx
,
13382 { "Topic Index", "lbmc.lji_req.topic_idx", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13383 { &hf_lbmc_lji_req_req_ip
,
13384 { "Request IP", "lbmc.lji_req.req_ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13385 { &hf_lbmc_lji_req_req_port
,
13386 { "Request Port", "lbmc.lji_req.req_port", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13387 { &hf_lbmc_lji_req_res
,
13388 { "Reserved", "lbmc.lji_req.res", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13389 { &hf_lbmc_lji_req_tx_low_sqn
,
13390 { "Transmitted Low SQN", "lbmc.lji_req.tx_low_sqn", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13391 { &hf_lbmc_lji_req_rx_req_max
,
13392 { "Maximum RX Requests", "lbmc.lji_req.rx_req_max", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13393 { &hf_lbmc_lji_req_rx_req_outstanding_max
,
13394 { "Maximum Outstanding RX Requests", "lbmc.lji_req.rx_req_outstanding_max", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13395 { &hf_lbmc_tnwg_ka
,
13396 { "TNWG Keepalive", "lbmc.tnwg_ka", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13397 { &hf_lbmc_tnwg_ka_next_hdr
,
13398 { "Next Header", "lbmc.tnwg_ka.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13399 { &hf_lbmc_tnwg_ka_hdr_len
,
13400 { "Header Length", "lbmc.tnwg_ka.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13401 { &hf_lbmc_tnwg_ka_flags
,
13402 { "Flags", "lbmc.tnwg_ka.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13403 { &hf_lbmc_tnwg_ka_flags_ignore
,
13404 { "Ignore", "lbmc.tnwg_ka.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_TNWG_KA_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13405 { &hf_lbmc_tnwg_ka_flags_q_flag
,
13406 { "Query", "lbmc.tnwg_ka.flags.q_flag", FT_BOOLEAN
, L_LBMC_CNTL_TNWG_KA_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CNTL_TNWG_KA_Q_FLAG
, "Set if a keepalive query", HFILL
} },
13407 { &hf_lbmc_tnwg_ka_flags_r_flag
,
13408 { "Response", "lbmc.tnwg_ka.flags.r_flag", FT_BOOLEAN
, L_LBMC_CNTL_TNWG_KA_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_CNTL_TNWG_KA_R_FLAG
, "Set if a keepalive response", HFILL
} },
13409 { &hf_lbmc_tnwg_ka_index
,
13410 { "Index", "lbmc.tnwg_ka.index", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13411 { &hf_lbmc_tnwg_ka_ts_seconds
,
13412 { "TS Seconds", "lbmc.tnwg_ka.ts_seconds", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13413 { &hf_lbmc_tnwg_ka_ts_microseconds
,
13414 { "TS Microseconds", "lbmc.tnwg_ka.ts_microseconds", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13415 { &hf_lbmc_tnwg_ka_reserved_1
,
13416 { "Reserved 1", "lbmc.tnwg_ka.reserved_1", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13417 { &hf_lbmc_tnwg_ka_reserved_2
,
13418 { "Reserved 2", "lbmc.tnwg_ka.reserved_2", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13419 { &hf_lbmc_tnwg_ka_reserved_3
,
13420 { "Reserved 3", "lbmc.tnwg_ka.reserved_3", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13421 { &hf_lbmc_tnwg_ka_reserved_4
,
13422 { "Reserved 4", "lbmc.tnwg_ka.reserved_4", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13423 { &hf_lbmc_tnwg_ka_reserved_5
,
13424 { "Reserved 5", "lbmc.tnwg_ka.reserved_5", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13425 { &hf_lbmc_tnwg_ka_reserved_6
,
13426 { "Reserved 6", "lbmc.tnwg_ka.reserved_6", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13427 { &hf_lbmc_ume_receiver_keepalive
,
13428 { "UME Receiver Keepalive", "lbmc.ume_receiver_keepalive", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13429 { &hf_lbmc_ume_receiver_keepalive_next_hdr
,
13430 { "Next Header", "lbmc.ume_receiver_keepalive.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13431 { &hf_lbmc_ume_receiver_keepalive_hdr_len
,
13432 { "Header Length", "lbmc.ume_receiver_keepalive.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13433 { &hf_lbmc_ume_receiver_keepalive_flags
,
13434 { "Flags", "lbmc.ume_receiver_keepalive.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13435 { &hf_lbmc_ume_receiver_keepalive_flags_ignore
,
13436 { "Ignore", "lbmc.ume_receiver_keepalive.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_RECEIVER_KEEPALIVE_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13437 { &hf_lbmc_ume_receiver_keepalive_rcv_regid
,
13438 { "Receiver RegID", "lbmc.ume_receiver_keepalive.rcv_regid", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13439 { &hf_lbmc_ume_receiver_keepalive_session_id
,
13440 { "Session ID", "lbmc.ume_receiver_keepalive.session_id", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13441 { &hf_lbmc_ume_receiver_keepalive_ctxinst
,
13442 { "Context Instance", "lbmc.ume_receiver_keepalive.ctxinst", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13443 { &hf_lbmc_umq_cmd
,
13444 { "UMQ Command", "lbmc.umq_cmd", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13445 { &hf_lbmc_umq_cmd_next_hdr
,
13446 { "Next Header", "lbmc.umq_cmd.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13447 { &hf_lbmc_umq_cmd_hdr_len
,
13448 { "Header Length", "lbmc.umq_cmd.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13449 { &hf_lbmc_umq_cmd_flags
,
13450 { "Flags", "lbmc.umq_cmd.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13451 { &hf_lbmc_umq_cmd_flags_ignore
,
13452 { "Ignore", "lbmc.umq_cmd.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_CMD_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13453 { &hf_lbmc_umq_cmd_cmd_type
,
13454 { "Command", "lbmc.umq_cmd.cmd_type", FT_UINT8
, BASE_DEC
, VALS(lbmc_umq_cmd_type
), 0x0, NULL
, HFILL
} },
13455 { &hf_lbmc_umq_cmd_queue_id
,
13456 { "Queue ID", "lbmc.umq_cmd.queue_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13457 { &hf_lbmc_umq_cmd_cmd_id
,
13458 { "Command ID", "lbmc.umq_cmd.cmd_id", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13459 { &hf_lbmc_umq_cmd_inst_idx
,
13460 { "Instance index", "lbmc.umq_cmd.inst_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13461 { &hf_lbmc_umq_cmd_regid
,
13462 { "Reg ID", "lbmc.umq_cmd.regid", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13463 { &hf_lbmc_umq_cmd_topic_list
,
13464 { "Topic List", "lbmc.umq_cmd.topic_list", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13465 { &hf_lbmc_umq_cmd_topic_list_serial_num
,
13466 { "Serial number", "lbmc.umq_cmd.topic_list.serial_num", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13467 { &hf_lbmc_umq_cmd_msg_retrieve
,
13468 { "Message Retrieve", "lbmc.umq_cmd.msg_retrieve", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13469 { &hf_lbmc_umq_cmd_msg_retrieve_rcr_idx
,
13470 { "RCR Index", "lbmc.umq_cmd.msg_retrieve.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13471 { &hf_lbmc_umq_cmd_msg_retrieve_assign_id
,
13472 { "Assignment ID", "lbmc.umq_cmd.msg_retrieve.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13473 { &hf_lbmc_umq_cmd_msg_retrieve_info_only
,
13474 { "Info Only", "lbmc.umq_cmd.msg_retrieve.info_only", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13475 { &hf_lbmc_umq_cmd_msg_retrieve_num_msgids
,
13476 { "Number of Message IDs", "lbmc.umq_cmd.msg_retrieve.num_msgids", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13477 { &hf_lbmc_umq_cmd_msg_retrieve_flags
,
13478 { "Flags", "lbmc.umq_cmd.msg_retrieve.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13479 { &hf_lbmc_umq_cmd_msg_retrieve_entry
,
13480 { "Message Retrieve Entry", "lbmc.umq_cmd.msg_retrieve.entry", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13481 { &hf_lbmc_umq_cmd_msg_retrieve_entry_regid
,
13482 { "Reg ID", "lbmc.umq_cmd.msg_retrieve.entry.regid", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13483 { &hf_lbmc_umq_cmd_msg_retrieve_entry_stamp
,
13484 { "Stamp", "lbmc.umq_cmd.msg_retrieve.entry.stamp", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13485 { &hf_lbmc_umq_cmd_msg_list
,
13486 { "Message List", "lbmc.umq_cmd.msg_list", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13487 { &hf_lbmc_umq_cmd_msg_list_rcr_idx
,
13488 { "RCR Index", "lbmc.umq_cmd.msg_list.rcr_idx", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13489 { &hf_lbmc_umq_cmd_msg_list_assign_id
,
13490 { "Assign ID", "lbmc.umq_cmd.msg_list.assign_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13491 { &hf_lbmc_umq_cmd_resp
,
13492 { "UMQ Command Response", "lbmc.umq_cmd_resp", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13493 { &hf_lbmc_umq_cmd_resp_next_hdr
,
13494 { "Next Header", "lbmc.umq_cmd_resp.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13495 { &hf_lbmc_umq_cmd_resp_hdr_len
,
13496 { "Header Length", "lbmc.umq_cmd_resp.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13497 { &hf_lbmc_umq_cmd_resp_flags
,
13498 { "Flags", "lbmc.umq_cmd_resp.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13499 { &hf_lbmc_umq_cmd_resp_flags_ignore
,
13500 { "Ignore", "lbmc.umq_cmd_resp.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_CMD_RESP_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13501 { &hf_lbmc_umq_cmd_resp_resp_type
,
13502 { "Response", "lbmc.umq_cmd_resp.resp_type", FT_UINT8
, BASE_DEC
, VALS(lbmc_umq_cmd_response_type
), 0x0, NULL
, HFILL
} },
13503 { &hf_lbmc_umq_cmd_resp_queue_id
,
13504 { "Queue ID", "lbmc.umq_cmd_resp.queue_id", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13505 { &hf_lbmc_umq_cmd_resp_cmd_id
,
13506 { "Command ID", "lbmc.umq_cmd_resp.cmd_id", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13507 { &hf_lbmc_umq_cmd_resp_inst_idx
,
13508 { "Instance index", "lbmc.umq_cmd_resp.inst_idx", FT_UINT16
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13509 { &hf_lbmc_umq_cmd_resp_regid
,
13510 { "Reg ID", "lbmc.umq_cmd_resp.regid", FT_UINT64
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13511 { &hf_lbmc_umq_cmd_resp_msg_retrieve
,
13512 { "Message Retrieve", "lbmc.umq_cmd_resp.msg_retrieve", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13513 { &hf_lbmc_umq_cmd_resp_msg_retrieve_rcr_idx
,
13514 { "RCR Index", "lbmc.umq_cmd_resp.msg_retrieve.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13515 { &hf_lbmc_umq_cmd_resp_msg_retrieve_assign_id
,
13516 { "Assignment ID", "lbmc.umq_cmd_resp.msg_retrieve.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13517 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve
,
13518 { "Message Retrieve", "lbmc.umq_cmd_resp.xmsg_retrieve", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13519 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve_num_msgs
,
13520 { "Number of Messages", "lbmc.umq_cmd_resp.xmsg_retrieve.num_msgs", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13521 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve_flags
,
13522 { "Flags", "lbmc.umq_cmd_resp.xmsg_retrieve.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13523 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve_reserved
,
13524 { "Reserved", "lbmc.umq_cmd_resp.xmsg_retrieve.reserved", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13525 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry
,
13526 { "Message", "lbmc.umq_cmd_resp.xmsg_retrieve.entry", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13527 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_regid
,
13528 { "Reg ID", "lbmc.umq_cmd_resp.xmsg_retrieve.entry.regid", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13529 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_stamp
,
13530 { "Stamp", "lbmc.umq_cmd_resp.xmsg_retrieve.entry.stamp", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13531 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_assign_id
,
13532 { "Assignment ID", "lbmc.umq_cmd_resp.xmsg_retrieve.entry.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13533 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_num_ras
,
13534 { "Number of Reassignments", "lbmc.umq_cmd_resp.xmsg_retrieve.entry.num_ras", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13535 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_status
,
13536 { "Status", "lbmc.umq_cmd_resp.xmsg_retrieve.entry.status", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_umq_msg_status_code
), 0x0, NULL
, HFILL
} },
13537 { &hf_lbmc_umq_cmd_resp_xmsg_retrieve_entry_reserved
,
13538 { "Reserved", "lbmc.umq_cmd_resp.xmsg_retrieve.entry.reserved", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13539 { &hf_lbmc_umq_cmd_resp_msg_list
,
13540 { "Message List", "lbmc.umq_cmd_resp.msg_list", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13541 { &hf_lbmc_umq_cmd_resp_msg_list_rcr_idx
,
13542 { "RCR Index", "lbmc.umq_cmd_resp.msg_list.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13543 { &hf_lbmc_umq_cmd_resp_msg_list_assign_id
,
13544 { "Assignment ID", "lbmc.umq_cmd_resp.msg_list.assign_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13545 { &hf_lbmc_umq_cmd_resp_xmsg_list
,
13546 { "Message List", "lbmc.umq_cmd_resp.xmsg_list", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13547 { &hf_lbmc_umq_cmd_resp_xmsg_list_num_msgs
,
13548 { "Number of Messages", "lbmc.umq_cmd_resp.xmsg_list.num_msgs", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13549 { &hf_lbmc_umq_cmd_resp_xmsg_list_entry
,
13550 { "Message", "lbmc.umq_cmd_resp.xmsg_list.entry", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13551 { &hf_lbmc_umq_cmd_resp_xmsg_list_entry_regid
,
13552 { "Reg ID", "lbmc.umq_cmd_resp.xmsg_list.entry.regid", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13553 { &hf_lbmc_umq_cmd_resp_xmsg_list_entry_stamp
,
13554 { "Stamp", "lbmc.umq_cmd_resp.xmsg_list.entry.stamp", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13555 { &hf_lbmc_umq_cmd_resp_topic_list
,
13556 { "Topic List", "lbmc.umq_cmd_resp.topic_list", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13557 { &hf_lbmc_umq_cmd_resp_topic_list_num_topics
,
13558 { "Number of Topics", "lbmc.umq_cmd_resp.topic_list.num_topics", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13559 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry
,
13560 { "Topic List Entry", "lbmc.umq_cmd_resp.topic_list.topic_entry", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13561 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_rcr_idx
,
13562 { "RCR Index", "lbmc.umq_cmd_resp.topic_list.topic_entry.rcr_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13563 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_num_appsets
,
13564 { "Number of AppSets", "lbmc.umq_cmd_resp.topic_list.topic_entry.num_appsets", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13565 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_topic_len
,
13566 { "Topic Length", "lbmc.umq_cmd_resp.topic_list.topic_entry.topic_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13567 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_reserved
,
13568 { "Reserved", "lbmc.umq_cmd_resp.topic_list.topic_entry.reserved", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13569 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_topic
,
13570 { "Topic", "lbmc.umq_cmd_resp.topic_list.topic_entry.topic", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13571 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry
,
13572 { "Appset Entry", "lbmc.umq_cmd_resp.topic_list.topic_entry.appset_entry", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13573 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_num_receiver_type_ids
,
13574 { "Number of Receiver Type IDs", "lbmc.umq_cmd_resp.topic_list.topic_entry.appset_entry.num_receiver_type_ids", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13575 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_appset_idx
,
13576 { "AppSet Index", "lbmc.umq_cmd_resp.topic_list.topic_entry.appset_entry.appset_idx", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13577 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_appset_name_len
,
13578 { "AppSet Name Length", "lbmc.umq_cmd_resp.topic_list.topic_entry.appset_entry.appset_name_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13579 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_reserved
,
13580 { "Reserved", "lbmc.umq_cmd_resp.topic_list.topic_entry.appset_entry.reserved", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13581 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_name
,
13582 { "AppSet Name", "lbmc.umq_cmd_resp.topic_list.topic_entry.appset_entry.name", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13583 { &hf_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry_receiver_type_id
,
13584 { "Receiver Type ID", "lbmc.umq_cmd_resp.topic_list.topic_entry.appset_entry.receiver_type_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13585 { &hf_lbmc_umq_cmd_resp_err
,
13586 { "Error", "lbmc.umq_cmd_resp.error", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13587 { &hf_lbmc_umq_cmd_resp_err_reserved
,
13588 { "Reserved", "lbmc.umq_cmd_resp.error.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13589 { &hf_lbmc_umq_cmd_resp_err_code
,
13590 { "Code", "lbmc.umq_cmd_resp.error.code", FT_UINT16
, BASE_DEC_HEX
, VALS(lbmc_umq_cmd_response_error_code
), 0x0, NULL
, HFILL
} },
13591 { &hf_lbmc_umq_cmd_resp_err_errmsg
,
13592 { "Error Message", "lbmc.umq_cmd_resp.error.errmsg", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13593 { &hf_lbmc_sri_req
,
13594 { "Source Registration Information Request", "lbmc.sri_req", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13595 { &hf_lbmc_sri_req_next_hdr
,
13596 { "Next Header", "lbmc.sri_req.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13597 { &hf_lbmc_sri_req_hdr_len
,
13598 { "Header Length", "lbmc.sri_req.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13599 { &hf_lbmc_sri_req_flags
,
13600 { "Flags", "lbmc.sri_req.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13601 { &hf_lbmc_sri_req_flags_ignore
,
13602 { "Ignore", "lbmc.sri_req.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_SRI_REQ_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13603 { &hf_lbmc_sri_req_transport_idx
,
13604 { "Transport Index", "lbmc.sri_req.transport_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13605 { &hf_lbmc_sri_req_topic_idx
,
13606 { "Topic Index", "lbmc.sri_req.topic_idx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13607 { &hf_lbmc_ume_store_domain
,
13608 { "UME Store Domain", "lbmc.ume_store_domain", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13609 { &hf_lbmc_ume_store_domain_next_hdr
,
13610 { "Next Header", "lbmc.ume_store_domain.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13611 { &hf_lbmc_ume_store_domain_hdr_len
,
13612 { "Header Length", "lbmc.ume_store_domain.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13613 { &hf_lbmc_ume_store_domain_flags
,
13614 { "Flags", "lbmc.ume_store_domain.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13615 { &hf_lbmc_ume_store_domain_flags_ignore
,
13616 { "Ignore", "lbmc.ume_store_domain.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_STORE_DOMAIN_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13617 { &hf_lbmc_ume_store_domain_domain
,
13618 { "Domain ID", "lbmc.ume_store_domain.domain", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13620 { "Source Registration Information", "lbmc.sri", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13621 { &hf_lbmc_sri_next_hdr
,
13622 { "Next Header", "lbmc.sri.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13623 { &hf_lbmc_sri_hdr_len
,
13624 { "Header Length", "lbmc.sri.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13625 { &hf_lbmc_sri_flags
,
13626 { "Flags", "lbmc.sri.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13627 { &hf_lbmc_sri_flags_ignore
,
13628 { "Ignore", "lbmc.sri.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_SRI_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13629 { &hf_lbmc_sri_flags_acktosrc
,
13630 { "ACK to Source", "lbmc.sri.flags.acktosrc", FT_BOOLEAN
, L_LBMC_CNTL_SRI_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_SRI_A_FLAG
, "If set ACKs are sent to source", HFILL
} },
13631 { &hf_lbmc_sri_flags_initial_sqn_known
,
13632 { "Initial SQN Known", "lbmc.sri.flags.initial_sqn_known", FT_BOOLEAN
, L_LBMC_CNTL_SRI_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_SRI_INITIAL_SQN_KNOWN_FLAG
, "If set, initial SQN is known", HFILL
} },
13633 { &hf_lbmc_sri_version
,
13634 { "Version", "lbmc.sri.version", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13635 { &hf_lbmc_sri_low_sqn
,
13636 { "Low Sequence Number", "lbmc.sri.low_sqn", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13637 { &hf_lbmc_sri_high_sqn
,
13638 { "High Sequence Number", "lbmc.sri.high_sqn", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13639 { &hf_lbmc_route_info
,
13640 { "Route Information", "lbmc.route_info", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13641 { &hf_lbmc_route_info_next_hdr
,
13642 { "Next Header", "lbmc.route_info.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13643 { &hf_lbmc_route_info_hdr_len
,
13644 { "Header Length", "lbmc.route_info.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13645 { &hf_lbmc_route_info_flags
,
13646 { "Flags", "lbmc.route_info.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13647 { &hf_lbmc_route_info_flags_ignore
,
13648 { "Ignore", "lbmc.route_info.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_ROUTE_INFO_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13649 { &hf_lbmc_route_info_gateway_version
,
13650 { "Gateway Version", "lbmc.route_info.gateway_version", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13651 { &hf_lbmc_route_info_configuration_signature
,
13652 { "Configuration Signature", "lbmc.route_info.configuration_signature", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13653 { &hf_lbmc_route_info_node_id
,
13654 { "Node ID", "lbmc.route_info.node_id", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13655 { &hf_lbmc_route_info_topology
,
13656 { "Topology", "lbmc.route_info.topology", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13657 { &hf_lbmc_route_info_vers
,
13658 { "Version", "lbmc.route_info.vers", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13659 { &hf_lbmc_route_info_sqn
,
13660 { "SQN", "lbmc.route_info.sqn", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13661 { &hf_lbmc_route_info_ttl
,
13662 { "TTL", "lbmc.route_info.ttl", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13663 { &hf_lbmc_route_info_reserved1
,
13664 { "Reserved1", "lbmc.route_info.reserved1", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13665 { &hf_lbmc_route_info_reserved2
,
13666 { "Reserved2", "lbmc.route_info.reserved2", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13667 { &hf_lbmc_route_info_neighbor
,
13668 { "Route Information Neighbor", "lbmc.route_info_neighbor", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13669 { &hf_lbmc_route_info_neighbor_next_hdr
,
13670 { "Next Header", "lbmc.route_info_neighbor.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13671 { &hf_lbmc_route_info_neighbor_hdr_len
,
13672 { "Header Length", "lbmc.route_info_neighbor.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13673 { &hf_lbmc_route_info_neighbor_flags
,
13674 { "Flags", "lbmc.route_info_neighbor.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13675 { &hf_lbmc_route_info_neighbor_flags_ignore
,
13676 { "Ignore", "lbmc.route_info_neighbor.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_ROUTE_INFO_NEIGHBOR_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13677 { &hf_lbmc_route_info_neighbor_node_id
,
13678 { "Node ID", "lbmc.route_info_neighbor.node_id", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13679 { &hf_lbmc_route_info_neighbor_ingress_cost
,
13680 { "Ingress Cost", "lbmc.route_info_neighbor.ingress_cost", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13681 { &hf_lbmc_route_info_neighbor_egress_cost
,
13682 { "Egress Cost", "lbmc.route_info_neighbor.egress_cost", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13683 { &hf_lbmc_gateway_name
,
13684 { "Gateway Name", "lbmc.gateway_name", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13685 { &hf_lbmc_gateway_name_next_hdr
,
13686 { "Next Header", "lbmc.gateway_name.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13687 { &hf_lbmc_gateway_name_hdr_len
,
13688 { "Header Length", "lbmc.gateway_name.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13689 { &hf_lbmc_gateway_name_flags
,
13690 { "Flags", "lbmc.gateway_name.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13691 { &hf_lbmc_gateway_name_flags_ignore
,
13692 { "Ignore", "lbmc.gateway_name.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_GATEWAY_NAME_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13693 { &hf_lbmc_gateway_name_gateway_name
,
13694 { "Gateway Name", "lbmc.gateway_name.gateway_name", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13695 { &hf_lbmc_auth_request
,
13696 { "Authentication Request", "lbmc.auth_request", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13697 { &hf_lbmc_auth_request_next_hdr
,
13698 { "Next Header", "lbmc.auth_request.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13699 { &hf_lbmc_auth_request_hdr_len
,
13700 { "Header Length", "lbmc.auth_request.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13701 { &hf_lbmc_auth_request_flags
,
13702 { "Flags", "lbmc.auth_request.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13703 { &hf_lbmc_auth_request_flags_ignore
,
13704 { "Ignore", "lbmc.auth_request.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_AUTH_REQUEST_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13705 { &hf_lbmc_auth_request_opid
,
13706 { "Operation ID", "lbmc.auth_request.opid", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_auth_operation_id_type
), 0x0, NULL
, HFILL
} },
13707 { &hf_lbmc_auth_request_user_len
,
13708 { "User Length", "lbmc.auth_request.user_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13709 { &hf_lbmc_auth_request_user_name
,
13710 { "User Name", "lbmc.auth_request.user_name", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13711 { &hf_lbmc_auth_challenge
,
13712 { "Authentication Challenge", "lbmc.auth_challenge", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13713 { &hf_lbmc_auth_challenge_next_hdr
,
13714 { "Next Header", "lbmc.auth_challenge.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13715 { &hf_lbmc_auth_challenge_hdr_len
,
13716 { "Header Length", "lbmc.auth_challenge.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13717 { &hf_lbmc_auth_challenge_flags
,
13718 { "Flags", "lbmc.auth_challenge.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13719 { &hf_lbmc_auth_challenge_flags_ignore
,
13720 { "Ignore", "lbmc.auth_challenge.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_AUTH_CHALLENGE_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13721 { &hf_lbmc_auth_challenge_opid
,
13722 { "Operation ID", "lbmc.auth_challenge.opid", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_auth_operation_id_type
), 0x0, NULL
, HFILL
} },
13723 { &hf_lbmc_auth_challenge_mod_len
,
13724 { "Mod Length", "lbmc.auth_challenge.mod_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13725 { &hf_lbmc_auth_challenge_gen_len
,
13726 { "Gen Length", "lbmc.auth_challenge.gen_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13727 { &hf_lbmc_auth_challenge_salt_len
,
13728 { "Salt Length", "lbmc.auth_challenge.salt_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13729 { &hf_lbmc_auth_challenge_pubkey_len
,
13730 { "Pubkey Length", "lbmc.auth_challenge.pubkey_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13731 { &hf_lbmc_auth_challenge_mod
,
13732 { "Mod", "lbmc.auth_challenge.mod", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13733 { &hf_lbmc_auth_challenge_gen
,
13734 { "Gen", "lbmc.auth_challenge.gen", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13735 { &hf_lbmc_auth_challenge_salt
,
13736 { "Salt", "lbmc.auth_challenge.salt", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13737 { &hf_lbmc_auth_challenge_pubkey
,
13738 { "Pubkey", "lbmc.auth_challenge.pubkey", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13739 { &hf_lbmc_auth_challenge_rsp
,
13740 { "Authentication Challenge Response", "lbmc.auth_challenge_rsp", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13741 { &hf_lbmc_auth_challenge_rsp_next_hdr
,
13742 { "Next Header", "lbmc.auth_challenge_rsp.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13743 { &hf_lbmc_auth_challenge_rsp_hdr_len
,
13744 { "Header Length", "lbmc.auth_challenge_rsp.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13745 { &hf_lbmc_auth_challenge_rsp_flags
,
13746 { "Flags", "lbmc.auth_challenge_rsp.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13747 { &hf_lbmc_auth_challenge_rsp_flags_ignore
,
13748 { "Ignore", "lbmc.auth_challenge_rsp.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_AUTH_CHALLENGE_RSP_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13749 { &hf_lbmc_auth_challenge_rsp_opid
,
13750 { "Operation ID", "lbmc.auth_challenge_rsp.opid", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_auth_operation_id_type
), 0x0, NULL
, HFILL
} },
13751 { &hf_lbmc_auth_challenge_rsp_pubkey_len
,
13752 { "Pubkey Length", "lbmc.auth_challenge_rsp.pubkey_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13753 { &hf_lbmc_auth_challenge_rsp_evidence_len
,
13754 { "Evidence Length", "lbmc.auth_challenge_rsp.evidence_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13755 { &hf_lbmc_auth_challenge_rsp_pubkey
,
13756 { "Pubkey", "lbmc.auth_challenge_rsp.pubkey", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13757 { &hf_lbmc_auth_challenge_rsp_evidence
,
13758 { "Evidence", "lbmc.auth_challenge_rsp.evidence", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13759 { &hf_lbmc_auth_result
,
13760 { "Authentication Result", "lbmc.auth_result", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13761 { &hf_lbmc_auth_result_next_hdr
,
13762 { "Next Header", "lbmc.auth_result.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13763 { &hf_lbmc_auth_result_hdr_len
,
13764 { "Header Length", "lbmc.auth_result.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13765 { &hf_lbmc_auth_result_flags
,
13766 { "Flags", "lbmc.auth_result.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13767 { &hf_lbmc_auth_result_flags_ignore
,
13768 { "Ignore", "lbmc.auth_result.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_AUTH_RESULT_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13769 { &hf_lbmc_auth_result_opid
,
13770 { "Operation ID", "lbmc.auth_result.opid", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_auth_operation_id_type
), 0x0, NULL
, HFILL
} },
13771 { &hf_lbmc_auth_result_result
,
13772 { "Result", "lbmc.auth_result.result", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13773 { &hf_lbmc_auth_unknown
,
13774 { "Unknown Authentication Header", "lbmc.auth_unknown", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13775 { &hf_lbmc_auth_unknown_next_hdr
,
13776 { "Next Header", "lbmc.auth_unknown.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13777 { &hf_lbmc_auth_unknown_hdr_len
,
13778 { "Header Length", "lbmc.auth_unknown.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13779 { &hf_lbmc_auth_unknown_flags
,
13780 { "Flags", "lbmc.auth_unknown.flags", FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13781 { &hf_lbmc_auth_unknown_opid
,
13782 { "Operation ID", "lbmc.auth_unknown.opid", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_auth_operation_id_type
), 0x0, NULL
, HFILL
} },
13783 { &hf_lbmc_auth_unknown_data
,
13784 { "Data", "lbmc.auth_unknown.data", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13786 { "HMAC", "lbmc.hmac", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13787 { &hf_lbmc_hmac_next_hdr
,
13788 { "Next Header", "lbmc.hmac.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13789 { &hf_lbmc_hmac_hdr_len
,
13790 { "Header Length", "lbmc.hmac.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13791 { &hf_lbmc_hmac_flags
,
13792 { "Flags", "lbmc.hmac.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13793 { &hf_lbmc_hmac_flags_ignore
,
13794 { "Ignore", "lbmc.hmac.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_HMAC_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13795 { &hf_lbmc_hmac_padding
,
13796 { "Padding", "lbmc.hmac.padding", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13797 { &hf_lbmc_hmac_data
,
13798 { "Data", "lbmc.hmac.data", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13799 { &hf_lbmc_umq_sid
,
13800 { "UMQ Session ID", "lbmc.umq_sid", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13801 { &hf_lbmc_umq_sid_next_hdr
,
13802 { "Next Header", "lbmc.umq_sid.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13803 { &hf_lbmc_umq_sid_hdr_len
,
13804 { "Header Length", "lbmc.umq_sid.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13805 { &hf_lbmc_umq_sid_flags
,
13806 { "Flags", "lbmc.umq_sid.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13807 { &hf_lbmc_umq_sid_flags_ignore
,
13808 { "Ignore", "lbmc.umq_sid.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UMQ_SID_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13809 { &hf_lbmc_umq_sid_key
,
13810 { "Key", "lbmc.umq_sid.key", FT_UINT32
, BASE_HEX_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13811 { &hf_lbmc_umq_sid_sid
,
13812 { "SID", "lbmc.umq_sid.sid", FT_UINT64
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13813 { &hf_lbmc_destination
,
13814 { "Destination", "lbmc.destination", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13815 { &hf_lbmc_destination_next_hdr
,
13816 { "Next Header", "lbmc.destination.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13817 { &hf_lbmc_destination_hdr_len
,
13818 { "Header Length", "lbmc.destination.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13819 { &hf_lbmc_destination_flags
,
13820 { "Flags", "lbmc.destination.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13821 { &hf_lbmc_destination_flags_ignore
,
13822 { "Ignore", "lbmc.destination.flags.ignore", FT_BOOLEAN
, L_LBMC_DESTINATION_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13823 { &hf_lbmc_destination_domain_id
,
13824 { "Domain ID", "lbmc.destination.domain_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13825 { &hf_lbmc_destination_ipaddr
,
13826 { "IP Address", "lbmc.destination.ipaddr", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13827 { &hf_lbmc_destination_port
,
13828 { "Port", "lbmc.destination.port", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13829 { &hf_lbmc_destination_hops_taken
,
13830 { "Hops Taken", "lbmc.destination.hops_taken", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13831 { &hf_lbmc_destination_orig_domain_id
,
13832 { "Originating Domain ID", "lbmc.destination.orig_domain_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13833 { &hf_lbmc_destination_orig_ipaddr
,
13834 { "Originating IP Address", "lbmc.destination.orig_ipaddr", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13835 { &hf_lbmc_destination_orig_port
,
13836 { "Originating Port", "lbmc.destination.orig_port", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13837 { &hf_lbmc_destination_reserved
,
13838 { "Reserved", "lbmc.destination.reserved", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13839 { &hf_lbmc_topic_idx
,
13840 { "Topic Index", "lbmc.topic_idx", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13841 { &hf_lbmc_topic_idx_next_hdr
,
13842 { "Next Header", "lbmc.topic_idx.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13843 { &hf_lbmc_topic_idx_hdr_len
,
13844 { "Header Length", "lbmc.topic_idx.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13845 { &hf_lbmc_topic_idx_flags
,
13846 { "Flags", "lbmc.topic_idx.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13847 { &hf_lbmc_topic_idx_flags_ignore
,
13848 { "Ignore", "lbmc.topic_idx.flags.ignore", FT_BOOLEAN
, L_LBMC_TOPIC_IDX_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE_CHAR
, NULL
, HFILL
} },
13849 { &hf_lbmc_topic_idx_tidx
,
13850 { "Topic Index", "lbmc.topic_idx.tidx", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13851 { &hf_lbmc_topic_source
,
13852 { "Topic Source", "lbmc.topic_source", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13853 { &hf_lbmc_topic_source_next_hdr
,
13854 { "Next Header", "lbmc.topic_source.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13855 { &hf_lbmc_topic_source_hdr_len
,
13856 { "Header Length", "lbmc.topic_source.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13857 { &hf_lbmc_topic_source_flags
,
13858 { "Flags", "lbmc.topic_source.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13859 { &hf_lbmc_topic_source_flags_ignore
,
13860 { "Ignore", "lbmc.topic_source.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_SOURCE_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13861 { &hf_lbmc_topic_source_flags_eos
,
13862 { "End of Stream", "lbmc.topic_source.flags.eos", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_SOURCE_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_TOPIC_SOURCE_EOS_FLAG
, NULL
, HFILL
} },
13863 { &hf_lbmc_topic_source_domain_id
,
13864 { "Domain ID", "lbmc.topic_source.domain_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13865 { &hf_lbmc_topic_source_exfunc
,
13866 { "Topic Source Extended Functionality", "lbmc.topic_source_exfunc", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13867 { &hf_lbmc_topic_source_exfunc_next_hdr
,
13868 { "Next Header", "lbmc.topic_source_exfunc.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13869 { &hf_lbmc_topic_source_exfunc_hdr_len
,
13870 { "Header Length", "lbmc.topic_source_exfunc.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13871 { &hf_lbmc_topic_source_exfunc_flags
,
13872 { "Flags", "lbmc.topic_source_exfunc.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13873 { &hf_lbmc_topic_source_exfunc_flags_ignore
,
13874 { "Ignore", "lbmc.topic_source_exfunc.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13875 { &hf_lbmc_topic_source_exfunc_src_ip
,
13876 { "Source Address", "lbmc.topic_source_exfunc.src_ip", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13877 { &hf_lbmc_topic_source_exfunc_src_port
,
13878 { "Source Port", "lbmc.topic_source_exfunc.src_port", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13879 { &hf_lbmc_topic_source_exfunc_unused
,
13880 { "Unused", "lbmc.topic_source_exfunc.unused", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13881 { &hf_lbmc_topic_source_exfunc_functionality_flags
,
13882 { "Functionality Flags", "lbmc.topic_source_exfunc.functionality_flags", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13883 { &hf_lbmc_topic_source_exfunc_functionality_flags_ulb
,
13884 { "ULB", "lbmc.topic_source_exfunc.functionality_flags.ulb", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FUNCTIONALITY_FLAGS
* 8, TFS(&tfs_capable_not_capable
), LBM_TOPIC_OPT_EXFUNC_FFLAG_ULB
, NULL
, HFILL
} },
13885 { &hf_lbmc_topic_source_exfunc_functionality_flags_umq
,
13886 { "UMQ", "lbmc.topic_source_exfunc.functionality_flags.umq", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FUNCTIONALITY_FLAGS
* 8, TFS(&tfs_capable_not_capable
), LBM_TOPIC_OPT_EXFUNC_FFLAG_UMQ
, NULL
, HFILL
} },
13887 { &hf_lbmc_topic_source_exfunc_functionality_flags_ume
,
13888 { "UME", "lbmc.topic_source_exfunc.functionality_flags.ume", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FUNCTIONALITY_FLAGS
* 8, TFS(&tfs_capable_not_capable
), LBM_TOPIC_OPT_EXFUNC_FFLAG_UME
, NULL
, HFILL
} },
13889 { &hf_lbmc_topic_source_exfunc_functionality_flags_lj
,
13890 { "Late Join", "lbmc.topic_source_exfunc.functionality_flags.lj", FT_BOOLEAN
, L_LBMC_CNTL_TOPIC_SOURCE_EXFUNC_HDR_T_FUNCTIONALITY_FLAGS
* 8, TFS(&tfs_capable_not_capable
), LBM_TOPIC_OPT_EXFUNC_FFLAG_LJ
, NULL
, HFILL
} },
13891 { &hf_lbmc_ume_store_ext
,
13892 { "UME Store Extended", "lbmc.ume_store_ext", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13893 { &hf_lbmc_ume_store_ext_next_hdr
,
13894 { "Next Header", "lbmc.ume_store_ext.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13895 { &hf_lbmc_ume_store_ext_hdr_len
,
13896 { "Header Length", "lbmc.ume_store_ext.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13897 { &hf_lbmc_ume_store_ext_flags
,
13898 { "Flags", "lbmc.ume_store_ext.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13899 { &hf_lbmc_ume_store_ext_flags_ignore
,
13900 { "Ignore", "lbmc.ume_store_ext.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_STORE_EXT_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13901 { &hf_lbmc_ume_store_ext_grp_idx
,
13902 { "Group Index", "lbmc.ume_store_ext.grp_idx", FT_UINT8
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13903 { &hf_lbmc_ume_store_ext_store_tcp_port
,
13904 { "Store TCP Port", "lbmc.ume_store_ext.store_tcp_port", FT_UINT16
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
13905 { &hf_lbmc_ume_store_ext_store_idx
,
13906 { "Store Index", "lbmc.ume_store_ext.store_idx", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13907 { &hf_lbmc_ume_store_ext_store_ip_addr
,
13908 { "Store IP Address", "lbmc.ume_store_ext.store_ip_addr", FT_IPv4
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13909 { &hf_lbmc_ume_store_ext_src_reg_id
,
13910 { "Source RegID", "lbmc.ume_store_ext.src_reg_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13911 { &hf_lbmc_ume_store_ext_domain_id
,
13912 { "Domain ID", "lbmc.ume_store_ext.domain_id", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13913 { &hf_lbmc_ume_store_ext_version
,
13914 { "Version", "lbmc.ume_store_ext.version", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13915 { &hf_lbmc_ume_psrc_election_token
,
13916 { "UME Proxy Source Election Token", "lbmc.ume_psrc_election_token", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13917 { &hf_lbmc_ume_psrc_election_token_next_hdr
,
13918 { "Next Header", "lbmc.ume_psrc_election_token.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13919 { &hf_lbmc_ume_psrc_election_token_hdr_len
,
13920 { "Header Length", "lbmc.ume_psrc_election_token.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13921 { &hf_lbmc_ume_psrc_election_token_flags
,
13922 { "Flags", "lbmc.ume_psrc_election_token.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13923 { &hf_lbmc_ume_psrc_election_token_flags_ignore
,
13924 { "Ignore", "lbmc.ume_psrc_election_token.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_UME_PSRC_ELECTION_TOKEN_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13925 { &hf_lbmc_ume_psrc_election_token_store_index
,
13926 { "Store Index", "lbmc.ume_psrc_election_token.store_index", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13927 { &hf_lbmc_ume_psrc_election_token_token
,
13928 { "Token", "lbmc.ume_psrc_election_token.token", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13929 { &hf_lbmc_tcp_sid
,
13930 { "TCP Session ID", "lbmc.tcp_sid", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13931 { &hf_lbmc_tcp_sid_next_hdr
,
13932 { "Next Header", "lbmc.tcp_sid.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13933 { &hf_lbmc_tcp_sid_hdr_len
,
13934 { "Header Length", "lbmc.tcp_sid.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13935 { &hf_lbmc_tcp_sid_flags
,
13936 { "Flags", "lbmc.tcp_sid.flags", FT_UINT16
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13937 { &hf_lbmc_tcp_sid_flags_ignore
,
13938 { "Ignore", "lbmc.tcp_sid.flags.ignore", FT_BOOLEAN
, L_LBMC_CNTL_TCP_SID_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_OPT_IGNORE
, NULL
, HFILL
} },
13939 { &hf_lbmc_tcp_sid_sid
,
13940 { "Session ID", "lbmc.tcp_sid.sid", FT_UINT32
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13942 { "Extended Option", "lbmc.extopt", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13943 { &hf_lbmc_extopt_next_hdr
,
13944 { "Next Header", "lbmc.extopt.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
13945 { &hf_lbmc_extopt_hdr_len
,
13946 { "Header Length", "lbmc.extopt.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13947 { &hf_lbmc_extopt_flags
,
13948 { "Flags", "lbmc.extopt.flags", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13949 { &hf_lbmc_extopt_flags_ignore
,
13950 { "Ignore", "lbmc.extopt.flags.ignore", FT_BOOLEAN
, L_LBMC_EXTOPT_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_EXTOPT_FLAG_IGNORE
, NULL
, HFILL
} },
13951 { &hf_lbmc_extopt_flags_ignore_subtype
,
13952 { "Ignore Subtype", "lbmc.extopt.flags.ignore_subtype", FT_BOOLEAN
, L_LBMC_EXTOPT_HDR_T_FLAGS
* 8, TFS(&lbm_ignore_flag
), LBMC_EXTOPT_FLAG_IGNORE_SUBTYPE
, NULL
, HFILL
} },
13953 { &hf_lbmc_extopt_flags_more_fragments
,
13954 { "More Fragments", "lbmc.extopt.flags.more_fragments", FT_BOOLEAN
, L_LBMC_EXTOPT_HDR_T_FLAGS
* 8, TFS(&tfs_set_notset
), LBMC_EXTOPT_FLAG_MORE_FRAGMENT
, "Set if there are more fragments", HFILL
} },
13955 { &hf_lbmc_extopt_id
,
13956 { "ID", "lbmc.extopt.id", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13957 { &hf_lbmc_extopt_subtype
,
13958 { "Subtype", "lbmc.extopt.subtype", FT_UINT16
, BASE_DEC_HEX
, VALS(lbmc_extopt_subtype
), 0x0, NULL
, HFILL
} },
13959 { &hf_lbmc_extopt_fragment_offset
,
13960 { "Fragment offset", "lbmc.extopt.fragment_offset", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13961 { &hf_lbmc_extopt_data
,
13962 { "Data", "lbmc.extopt.data", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13963 { &hf_lbmc_extopt_cfgopt
,
13964 { "Configuration Option", "lbmc.extopt.cfgopt", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13965 { &hf_lbmc_extopt_cfgopt_scope
,
13966 { "Scope", "lbmc.extopt.cfgopt.scope", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_extopt_config_option_scope
), 0x0, NULL
, HFILL
} },
13967 { &hf_lbmc_extopt_cfgopt_parent
,
13968 { "Parent", "lbmc.extopt.cfgopt.parent", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13969 { &hf_lbmc_extopt_cfgopt_name
,
13970 { "Name", "lbmc.extopt.cfgopt.name", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13971 { &hf_lbmc_extopt_cfgopt_value
,
13972 { "Value", "lbmc.extopt.cfgopt.value", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13973 { &hf_lbmc_extopt_msgsel
,
13974 { "Message Selector", "lbmc.extopt.msgsel", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13975 { &hf_lbmc_extopt_reassembled_data
,
13976 { "EXTOPT Reassembled Data", "lbmc.extopt.reassembled_data", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13977 { &hf_lbmc_extopt_reassembled_data_subtype
,
13978 { "Subtype", "lbmc.extopt.reassembled_data.subtype", FT_UINT16
, BASE_DEC_HEX
, VALS(lbmc_extopt_subtype
), 0x0, NULL
, HFILL
} },
13979 { &hf_lbmc_extopt_reassembled_data_len
,
13980 { "Length", "lbmc.extopt.reassembled_data.length", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13981 { &hf_lbmc_extopt_reassembled_data_data
,
13982 { "Data", "lbmc.extopt.reassembled_data.data", FT_BYTES
, FT_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13983 { &hf_lbmc_extopt_reassembled_data_msgsel
,
13984 { "Message Selector", "lbmc.extopt.reassembled_data.msgsel", FT_STRING
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13985 { &hf_lbm_msg_properties
,
13986 { "Message Properties", "lbmc.lbm_msg_properties", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13987 { &hf_lbm_msg_properties_data
,
13988 { "Message Properties Data", "lbmc.lbm_msg_properties.data", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
13989 { &hf_lbm_msg_properties_data_magic
,
13990 { "Magic", "lbmc.lbm_msg_properties.data.magic", FT_UINT32
, BASE_HEX
, VALS(lbm_msg_prop_magic_type
), 0x0, NULL
, HFILL
} },
13991 { &hf_lbm_msg_properties_data_num_fields
,
13992 { "Number of Fields", "lbmc.lbm_msg_properties.data.num_fields", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13993 { &hf_lbm_msg_properties_data_version
,
13994 { "Version", "lbmc.lbm_msg_properties.data.version", FT_UINT8
, BASE_DEC
, NULL
, LBM_MSG_PROPERTIES_HDR_VER_MASK
, NULL
, HFILL
} },
13995 { &hf_lbm_msg_properties_data_type
,
13996 { "Type", "lbmc.lbm_msg_properties.data.type", FT_UINT8
, BASE_DEC_HEX
, VALS(lbm_msg_prop_header_type
), LBM_MSG_PROPERTIES_HDR_TYPE_MASK
, NULL
, HFILL
} },
13997 { &hf_lbm_msg_properties_data_res
,
13998 { "Reserved", "lbmc.lbm_msg_properties.data.res", FT_UINT8
, BASE_HEX
, NULL
, 0x0, NULL
, HFILL
} },
13999 { &hf_lbm_msg_properties_hdr
,
14000 { "Message Properties", "lbmc.lbm_msg_properties.hdr", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
14001 { &hf_lbm_msg_properties_hdr_key_offset
,
14002 { "Key offset", "lbmc.lbm_msg_properties.hdr.key_offset", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
14003 { &hf_lbm_msg_properties_hdr_value_offset
,
14004 { "Value offset", "lbmc.lbm_msg_properties.hdr.value_offset", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
14005 { &hf_lbm_msg_properties_hdr_hash
,
14006 { "Hash", "lbmc.lbm_msg_properties.hdr.hash", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
14007 { &hf_lbm_msg_properties_hdr_type
,
14008 { "Type", "lbmc.lbm_msg_properties.hdr.type", FT_UINT32
, BASE_DEC_HEX
, VALS(lbm_msg_prop_field_type
), 0x0, NULL
, HFILL
} },
14009 { &hf_lbm_msg_properties_hdr_key
,
14010 { "Key", "lbmc.lbm_msg_properties.hdr.key", FT_STRINGZ
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
14011 { &hf_lbm_msg_properties_hdr_boolean_value
,
14012 { "Boolean Value", "lbmc.lbm_msg_properties.hdr.boolean_value", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
14013 { &hf_lbm_msg_properties_hdr_byte_value
,
14014 { "Byte Value", "lbmc.lbm_msg_properties.hdr.byte_value", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
14015 { &hf_lbm_msg_properties_hdr_short_value
,
14016 { "Short Value", "lbmc.lbm_msg_properties.hdr.short_value", FT_UINT16
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
14017 { &hf_lbm_msg_properties_hdr_int_value
,
14018 { "Int Value", "lbmc.lbm_msg_properties.hdr.int_value", FT_UINT32
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
14019 { &hf_lbm_msg_properties_hdr_float_value
,
14020 { "Float Value", "lbmc.lbm_msg_properties.hdr.float_value", FT_FLOAT
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
14021 { &hf_lbm_msg_properties_hdr_long_value
,
14022 { "Long Value", "lbmc.lbm_msg_properties.hdr.long_value", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
14023 { &hf_lbm_msg_properties_hdr_double_value
,
14024 { "Double Value", "lbmc.lbm_msg_properties.hdr.double_value", FT_DOUBLE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
14025 { &hf_lbm_msg_properties_hdr_string_value
,
14026 { "String Value", "lbmc.lbm_msg_properties.hdr.string_value", FT_STRINGZ
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
14027 { &hf_lbm_msg_properties_hdr_unknown_value
,
14028 { "Unknown Value", "lbmc.lbm_msg_properties.hdr.unknown_value", FT_BYTES
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
14029 { &hf_lbmc_unhandled
,
14030 { "Unhandled", "lbmc.unhandled", FT_NONE
, BASE_NONE
, NULL
, 0x0, "Unrecognized/unhandled header", HFILL
} },
14031 { &hf_lbmc_unhandled_next_hdr
,
14032 { "Next Header", "lbmc.unhandled.next_hdr", FT_UINT8
, BASE_DEC_HEX
, VALS(lbmc_next_header
), 0x0, NULL
, HFILL
} },
14033 { &hf_lbmc_unhandled_hdr_len
,
14034 { "Header Length", "lbmc.unhandled.hdr_len", FT_UINT8
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
14035 { &hf_lbmc_unhandled_data
,
14036 { "Data", "lbmc.unhandled.data", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
14038 { "LBM Stream", "lbmc.lbm_stream", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
14039 { &hf_lbm_stream_stream_id
,
14040 { "Stream ID", "lbmc.lbm_stream.stream_id", FT_UINT64
, BASE_DEC_HEX
, NULL
, 0x0, NULL
, HFILL
} },
14041 { &hf_lbm_stream_substream_id
,
14042 { "Substream ID", "lbmc.lbm_stream.substream_id", FT_UINT32
, BASE_DEC
, NULL
, 0x0, NULL
, HFILL
} },
14043 { &hf_lbmc_reassembly
,
14044 { "Reassembled Fragments", "lbmc.reassembly", FT_NONE
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
14045 { &hf_lbmc_reassembly_fragment
,
14046 { "Fragment", "lbmc.reassembly.fragment", FT_FRAMENUM
, BASE_NONE
, NULL
, 0x0, NULL
, HFILL
} },
14047 { &hf_reassembly_frame
,
14048 { "Reassembled message in frame", "lbmc.reassembly_frame", FT_FRAMENUM
, BASE_NONE
, NULL
, 0x0, "Frame in which reassembled message appears", HFILL
} },
14051 static int * ett
[] =
14055 &ett_lbmc_frag_flags
,
14057 &ett_lbmc_batch_flags
,
14058 &ett_lbmc_tcp_request
,
14059 &ett_lbmc_tcp_request_flags
,
14060 &ett_lbmc_topicname
,
14061 &ett_lbmc_topicname_flags
,
14063 &ett_lbmc_apphdr_chain
,
14064 &ett_lbmc_apphdr_chain_element
,
14065 &ett_lbmc_apphdr_chain_msgprop
,
14066 &ett_lbmc_umq_msgid
,
14067 &ett_lbmc_umq_msgid_flags
,
14068 &ett_lbmc_umq_sqd_rcv
,
14069 &ett_lbmc_umq_sqd_rcv_flags
,
14070 &ett_lbmc_umq_resub
,
14071 &ett_lbmc_umq_resub_flags
,
14073 &ett_lbmc_otid_flags
,
14075 &ett_lbmc_ctxinst_flags
,
14076 &ett_lbmc_ctxinstd
,
14077 &ett_lbmc_ctxinstr
,
14079 &ett_lbmc_srcidx_flags
,
14080 &ett_lbmc_umq_ulb_msg
,
14081 &ett_lbmc_umq_ulb_msg_flags
,
14082 &ett_lbmc_ssf_init
,
14083 &ett_lbmc_ssf_init_flags
,
14084 &ett_lbmc_ssf_creq
,
14085 &ett_lbmc_ssf_creq_flags
,
14086 &ett_lbmc_ume_preg
,
14087 &ett_lbmc_ume_preg_flags
,
14088 &ett_lbmc_ume_preg_resp
,
14089 &ett_lbmc_ume_preg_resp_code
,
14090 &ett_lbmc_ume_preg_resp_marker
,
14092 &ett_lbmc_ume_ack_flags
,
14093 &ett_lbmc_ume_rxreq
,
14094 &ett_lbmc_ume_rxreq_flags
,
14095 &ett_lbmc_ume_keepalive
,
14096 &ett_lbmc_ume_keepalive_flags
,
14097 &ett_lbmc_ume_storeid
,
14098 &ett_lbmc_ume_ranged_ack
,
14099 &ett_lbmc_ume_ranged_ack_flags
,
14100 &ett_lbmc_ume_ack_id
,
14101 &ett_lbmc_ume_ack_id_flags
,
14102 &ett_lbmc_ume_capability
,
14103 &ett_lbmc_ume_capability_flags
,
14104 &ett_lbmc_ume_proxy_src
,
14105 &ett_lbmc_ume_proxy_src_flags
,
14106 &ett_lbmc_ume_store_group
,
14107 &ett_lbmc_ume_store_group_flags
,
14108 &ett_lbmc_ume_store
,
14109 &ett_lbmc_ume_store_flags
,
14110 &ett_lbmc_ume_lj_info
,
14111 &ett_lbmc_ume_lj_info_flags
,
14113 &ett_lbmc_tsni_rec
,
14115 &ett_lbmc_umq_reg_flags
,
14116 &ett_lbmc_umq_reg_reg_ctx
,
14117 &ett_lbmc_umq_reg_reg_src
,
14118 &ett_lbmc_umq_reg_reg_rcv
,
14119 &ett_lbmc_umq_reg_rcv_dereg
,
14120 &ett_lbmc_umq_reg_reg_ulb_rcv
,
14121 &ett_lbmc_umq_reg_ulb_rcv_dereg
,
14122 &ett_lbmc_umq_reg_reg_observer_rcv
,
14123 &ett_lbmc_umq_reg_observer_rcv_dereg
,
14124 &ett_lbmc_umq_reg_resp
,
14125 &ett_lbmc_umq_reg_resp_flags
,
14126 &ett_lbmc_umq_reg_resp_reg_ctx
,
14127 &ett_lbmc_umq_reg_resp_reg_ctx_ex
,
14128 &ett_lbmc_umq_reg_resp_reg_ctx_ex_flags
,
14129 &ett_lbmc_umq_reg_resp_err
,
14130 &ett_lbmc_umq_reg_resp_reg_src
,
14131 &ett_lbmc_umq_reg_resp_reg_rcv
,
14132 &ett_lbmc_umq_reg_resp_rcv_dereg
,
14133 &ett_lbmc_umq_reg_resp_reg_ulb_rcv
,
14134 &ett_lbmc_umq_reg_resp_ulb_rcv_dereg
,
14135 &ett_lbmc_umq_reg_resp_reg_observer_rcv
,
14136 &ett_lbmc_umq_reg_resp_observer_rcv_dereg
,
14138 &ett_lbmc_umq_ack_msgs
,
14139 &ett_lbmc_umq_ack_msgid
,
14140 &ett_lbmc_umq_ack_stable
,
14141 &ett_lbmc_umq_ack_cr
,
14142 &ett_lbmc_umq_ack_ulb_cr
,
14144 &ett_lbmc_umq_rcr_flags
,
14146 &ett_lbmc_umq_ka_flags
,
14147 &ett_lbmc_umq_ka_src
,
14148 &ett_lbmc_umq_ka_rcv
,
14149 &ett_lbmc_umq_ka_ulb_rcv
,
14150 &ett_lbmc_umq_ka_ulb_rcv_resp
,
14151 &ett_lbmc_umq_rxreq
,
14152 &ett_lbmc_umq_rxreq_flags
,
14153 &ett_lbmc_umq_rxreq_regid_resp
,
14154 &ett_lbmc_umq_rxreq_addr_resp
,
14155 &ett_lbmc_umq_rxreq_mr
,
14156 &ett_lbmc_umq_rxreq_ulb_mr
,
14157 &ett_lbmc_umq_rxreq_ulb_mr_abort
,
14158 &ett_lbmc_umq_rxreq_qrcrr
,
14159 &ett_lbmc_umq_rxreq_trcrr
,
14160 &ett_lbmc_umq_rxreq_ulb_trcrr
,
14161 &ett_lbmc_umq_rxreq_ulb_trcrr_abort
,
14162 &ett_lbmc_umq_qmgmt
,
14163 &ett_lbmc_umq_resub_req
,
14164 &ett_lbmc_umq_resub_req_flags
,
14165 &ett_lbmc_umq_resub_resp
,
14166 &ett_lbmc_umq_resub_resp_flags
,
14167 &ett_lbmc_topic_interest
,
14168 &ett_lbmc_topic_interest_flags
,
14169 &ett_lbmc_pattern_interest
,
14170 &ett_lbmc_pattern_interest_flags
,
14171 &ett_lbmc_advertisement
,
14172 &ett_lbmc_advertisement_flags
,
14173 &ett_lbmc_advertisement_ad_flags
,
14174 &ett_lbmc_ume_storename
,
14175 &ett_lbmc_ume_storename_flags
,
14176 &ett_lbmc_umq_ulb_rcr
,
14177 &ett_lbmc_umq_ulb_rcr_flags
,
14179 &ett_lbmc_umq_lf_flags
,
14181 &ett_lbmc_ctxinfo_flags
,
14182 &ett_lbmc_ume_pser
,
14183 &ett_lbmc_ume_pser_flags
,
14185 &ett_lbmc_domain_flags
,
14186 &ett_lbmc_tnwg_capabilities
,
14187 &ett_lbmc_tnwg_capabilities_flags
,
14188 &ett_lbmc_tnwg_capabilities_capabilities1
,
14189 &ett_lbmc_tnwg_capabilities_capabilities3
,
14191 &ett_lbmc_patidx_flags
,
14192 &ett_lbmc_ume_client_lifetime
,
14193 &ett_lbmc_ume_client_lifetime_flags
,
14195 &ett_lbmc_ume_sid_flags
,
14196 &ett_lbmc_umq_idx_cmd
,
14197 &ett_lbmc_umq_idx_cmd_flags
,
14198 &ett_lbmc_umq_idx_cmd_stop_assign
,
14199 &ett_lbmc_umq_idx_cmd_start_assign
,
14200 &ett_lbmc_umq_idx_cmd_release_assign
,
14201 &ett_lbmc_umq_idx_cmd_release_assign_flags
,
14202 &ett_lbmc_umq_idx_cmd_ulb_stop_assign
,
14203 &ett_lbmc_umq_idx_cmd_ulb_start_assign
,
14204 &ett_lbmc_umq_idx_cmd_ulb_release_assign
,
14205 &ett_lbmc_umq_idx_cmd_ulb_release_assign_flags
,
14206 &ett_lbmc_umq_idx_cmd_reserve_assign
,
14207 &ett_lbmc_umq_idx_cmd_reserve_assign_flags
,
14208 &ett_lbmc_umq_idx_cmd_ulb_reserve_assign
,
14209 &ett_lbmc_umq_idx_cmd_ulb_reserve_assign_flags
,
14210 &ett_lbmc_umq_idx_cmd_resp
,
14211 &ett_lbmc_umq_idx_cmd_resp_flags
,
14212 &ett_lbmc_umq_idx_cmd_resp_err
,
14213 &ett_lbmc_umq_idx_cmd_resp_stop_assign
,
14214 &ett_lbmc_umq_idx_cmd_resp_start_assign
,
14215 &ett_lbmc_umq_idx_cmd_resp_release_assign
,
14216 &ett_lbmc_umq_idx_cmd_resp_ulb_stop_assign
,
14217 &ett_lbmc_umq_idx_cmd_resp_ulb_start_assign
,
14218 &ett_lbmc_umq_idx_cmd_resp_ulb_release_assign
,
14219 &ett_lbmc_umq_idx_cmd_resp_reserve_assign
,
14220 &ett_lbmc_umq_idx_cmd_resp_reserve_assign_flags
,
14221 &ett_lbmc_umq_idx_cmd_resp_ulb_reserve_assign
,
14222 &ett_lbmc_umq_idx_cmd_resp_ulb_reserve_assign_flags
,
14224 &ett_lbmc_odomain_flags
,
14226 &ett_lbmc_stream_flags
,
14227 &ett_lbmc_topic_md_interest
,
14228 &ett_lbmc_topic_md_interest_flags
,
14229 &ett_lbmc_pattern_md_interest
,
14230 &ett_lbmc_pattern_md_interest_flags
,
14232 &ett_lbmc_lji_req_flags
,
14234 &ett_lbmc_tnwg_ka_flags
,
14235 &ett_lbmc_ume_receiver_keepalive
,
14236 &ett_lbmc_ume_receiver_keepalive_flags
,
14238 &ett_lbmc_umq_cmd_flags
,
14239 &ett_lbmc_umq_cmd_topic_list
,
14240 &ett_lbmc_umq_cmd_msg_retrieve
,
14241 &ett_lbmc_umq_cmd_msg_retrieve_entry
,
14242 &ett_lbmc_umq_cmd_msg_list
,
14243 &ett_lbmc_umq_cmd_resp
,
14244 &ett_lbmc_umq_cmd_resp_flags
,
14245 &ett_lbmc_umq_cmd_resp_msg_retrieve
,
14246 &ett_lbmc_umq_cmd_resp_xmsg_retrieve
,
14247 &ett_lbmc_umq_cmd_resp_xmsg_retrieve_entry
,
14248 &ett_lbmc_umq_cmd_resp_msg_list
,
14249 &ett_lbmc_umq_cmd_resp_xmsg_list
,
14250 &ett_lbmc_umq_cmd_resp_xmsg_list_entry
,
14251 &ett_lbmc_umq_cmd_resp_topic_list
,
14252 &ett_lbmc_umq_cmd_resp_topic_list_topic_entry
,
14253 &ett_lbmc_umq_cmd_resp_topic_list_topic_entry_appset_entry
,
14254 &ett_lbmc_umq_cmd_resp_err
,
14256 &ett_lbmc_sri_req_flags
,
14257 &ett_lbmc_ume_store_domain
,
14258 &ett_lbmc_ume_store_domain_flags
,
14260 &ett_lbmc_sri_flags
,
14261 &ett_lbmc_route_info
,
14262 &ett_lbmc_route_info_flags
,
14263 &ett_lbmc_route_info_neighbor
,
14264 &ett_lbmc_route_info_neighbor_flags
,
14265 &ett_lbmc_gateway_name
,
14266 &ett_lbmc_gateway_name_flags
,
14267 &ett_lbmc_auth_request
,
14268 &ett_lbmc_auth_request_flags
,
14269 &ett_lbmc_auth_challenge
,
14270 &ett_lbmc_auth_challenge_flags
,
14271 &ett_lbmc_auth_challenge_rsp
,
14272 &ett_lbmc_auth_challenge_rsp_flags
,
14273 &ett_lbmc_auth_result
,
14274 &ett_lbmc_auth_result_flags
,
14275 &ett_lbmc_auth_unknown
,
14277 &ett_lbmc_hmac_flags
,
14279 &ett_lbmc_umq_sid_flags
,
14280 &ett_lbmc_destination
,
14281 &ett_lbmc_destination_flags
,
14282 &ett_lbmc_topic_idx
,
14283 &ett_lbmc_topic_idx_flags
,
14284 &ett_lbmc_topic_source
,
14285 &ett_lbmc_topic_source_flags
,
14286 &ett_lbmc_topic_source_exfunc
,
14287 &ett_lbmc_topic_source_exfunc_flags
,
14288 &ett_lbmc_topic_source_exfunc_functionality_flags
,
14289 &ett_lbmc_ume_store_ext
,
14290 &ett_lbmc_ume_store_ext_flags
,
14291 &ett_lbmc_ume_psrc_election_token
,
14292 &ett_lbmc_ume_psrc_election_token_flags
,
14294 &ett_lbmc_tcp_sid_flags
,
14296 &ett_lbmc_extopt_flags
,
14297 &ett_lbmc_extopt_cfgopt
,
14298 &ett_lbmc_extopt_reassembled_data
,
14299 &ett_lbmc_extopt_reassembled_data_cfgopt
,
14300 &ett_lbm_msg_properties
,
14301 &ett_lbm_msg_properties_data
,
14302 &ett_lbm_msg_properties_hdr
,
14303 &ett_lbmc_unhandled_hdr
,
14305 &ett_lbmc_reassembly
,
14310 static ei_register_info ei
[] =
14312 { &ei_lbmc_analysis_length_incorrect
, { "lbmc.analysis.length_incorrect", PI_PROTOCOL
, PI_ERROR
, "Header length incorrect", EXPFILL
} },
14313 { &ei_lbmc_analysis_zero_length
, { "lbmc.analysis.zero_length", PI_MALFORMED
, PI_ERROR
, "Length dissected is zero", EXPFILL
} },
14314 { &ei_lbmc_analysis_tsni
, { "lbmc.analysis.tsni", PI_SEQUENCE
, PI_NOTE
, "TSNI Sqn", EXPFILL
} },
14315 { &ei_lbmc_analysis_invalid_value
, { "lbmc.analysis.invalid_value", PI_MALFORMED
, PI_ERROR
, "Invalid value", EXPFILL
} },
14316 { &ei_lbmc_analysis_no_reassembly
, { "lbmc.analysis.no_reassembly", PI_PROTOCOL
, PI_ERROR
, "Reassembly not in progress but fragment_offset not zero", EXPFILL
} },
14318 { &ei_lbmc_analysis_invalid_offset
, { "lbmc.analysis.invalid_offset", PI_MALFORMED
, PI_ERROR
, "Message property offset exceeds data length", EXPFILL
} },
14320 { &ei_lbmc_analysis_missing_reassembly_frame
, { "lbmc.analysis.missing_reassembly_frame", PI_UNDECODED
, PI_WARN
, "Message not reassembled - reassembly data missing from capture", EXPFILL
} },
14321 { &ei_lbmc_analysis_invalid_fragment
, { "lbmc.analysis.invalid_fragment", PI_MALFORMED
, PI_ERROR
, "Invalid fragment", EXPFILL
} },
14322 { &ei_lbmc_extopt_fragment_offset
, { "lbmc.extopt.fragment_offset.invalid", PI_PROTOCOL
, PI_ERROR
, "Invalid fragment offset", EXPFILL
} },
14325 module_t
* lbmc_module
= NULL
;
14326 expert_module_t
* expert_lbmc
;
14328 tnw_protocol_handle
= proto_register_protocol("29West Protocol", "29West", "29west");
14329 proto_lbmc
= proto_register_protocol("LBMC Protocol", "LBMC", "lbmc");
14331 proto_register_field_array(proto_lbmc
, hf
, array_length(hf
));
14332 proto_register_subtree_array(ett
, array_length(ett
));
14333 expert_lbmc
= expert_register_protocol(proto_lbmc
);
14334 expert_register_field_array(expert_lbmc
, ei
, array_length(ei
));
14336 lbmc_heuristic_subdissector_list
= register_heur_dissector_list_with_description("lbm_msg_payload", "LBMC UMQ command response data", proto_lbmc
);
14338 prefs_register_protocol(tnw_protocol_handle
, NULL
);
14339 lbmc_module
= prefs_register_protocol_subtree("29West", proto_lbmc
, proto_reg_handoff_lbmc
);
14340 prefs_register_bool_preference(lbmc_module
,
14341 "use_heuristic_subdissectors",
14342 "Use heuristic sub-dissectors",
14343 "Use a registered heuristic sub-dissector to decode the data payload",
14344 &lbmc_use_heuristic_subdissectors
);
14345 prefs_register_bool_preference(lbmc_module
,
14346 "reassemble_fragments",
14347 "Reassemble fragmented data",
14348 "Reassemble data message fragments",
14349 &lbmc_reassemble_fragments
);
14350 prefs_register_bool_preference(lbmc_module
,
14352 "Dissect LBMPDM payload",
14353 "Recognize and dissect payloads containing LBMPDM messages (requires reassembly to be enabled)",
14354 &lbmc_dissect_lbmpdm
);
14356 lbmc_message_table
= wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
14358 register_seq_analysis("lbm_uim", "UIM Flows", proto_lbmc
, "lbm_uim", TL_REQUIRES_COLUMNS
, lbm_uim_seq_analysis_packet
);
14360 lbmc_uim_tap_handle
= register_tap("lbm_uim");
14361 lbmc_stream_tap_handle
= register_tap("lbm_stream");
14364 /* The registration hand-off routine */
14365 void proto_reg_handoff_lbmc(void)
14370 * Editor modelines - https://www.wireshark.org/tools/modelines.html
14373 * c-basic-offset: 4
14375 * indent-tabs-mode: nil
14378 * vi: set shiftwidth=4 tabstop=8 expandtab:
14379 * :indentSize=4:tabSize=8:noTabs=true: