diff options
Diffstat (limited to 'src/vnet/bier')
-rw-r--r-- | src/vnet/bier/bier_fmask.c | 6 | ||||
-rw-r--r-- | src/vnet/bier/bier_fmask_db.h | 2 | ||||
-rw-r--r-- | src/vnet/bier/bier_output.c | 6 |
3 files changed, 10 insertions, 4 deletions
diff --git a/src/vnet/bier/bier_fmask.c b/src/vnet/bier/bier_fmask.c index cb61681385d..3370d5a88e8 100644 --- a/src/vnet/bier/bier_fmask.c +++ b/src/vnet/bier/bier_fmask.c @@ -181,7 +181,11 @@ bier_fmask_init (bier_fmask_t *bfm, btid = bier_table_get_id(bfm->bfm_id->bfmi_bti); bier_fmask_bits_init(&bfm->bfm_bits, btid->bti_hdr_len); - if (ip46_address_is_zero(&(bfm->bfm_id->bfmi_nh))) + if (rpath->frp_flags & FIB_ROUTE_PATH_UDP_ENCAP) + { + bfm->bfm_id->bfmi_nh_type = BIER_NH_UDP; + } + else if (ip46_address_is_zero(&(bfm->bfm_id->bfmi_nh))) { bfm->bfm_flags |= BIER_FMASK_FLAG_DISP; } diff --git a/src/vnet/bier/bier_fmask_db.h b/src/vnet/bier/bier_fmask_db.h index 36e555f8680..cf78bdae4eb 100644 --- a/src/vnet/bier/bier_fmask_db.h +++ b/src/vnet/bier/bier_fmask_db.h @@ -80,7 +80,7 @@ typedef struct bier_fmask_id_t_ { bier_hdr_type_t bfmi_hdr_type; /** - * Union discriminatrr + * Union discriminator */ bier_nh_type_t bfmi_nh_type; } __attribute__((packed)) bier_fmask_id_t; diff --git a/src/vnet/bier/bier_output.c b/src/vnet/bier/bier_output.c index 16c1d8e1543..e2cf7d62cee 100644 --- a/src/vnet/bier/bier_output.c +++ b/src/vnet/bier/bier_output.c @@ -58,6 +58,7 @@ typedef struct bier_output_trace_t_ { u32 next_index; index_t bfm_index; + mpls_label_t bfm_label; } bier_output_trace_t; static uword @@ -163,6 +164,7 @@ bier_output (vlib_main_t * vm, tr = vlib_add_trace (vm, node, b0, sizeof (*tr)); tr->next_index = next0; tr->bfm_index = bfmi0; + tr->bfm_label = bfm0->bfm_label; } vlib_validate_buffer_enqueue_x1 (vm, node, next_index, @@ -186,8 +188,8 @@ format_bier_output_trace (u8 * s, va_list * args) CLIB_UNUSED (vlib_node_t * node) = va_arg (*args, vlib_node_t *); bier_output_trace_t * t = va_arg (*args, bier_output_trace_t *); - s = format (s, " next [%d], BFM index %d", - t->next_index, t->bfm_index); + s = format (s, " next [%d], BFM index %d label:%x", + t->next_index, t->bfm_index, t->bfm_label); return s; } |