/* Output: void, but we will add to proto tree if !NULL.  */
static void dissect_metric(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, guint8 value, int hf, int hf_support, int force_supported)
/* Output: void, but we will add to proto tree if !NULL.  */
static void dissect_metric(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, guint8 value, int hf, int hf_support, int force_supported)
{
    int s;
    proto_item *item, *support_item;
    s = ISIS_LSP_CLV_METRIC_SUPPORTED(value);
    item = proto_tree_add_uint(tree, hf, tvb, offset, 1, value);
    support_item = proto_tree_add_uint(tree, hf_support, tvb, offset, 1, value);
    if (s && force_supported)
        proto_item_append_text(support_item, " (but is required to be)");
    if (ISIS_LSP_CLV_METRIC_RESERVED(value))
        expert_add_info(pinfo, item, &ei_isis_lsp_reserved_not_zero);
}