vppinfra: make _vec_len() read-only
Use of _vec_len() to set vector length breaks address sanitizer. Users should use vec_set_len(), vec_inc_len(), vec_dec_len () instead. Type: improvement Change-Id: I441ae948771eb21c23a61f3ff9163bdad74a2cb8 Signed-off-by: Damjan Marion <damarion@cisco.com>
This commit is contained in:

committed by
Damjan Marion

parent
a2b358b1fa
commit
8bea589cfe
@ -181,7 +181,7 @@ my_proc (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f)
|
||||
vlib_cli_output (vm, "%U %v: completion #%d type %d data 0x%wx",
|
||||
format_time_interval, "h:m:s:u",
|
||||
vlib_time_now (vm), node->name, i, type, data[0]);
|
||||
_vec_len (data) = 0;
|
||||
vec_set_len (data, 0);
|
||||
}
|
||||
|
||||
vec_free (data);
|
||||
|
@ -241,7 +241,7 @@ mc_test_process (vlib_main_t * vm,
|
||||
}
|
||||
|
||||
if (event_data)
|
||||
_vec_len (event_data) = 0;
|
||||
vec_set_len (event_data, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3736,7 +3736,7 @@ acl_init (vlib_main_t * vm)
|
||||
vec_validate (pw->expired,
|
||||
ACL_N_TIMEOUTS *
|
||||
am->fa_max_deleted_sessions_per_interval);
|
||||
_vec_len (pw->expired) = 0;
|
||||
vec_set_len (pw->expired, 0);
|
||||
vec_validate_init_empty (pw->fa_conn_list_head, ACL_N_TIMEOUTS - 1,
|
||||
FA_SESSION_BOGUS_INDEX);
|
||||
vec_validate_init_empty (pw->fa_conn_list_tail, ACL_N_TIMEOUTS - 1,
|
||||
|
@ -493,10 +493,10 @@ static int api_acl_add_replace (vat_main_t * vam)
|
||||
if (vec_len(tag) >= sizeof(mp->tag))
|
||||
{
|
||||
tag[sizeof(mp->tag)-1] = 0;
|
||||
_vec_len(tag) = sizeof(mp->tag);
|
||||
}
|
||||
clib_memcpy(mp->tag, tag, vec_len(tag));
|
||||
vec_free(tag);
|
||||
vec_set_len (tag, sizeof (mp->tag));
|
||||
}
|
||||
clib_memcpy (mp->tag, tag, vec_len (tag));
|
||||
vec_free (tag);
|
||||
}
|
||||
mp->acl_index = ntohl(acl_index);
|
||||
mp->count = htonl(n_rules);
|
||||
@ -1333,10 +1333,10 @@ static int api_macip_acl_add (vat_main_t * vam)
|
||||
if (vec_len(tag) >= sizeof(mp->tag))
|
||||
{
|
||||
tag[sizeof(mp->tag)-1] = 0;
|
||||
_vec_len(tag) = sizeof(mp->tag);
|
||||
}
|
||||
clib_memcpy(mp->tag, tag, vec_len(tag));
|
||||
vec_free(tag);
|
||||
vec_set_len (tag, sizeof (mp->tag));
|
||||
}
|
||||
clib_memcpy (mp->tag, tag, vec_len (tag));
|
||||
vec_free (tag);
|
||||
}
|
||||
|
||||
mp->count = htonl(n_rules);
|
||||
@ -1475,10 +1475,10 @@ static int api_macip_acl_add_replace (vat_main_t * vam)
|
||||
if (vec_len(tag) >= sizeof(mp->tag))
|
||||
{
|
||||
tag[sizeof(mp->tag)-1] = 0;
|
||||
_vec_len(tag) = sizeof(mp->tag);
|
||||
}
|
||||
clib_memcpy(mp->tag, tag, vec_len(tag));
|
||||
vec_free(tag);
|
||||
vec_set_len (tag, sizeof (mp->tag));
|
||||
}
|
||||
clib_memcpy (mp->tag, tag, vec_len (tag));
|
||||
vec_free (tag);
|
||||
}
|
||||
|
||||
mp->acl_index = ntohl(acl_index);
|
||||
|
@ -682,7 +682,7 @@ hash_acl_apply(acl_main_t *am, u32 lc_index, int acl_index, u32 acl_position)
|
||||
if (vec_len(ha->rules) > 0) {
|
||||
int old_vec_len = vec_len(*applied_hash_aces);
|
||||
vec_validate((*applied_hash_aces), old_vec_len + vec_len(ha->rules) - 1);
|
||||
_vec_len((*applied_hash_aces)) = old_vec_len;
|
||||
vec_set_len ((*applied_hash_aces), old_vec_len);
|
||||
}
|
||||
|
||||
/* add the rules from the ACL to the hash table for lookup and append to the vector*/
|
||||
@ -903,7 +903,7 @@ hash_acl_unapply(acl_main_t *am, u32 lc_index, int acl_index)
|
||||
move_applied_ace_hash_entry(am, lc_index, applied_hash_aces, tail_offset + i, base_offset + i);
|
||||
}
|
||||
/* trim the end of the vector */
|
||||
_vec_len((*applied_hash_aces)) -= vec_len(ha->rules);
|
||||
vec_dec_len ((*applied_hash_aces), vec_len (ha->rules));
|
||||
|
||||
remake_hash_applied_mask_info_vec(am, applied_hash_aces, lc_index);
|
||||
|
||||
|
@ -188,8 +188,7 @@ acl_fa_check_idle_sessions (acl_main_t * am, u16 thread_index, u64 now)
|
||||
}
|
||||
}
|
||||
if (pw->wip_session_change_requests)
|
||||
_vec_len (pw->wip_session_change_requests) = 0;
|
||||
|
||||
vec_set_len (pw->wip_session_change_requests, 0);
|
||||
|
||||
{
|
||||
u8 tt = 0;
|
||||
@ -309,7 +308,7 @@ acl_fa_check_idle_sessions (acl_main_t * am, u16 thread_index, u64 now)
|
||||
total_expired = vec_len (pw->expired);
|
||||
/* zero out the vector which we have acted on */
|
||||
if (pw->expired)
|
||||
_vec_len (pw->expired) = 0;
|
||||
vec_set_len (pw->expired, 0);
|
||||
/* if we were advancing and reached the end
|
||||
* (no more sessions to recycle), reset the fast-forward timestamp */
|
||||
|
||||
@ -788,7 +787,7 @@ acl_fa_session_cleaner_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
|
||||
send_interrupts_to_workers (vm, am);
|
||||
|
||||
if (event_data)
|
||||
_vec_len (event_data) = 0;
|
||||
vec_set_len (event_data, 0);
|
||||
|
||||
/*
|
||||
* If the interrupts were not processed yet, ensure we wait a bit,
|
||||
|
@ -54,7 +54,7 @@ trim_path_from_request (u8 * s, char *path)
|
||||
* like a c-string.
|
||||
*/
|
||||
*cp = 0;
|
||||
_vec_len (s) = cp - s;
|
||||
vec_set_len (s, cp - s);
|
||||
break;
|
||||
}
|
||||
cp++;
|
||||
|
@ -167,25 +167,24 @@ _(version,DEBUG_TLV_DUMP) \
|
||||
_(platform,DEBUG_TLV_DUMP) \
|
||||
_(port_id,DEBUG_TLV_DUMP)
|
||||
|
||||
#define _(z,dbg) \
|
||||
static \
|
||||
cdp_error_t process_##z##_tlv (cdp_main_t *cm, cdp_neighbor_t *n, \
|
||||
cdp_tlv_t *t) \
|
||||
{ \
|
||||
int i; \
|
||||
if (dbg) \
|
||||
fformat(stdout, "%U\n", format_text_tlv, t); \
|
||||
\
|
||||
if (n->z) \
|
||||
_vec_len(n->z) = 0; \
|
||||
\
|
||||
for (i = 0; i < (t->l - sizeof (*t)); i++) \
|
||||
vec_add1(n->z, t->v[i]); \
|
||||
\
|
||||
vec_add1(n->z, 0); \
|
||||
\
|
||||
return CDP_ERROR_NONE; \
|
||||
}
|
||||
#define _(z, dbg) \
|
||||
static cdp_error_t process_##z##_tlv (cdp_main_t *cm, cdp_neighbor_t *n, \
|
||||
cdp_tlv_t *t) \
|
||||
{ \
|
||||
int i; \
|
||||
if (dbg) \
|
||||
fformat (stdout, "%U\n", format_text_tlv, t); \
|
||||
\
|
||||
if (n->z) \
|
||||
vec_set_len (n->z, 0); \
|
||||
\
|
||||
for (i = 0; i < (t->l - sizeof (*t)); i++) \
|
||||
vec_add1 (n->z, t->v[i]); \
|
||||
\
|
||||
vec_add1 (n->z, 0); \
|
||||
\
|
||||
return CDP_ERROR_NONE; \
|
||||
}
|
||||
|
||||
foreach_text_to_struct_tlv
|
||||
#undef _
|
||||
@ -354,7 +353,7 @@ cdp_input (vlib_main_t * vm, vlib_buffer_t * b0, u32 bi0)
|
||||
*/
|
||||
|
||||
if (n->last_rx_pkt)
|
||||
_vec_len (n->last_rx_pkt) = 0;
|
||||
vec_set_len (n->last_rx_pkt, 0);
|
||||
|
||||
/* cdp disabled on this interface, we're done */
|
||||
if (n->disabled)
|
||||
|
@ -394,9 +394,9 @@ cdp_periodic (vlib_main_t * vm)
|
||||
delete_neighbor (cm, n, 1);
|
||||
}
|
||||
if (delete_list)
|
||||
_vec_len (delete_list) = 0;
|
||||
vec_set_len (delete_list, 0);
|
||||
if (n_list)
|
||||
_vec_len (n_list) = 0;
|
||||
vec_set_len (n_list, 0);
|
||||
}
|
||||
|
||||
static clib_error_t *
|
||||
|
@ -992,7 +992,7 @@ dhcp6_cp_ip6_address_add_del (u32 sw_if_index, const u8 * prefix_group,
|
||||
return VNET_API_ERROR_DUPLICATE_IF_ADDRESS;
|
||||
cp_ip6_address_add_del_now (address_info, 0 /* del */ );
|
||||
*address_info = apm->addresses[n - 1];
|
||||
_vec_len (apm->addresses) = n - 1;
|
||||
vec_set_len (apm->addresses, n - 1);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -829,7 +829,7 @@ re_resolve:
|
||||
clib_memset (ep, 0, sizeof (*ep));
|
||||
|
||||
ep->name = format (0, "%s%c", name, 0);
|
||||
_vec_len (ep->name) = vec_len (ep->name) - 1;
|
||||
vec_set_len (ep->name, vec_len (ep->name) - 1);
|
||||
|
||||
hash_set_mem (dm->cache_entry_by_name, ep->name, ep - dm->entries);
|
||||
|
||||
@ -988,7 +988,7 @@ found_last_request:
|
||||
cname = vnet_dns_labels_to_name (rr->rdata, reply, &pos2);
|
||||
/* Save the cname */
|
||||
vec_add1 (cname, 0);
|
||||
_vec_len (cname) -= 1;
|
||||
vec_dec_len (cname, 1);
|
||||
ep = pool_elt_at_index (dm->entries, ep_index);
|
||||
ep->cname = cname;
|
||||
ep->flags |= (DNS_CACHE_ENTRY_FLAG_CNAME | DNS_CACHE_ENTRY_FLAG_VALID);
|
||||
@ -1007,7 +1007,7 @@ found_last_request:
|
||||
clib_memset (next_ep, 0, sizeof (*next_ep));
|
||||
next_ep->name = vec_dup (cname);
|
||||
vec_add1 (next_ep->name, 0);
|
||||
_vec_len (next_ep->name) -= 1;
|
||||
vec_dec_len (next_ep->name, 1);
|
||||
|
||||
hash_set_mem (dm->cache_entry_by_name, next_ep->name,
|
||||
next_ep - dm->entries);
|
||||
@ -2611,7 +2611,7 @@ test_dns_expire_command_fn (vlib_main_t * vm,
|
||||
if (unformat (input, "%v", &name))
|
||||
{
|
||||
vec_add1 (name, 0);
|
||||
_vec_len (name) -= 1;
|
||||
vec_dec_len (name, 1);
|
||||
}
|
||||
else
|
||||
return clib_error_return (0, "no name provided");
|
||||
|
@ -214,7 +214,7 @@ dns46_request_inline (vlib_main_t * vm,
|
||||
*/
|
||||
name0 = vnet_dns_labels_to_name (label0, (u8 *) d0, (u8 **) & q0);
|
||||
vec_add1 (name0, 0);
|
||||
_vec_len (name0) -= 1;
|
||||
vec_dec_len (name0, 1);
|
||||
|
||||
t0->request_type = DNS_PEER_PENDING_NAME_TO_IP;
|
||||
|
||||
|
@ -142,7 +142,7 @@ show_dpdk_physmem (vlib_main_t * vm, unformat_input_t * input,
|
||||
err = clib_error_return_unix (0, "read");
|
||||
goto error;
|
||||
}
|
||||
_vec_len (s) = len + (n < 0 ? 0 : n);
|
||||
vec_set_len (s, len + (n < 0 ? 0 : n));
|
||||
}
|
||||
|
||||
vlib_cli_output (vm, "%v", s);
|
||||
@ -198,7 +198,7 @@ test_dpdk_buffer (vlib_main_t * vm, unformat_input_t * input,
|
||||
|
||||
first = vec_len (allocated_buffers) - n_free;
|
||||
vlib_buffer_free (vm, allocated_buffers + first, n_free);
|
||||
_vec_len (allocated_buffers) = first;
|
||||
vec_set_len (allocated_buffers, first);
|
||||
}
|
||||
if (n_alloc)
|
||||
{
|
||||
@ -208,7 +208,7 @@ test_dpdk_buffer (vlib_main_t * vm, unformat_input_t * input,
|
||||
|
||||
actual_alloc = vlib_buffer_alloc (vm, allocated_buffers + first,
|
||||
n_alloc);
|
||||
_vec_len (allocated_buffers) = first + actual_alloc;
|
||||
vec_set_len (allocated_buffers, first + actual_alloc);
|
||||
|
||||
if (actual_alloc < n_alloc)
|
||||
vlib_cli_output (vm, "WARNING: only allocated %d buffers",
|
||||
|
@ -63,11 +63,11 @@ dpdk_get_xstats (dpdk_device_t * xd)
|
||||
ret = rte_eth_xstats_get (xd->port_id, xd->xstats, len);
|
||||
if (ret < 0 || ret > len)
|
||||
{
|
||||
_vec_len (xd->xstats) = 0;
|
||||
vec_set_len (xd->xstats, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
_vec_len (xd->xstats) = len;
|
||||
vec_set_len (xd->xstats, len);
|
||||
}
|
||||
|
||||
#define DPDK_UPDATE_COUNTER(vnm, tidx, xd, stat, cnt) \
|
||||
|
@ -921,7 +921,7 @@ dpdk_log_read_ready (clib_file_t * uf)
|
||||
n = read (uf->file_descriptor, s + len, n_try);
|
||||
if (n < 0 && errno != EAGAIN)
|
||||
return clib_error_return_unix (0, "read");
|
||||
_vec_len (s) = len + (n < 0 ? 0 : n);
|
||||
vec_set_len (s, len + (n < 0 ? 0 : n));
|
||||
}
|
||||
|
||||
unformat_init_vector (&input, s);
|
||||
@ -1254,7 +1254,7 @@ dpdk_config (vlib_main_t * vm, unformat_input_t * input)
|
||||
|
||||
/* NULL terminate the "argv" vector, in case of stupidity */
|
||||
vec_add1 (conf->eal_init_args, 0);
|
||||
_vec_len (conf->eal_init_args) -= 1;
|
||||
vec_dec_len (conf->eal_init_args, 1);
|
||||
|
||||
/* Set up DPDK eal and packet mbuf pool early. */
|
||||
|
||||
|
@ -292,7 +292,7 @@ ip_udp_gtpu_rewrite (gtpu_tunnel_t * t, bool is_ip6)
|
||||
|
||||
t->rewrite = r.rw;
|
||||
/* Now only support 8-byte gtpu header. TBD */
|
||||
_vec_len (t->rewrite) = sizeof (ip4_gtpu_header_t) - 4;
|
||||
vec_set_len (t->rewrite, sizeof (ip4_gtpu_header_t) - 4);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -419,7 +419,7 @@ int vnet_gtpu_add_mod_del_tunnel
|
||||
vnet_interface_main_t *im = &vnm->interface_main;
|
||||
hw_if_index = gtm->free_gtpu_tunnel_hw_if_indices
|
||||
[vec_len (gtm->free_gtpu_tunnel_hw_if_indices) - 1];
|
||||
_vec_len (gtm->free_gtpu_tunnel_hw_if_indices) -= 1;
|
||||
vec_dec_len (gtm->free_gtpu_tunnel_hw_if_indices, 1);
|
||||
|
||||
hi = vnet_get_hw_interface (vnm, hw_if_index);
|
||||
hi->dev_instance = t - gtm->tunnels;
|
||||
|
@ -248,7 +248,7 @@ ec_node_fn (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
|
||||
conn_indices + vec_len (conn_indices) -
|
||||
nconns_this_batch,
|
||||
nconns_this_batch * sizeof (u32));
|
||||
_vec_len (conn_indices) -= nconns_this_batch;
|
||||
vec_dec_len (conn_indices, nconns_this_batch);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -221,7 +221,7 @@ hcs_cli_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
|
||||
else if (request[i] == ' ')
|
||||
{
|
||||
/* vlib_cli_input is vector-based, no need for a NULL */
|
||||
_vec_len (request) = i;
|
||||
vec_set_len (request, i);
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
@ -269,7 +269,7 @@ alloc_cli_process (hcs_cli_args_t *args)
|
||||
{
|
||||
n = vlib_get_node (vm, hcm->free_http_cli_process_node_indices[l - 1]);
|
||||
vlib_node_set_state (vm, n->index, VLIB_NODE_STATE_POLLING);
|
||||
_vec_len (hcm->free_http_cli_process_node_indices) = l - 1;
|
||||
vec_set_len (hcm->free_http_cli_process_node_indices, l - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -329,7 +329,7 @@ read_request (http_conn_t *hc)
|
||||
if (svm_fifo_is_empty (ts->rx_fifo))
|
||||
svm_fifo_unset_event (ts->rx_fifo);
|
||||
|
||||
_vec_len (hc->rx_buf) = cursize + n_read;
|
||||
vec_set_len (hc->rx_buf, cursize + n_read);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,7 @@ trim_path_from_request (u8 *s, char *path)
|
||||
* like a c-string.
|
||||
*/
|
||||
*cp = 0;
|
||||
_vec_len (s) = cp - s;
|
||||
vec_set_len (s, cp - s);
|
||||
break;
|
||||
}
|
||||
cp++;
|
||||
|
@ -224,7 +224,7 @@ try_index_file (hss_main_t *hsm, hss_session_t *hs, u8 *path)
|
||||
u32 plen;
|
||||
|
||||
/* Remove the trailing space */
|
||||
_vec_len (path) -= 1;
|
||||
vec_dec_len (path, 1);
|
||||
plen = vec_len (path);
|
||||
|
||||
/* Append "index.html" */
|
||||
|
@ -488,7 +488,7 @@ BN_bn2binpad (const BIGNUM * a, unsigned char *to, int tolen)
|
||||
{
|
||||
vec_insert (to, pad, 0);
|
||||
clib_memset (to, 0, pad);
|
||||
_vec_len (to) -= pad;
|
||||
vec_dec_len (to, pad);
|
||||
}
|
||||
return tolen;
|
||||
}
|
||||
@ -553,7 +553,7 @@ ikev2_generate_dh (ikev2_sa_t * sa, ikev2_sa_transform_t * t)
|
||||
{
|
||||
vec_insert (sa->dh_shared_key, pad, 0);
|
||||
clib_memset (sa->dh_shared_key, 0, pad);
|
||||
_vec_len (sa->dh_shared_key) -= pad;
|
||||
vec_dec_len (sa->dh_shared_key, pad);
|
||||
}
|
||||
BN_clear_free (ex);
|
||||
}
|
||||
@ -679,7 +679,7 @@ ikev2_complete_dh (ikev2_sa_t * sa, ikev2_sa_transform_t * t)
|
||||
{
|
||||
vec_insert (sa->dh_shared_key, pad, 0);
|
||||
clib_memset (sa->dh_shared_key, 0, pad);
|
||||
_vec_len (sa->dh_shared_key) -= pad;
|
||||
vec_dec_len (sa->dh_shared_key, pad);
|
||||
}
|
||||
BN_clear_free (ex);
|
||||
DH_free (dh);
|
||||
|
@ -287,7 +287,7 @@ ioam_export_header_create (ioam_export_main_t * em,
|
||||
(DEFAULT_EXPORT_RECORDS *
|
||||
DEFAULT_EXPORT_SIZE));
|
||||
ip->checksum = ip4_header_checksum (ip);
|
||||
_vec_len (rewrite) = sizeof (ip4_ipfix_data_packet_t);
|
||||
vec_set_len (rewrite, sizeof (ip4_ipfix_data_packet_t));
|
||||
em->record_header = rewrite;
|
||||
return (1);
|
||||
}
|
||||
|
@ -377,7 +377,7 @@ create_l2tpv3_ipv6_tunnel (l2t_main_t * lm,
|
||||
{
|
||||
hw_if_index = lm->free_l2tpv3_tunnel_hw_if_indices
|
||||
[vec_len (lm->free_l2tpv3_tunnel_hw_if_indices) - 1];
|
||||
_vec_len (lm->free_l2tpv3_tunnel_hw_if_indices) -= 1;
|
||||
vec_dec_len (lm->free_l2tpv3_tunnel_hw_if_indices, 1);
|
||||
|
||||
hi = vnet_get_hw_interface (vnm, hw_if_index);
|
||||
hi->dev_instance = s - lm->sessions;
|
||||
|
@ -155,7 +155,7 @@ lacp_input (vlib_main_t * vm, vlib_buffer_t * b0, u32 bi0)
|
||||
{
|
||||
mif->last_marker_pdu_recd_time = vlib_time_now (vm);
|
||||
if (mif->last_marker_pkt)
|
||||
_vec_len (mif->last_marker_pkt) = 0;
|
||||
vec_set_len (mif->last_marker_pkt, 0);
|
||||
vec_validate (mif->last_marker_pkt,
|
||||
vlib_buffer_length_in_chain (vm, b0) - 1);
|
||||
nbytes = vlib_buffer_contents (vm, bi0, mif->last_marker_pkt);
|
||||
@ -176,7 +176,7 @@ lacp_input (vlib_main_t * vm, vlib_buffer_t * b0, u32 bi0)
|
||||
* and reuse it.
|
||||
*/
|
||||
if (mif->last_rx_pkt)
|
||||
_vec_len (mif->last_rx_pkt) = 0;
|
||||
vec_set_len (mif->last_rx_pkt, 0);
|
||||
|
||||
/*
|
||||
* Make sure the per-neighbor rx buffer is big enough to hold
|
||||
@ -225,7 +225,7 @@ lacp_input (vlib_main_t * vm, vlib_buffer_t * b0, u32 bi0)
|
||||
mif->pdu_received++;
|
||||
|
||||
if (mif->last_rx_pkt)
|
||||
_vec_len (mif->last_rx_pkt) = 0;
|
||||
vec_set_len (mif->last_rx_pkt, 0);
|
||||
|
||||
return e;
|
||||
}
|
||||
|
@ -422,7 +422,7 @@ out:
|
||||
sort_arr[i].as_index = as - lbm->ass;
|
||||
i++;
|
||||
}
|
||||
_vec_len(sort_arr) = i;
|
||||
vec_set_len (sort_arr, i);
|
||||
|
||||
vec_sort_with_function(sort_arr, lb_pseudorand_compare);
|
||||
|
||||
|
@ -4830,7 +4830,7 @@ send_map_resolver_service (vlib_main_t * vm,
|
||||
{
|
||||
process_expired_mapping (lcm, mi[0]);
|
||||
}
|
||||
_vec_len (expired) = 0;
|
||||
vec_set_len (expired, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -429,7 +429,7 @@ lisp_gpe_create_iface (lisp_gpe_main_t * lgm, u32 vni, u32 dp_table,
|
||||
if (flen > 0)
|
||||
{
|
||||
hw_if_index = lgm->free_tunnel_hw_if_indices[flen - 1];
|
||||
_vec_len (lgm->free_tunnel_hw_if_indices) -= 1;
|
||||
vec_dec_len (lgm->free_tunnel_hw_if_indices, 1);
|
||||
|
||||
hi = vnet_get_hw_interface (vnm, hw_if_index);
|
||||
|
||||
|
@ -48,13 +48,13 @@ lldp_rpc_update_peer_cb (const lldp_intf_update_t * a)
|
||||
|
||||
if (n->chassis_id)
|
||||
{
|
||||
_vec_len (n->chassis_id) = 0;
|
||||
vec_set_len (n->chassis_id, 0);
|
||||
}
|
||||
vec_add (n->chassis_id, chassis_id, a->chassis_id_len);
|
||||
n->chassis_id_subtype = a->chassis_id_subtype;
|
||||
if (n->port_id)
|
||||
{
|
||||
_vec_len (n->port_id) = 0;
|
||||
vec_set_len (n->port_id, 0);
|
||||
}
|
||||
vec_add (n->port_id, portid, a->portid_len);
|
||||
n->port_id_subtype = a->portid_subtype;
|
||||
|
@ -220,7 +220,7 @@ lldp_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f)
|
||||
#endif
|
||||
if (event_data)
|
||||
{
|
||||
_vec_len (event_data) = 0;
|
||||
vec_set_len (event_data, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user