src->fes_pl,
fib_entry_get_default_chain_type(entry)));
- if (IP_LOOKUP_NEXT_GLEAN == adj->lookup_next_index);
+ if (IP_LOOKUP_NEXT_GLEAN == adj->lookup_next_index)
{
/*
* the connected prefix will link to a glean on a non-p2p
{
if (FIB_ENTRY_FLAG_NONE != flags)
{
- src->fes_pl = fib_path_list_create_special(proto, flags, dpo);
+ src->fes_pl = fib_path_list_create_special(
+ proto,
+ fib_entry_src_flags_2_path_list_flags(flags),
+ dpo);
}
}
const fib_entry_t *entry,
const void *data)
{
- dpo_proto_t payload_proto;
+ fib_protocol_t payload_proto;
fib_node_index_t fei;
mpls_label_t label;
mpls_eos_bit_t eos;
{
case FIB_FORW_CHAIN_TYPE_MPLS_EOS:
ASSERT(0);
+ return (nhs);
+ break;
case FIB_FORW_CHAIN_TYPE_UNICAST_IP4:
case FIB_FORW_CHAIN_TYPE_UNICAST_IP6:
if (MPLS_IETF_IMPLICIT_NULL_LABEL == path_ext->fpe_label)
dpo_reset(&dpo);
+ va_end(ap);
+
return (1);
}
break;
case FIB_PROTOCOL_MPLS:
{
- mpls_unicast_header_t hdr;
+ mpls_unicast_header_t hdr = {
+ .label_exp_s_ttl = 0,
+ };
vnet_mpls_uc_set_label(&hdr.label_exp_s_ttl, pfx.fp_label);
vnet_mpls_uc_set_s(&hdr.label_exp_s_ttl, pfx.fp_eos);
* add the stats to the continuous histogram collection.
*/
bucket = (fwalk->fw_n_visits / HISTOGRAM_VISITS_PER_WALK_INCR);
- bucket = (bucket > HISTOGRAM_VISITS_PER_WALK_MAX ?
- HISTOGRAM_VISITS_PER_WALK_MAX - 1 :
+ bucket = (bucket > HISTOGRAM_VISITS_PER_WALK_N_BUCKETS ?
+ HISTOGRAM_VISITS_PER_WALK_N_BUCKETS - 1 :
bucket);
fib_walk_hist_vists_per_walk[bucket]++;
hash_c0 = vnet_buffer (p0)->ip.flow_hash =
ip4_compute_flow_hash (ip0, flow_hash_config0);
}
- if (PREDICT_FALSE(lb0->lb_n_buckets > 1))
+ if (PREDICT_FALSE(lb1->lb_n_buckets > 1))
{
flow_hash_config1 = lb1->lb_hash_config;
hash_c1 = vnet_buffer (p1)->ip.flow_hash =
if (NULL == lt)
{
clib_warning ("No tenant for VNI %d", vni);
+ return;
}
if (0 == lt->lt_locks[LISP_GPE_TENANT_LOCK_L3_IFACE])
is_ip = 0;
table_id = 0;
eos = MPLS_EOS;
+ is_del = 0;
+ local_label = MPLS_LABEL_INVALID;
/* Get a line of input. */
if (! unformat_user (input, unformat_line_input, line_input))
}
+ if (MPLS_LABEL_INVALID == local_label)
+ {
+ error = clib_error_return (0, "local-label required: %U",
+ format_unformat_error, input);
+ goto done;
+ }
+
+
if (is_ip)
{
u32 fib_index = fib_table_find(pfx.fp_proto, table_id);