*/
lookup_dpo_add_or_lock_w_fib_index (src_fib_index,
(ip_prefix_version (dst_prefix) ==
- IP6 ? DPO_PROTO_IP6 :
+ AF_IP6 ? DPO_PROTO_IP6 :
DPO_PROTO_IP4),
LOOKUP_UNICAST,
LOOKUP_INPUT_SRC_ADDR,
ladj = lisp_gpe_adjacency_get (paths[ii].lisp_adj);
- ip_address_to_46 (&ladj->remote_rloc, &rpaths[ii].frp_addr, &fp);
+ fp = ip_address_to_46 (&ladj->remote_rloc, &rpaths[ii].frp_addr);
rpaths[ii].frp_proto = fib_proto_to_dpo (fp);
rpaths[ii].frp_sw_if_index = ladj->sw_if_index;
ip_prefix_t ippref;
fib_prefix_t fib_prefix;
u8 ip_version = ip_prefix_version (&lfe->key->rmt.ippref);
- dproto = (ip_version == IP4 ? DPO_PROTO_IP4 : DPO_PROTO_IP6);
+ dproto = (ip_version == AF_IP4 ? DPO_PROTO_IP4 : DPO_PROTO_IP6);
if (lfe->is_src_dst)
{
if (vec_len (lgm->native_fwd_rpath[ip_version]))
{
ip_prefix_to_fib_prefix (&lfe->key->rmt.ippref, &fib_prefix);
- fib_table_entry_update (lfe->eid_fib_index, &fib_prefix,
- FIB_SOURCE_LISP, FIB_ENTRY_FLAG_NONE,
- lgm->native_fwd_rpath[ip_version]);
+ fi = fib_table_entry_update (lfe->eid_fib_index, &fib_prefix,
+ FIB_SOURCE_LISP,
+ FIB_ENTRY_FLAG_NONE,
+ lgm->native_fwd_rpath[ip_version]);
gpe_native_fwd_add_del_lfe (lfe, 1);
- break;
+ goto done;
}
case LISP_NO_ACTION:
/* TODO update timers? */
{
fi = ip_src_fib_add_route (lfe->src_fib_index, &ippref, lfe->paths);
}
+done:
fe = fib_entry_get (fi);
return fe->fe_lb.dpoi_index;
}
{
uword *p;
- memset (key, 0, sizeof (*key));
+ clib_memset (key, 0, sizeof (*key));
if (GID_ADDR_IP_PREFIX == gid_address_type (&a->rmt_eid))
{
if (LISP_GPE_FWD_ENTRY_TYPE_NORMAL != lfe->type)
return;
- memset (&key, 0, sizeof (key));
+ clib_memset (&key, 0, sizeof (key));
key.fwd_entry_index = fwd_entry_index;
vec_foreach (path, lfe->paths)
return VNET_API_ERROR_INVALID_VALUE;
pool_get (lgm->lisp_fwd_entry_pool, lfe);
- memset (lfe, 0, sizeof (*lfe));
+ clib_memset (lfe, 0, sizeof (*lfe));
lfe->key = clib_mem_alloc (sizeof (key));
memcpy (lfe->key, &key, sizeof (key));
lfe - lgm->lisp_fwd_entry_pool);
a->fwd_entry_index = lfe - lgm->lisp_fwd_entry_pool;
- fproto = (IP4 == ip_prefix_version (&fid_addr_ippref (&lfe->key->rmt)) ?
+ fproto = (AF_IP4 == ip_prefix_version (&fid_addr_ippref (&lfe->key->rmt)) ?
FIB_PROTOCOL_IP4 : FIB_PROTOCOL_IP6);
lfe->type = (a->is_negative ?
delete_fib_entries (lfe);
- fproto = (IP4 == ip_prefix_version (&fid_addr_ippref (&lfe->key->rmt)) ?
+ fproto = (AF_IP4 == ip_prefix_version (&fid_addr_ippref (&lfe->key->rmt)) ?
FIB_PROTOCOL_IP4 : FIB_PROTOCOL_IP6);
fib_table_unlock (lfe->eid_fib_index, fproto, FIB_SOURCE_LISP);
{
fib_path_list_contribute_forwarding (lfe->l2.path_list_index,
FIB_FORW_CHAIN_TYPE_ETHERNET,
+ FIB_PATH_LIST_FWD_FLAG_NONE,
&lfe->l2.dpo);
dpo_copy (&dpo, &lfe->l2.dpo);
}
return VNET_API_ERROR_INVALID_VALUE;
pool_get (lgm->lisp_fwd_entry_pool, lfe);
- memset (lfe, 0, sizeof (*lfe));
+ clib_memset (lfe, 0, sizeof (*lfe));
lfe->key = clib_mem_alloc (sizeof (key));
memcpy (lfe->key, &key, sizeof (key));
int rv;
BVT (clib_bihash_kv) kv, value;
- memset (&kv, 0, sizeof (kv));
+ clib_memset (&kv, 0, sizeof (kv));
kv.key[0] = spi_si_net_order;
rv = BV (clib_bihash_search_inline_2) (&lgm->nsh_fib, &kv, &value);
BVT (clib_bihash_kv) kv, value;
u32 old_val = ~0;
- memset (&kv, 0, sizeof (kv));
+ clib_memset (&kv, 0, sizeof (kv));
kv.key[0] = clib_host_to_net_u32 (spi_si_host_order);
kv.value = 0ULL;
{
fib_path_list_contribute_forwarding (lfe->nsh.path_list_index,
FIB_FORW_CHAIN_TYPE_NSH,
+ FIB_PATH_LIST_FWD_FLAG_NONE,
&lfe->nsh.dpo);
/*
return VNET_API_ERROR_INVALID_VALUE;
pool_get (lgm->lisp_fwd_entry_pool, lfe);
- memset (lfe, 0, sizeof (*lfe));
+ clib_memset (lfe, 0, sizeof (*lfe));
lfe->key = clib_mem_alloc (sizeof (key));
memcpy (lfe->key, &key, sizeof (key));
vlib_combined_counter_main_t *cm = &lgm->counters;
u32 i;
+ if (cm->counters == NULL)
+ return 0;
+
for (i = 0; i < vlib_combined_counter_n_counters (cm); i++)
vlib_zero_combined_counter (cm, i);
uword *p;
u8 *s;
- memset (&key, 0, sizeof (key));
+ clib_memset (&key, 0, sizeof (key));
key.fwd_entry_index = fwd_entry_index;
key.tunnel_index = ti;
}
static u8 *
-format_lisp_fwd_path (u8 * s, va_list ap)
+format_lisp_fwd_path (u8 * s, va_list * ap)
{
- lisp_fwd_path_t *lfp = va_arg (ap, lisp_fwd_path_t *);
+ lisp_fwd_path_t *lfp = va_arg (*ap, lisp_fwd_path_t *);
s = format (s, "weight:%d ", lfp->weight);
s = format (s, "adj:[%U]\n",
static u8 *
-format_lisp_gpe_fwd_entry (u8 * s, va_list ap)
+format_lisp_gpe_fwd_entry (u8 * s, va_list * ap)
{
lisp_gpe_main_t *lgm = &lisp_gpe_main;
- lisp_gpe_fwd_entry_t *lfe = va_arg (ap, lisp_gpe_fwd_entry_t *);
+ lisp_gpe_fwd_entry_t *lfe = va_arg (*ap, lisp_gpe_fwd_entry_t *);
lisp_gpe_fwd_entry_format_flag_t flags =
- va_arg (ap, lisp_gpe_fwd_entry_format_flag_t);
+ va_arg (*ap, lisp_gpe_fwd_entry_format_flag_t);
s = format (s, "VNI:%d VRF:%d EID: %U -> %U [index:%d]",
lfe->key->vni, lfe->eid_table_id,
({
if (lfe->key->vni == vni)
{
- memset (&e, 0, sizeof (e));
+ clib_memset (&e, 0, sizeof (e));
e.dp_table = lfe->eid_table_id;
e.vni = lfe->key->vni;
if (lfe->type == LISP_GPE_FWD_ENTRY_TYPE_NEGATIVE)