From: Damjan Marion Date: Wed, 29 Jun 2016 23:02:17 +0000 (+0200) Subject: Fix clang build X-Git-Tag: v16.09-rc1~224 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=ec175104cf5b09a91f2f9c7a36c6ca0703979eeb;p=vpp.git Fix clang build Change-Id: I678d7e0a7c91c7daf9feb3ec23a633b96fab56a7 Signed-off-by: Damjan Marion --- diff --git a/vnet/vnet/ip/ip6_forward.c b/vnet/vnet/ip/ip6_forward.c index eabaa89802b..5ad26df97d0 100644 --- a/vnet/vnet/ip/ip6_forward.c +++ b/vnet/vnet/ip/ip6_forward.c @@ -762,9 +762,9 @@ ip6_lookup_inline (vlib_main_t * vm, /* Only process the HBH Option Header if explicitly configured to do so */ next0 = (ip0->protocol == IP_PROTOCOL_IP6_HOP_BY_HOP_OPTIONS) && im->hbh_enabled && - adj_index0 ? IP6_LOOKUP_NEXT_HOP_BY_HOP : adj0->lookup_next_index; + adj_index0 ? (ip_lookup_next_t) IP6_LOOKUP_NEXT_HOP_BY_HOP : adj0->lookup_next_index; next1 = (ip1->protocol == IP_PROTOCOL_IP6_HOP_BY_HOP_OPTIONS) && im->hbh_enabled && - adj_index1 ? IP6_LOOKUP_NEXT_HOP_BY_HOP : adj1->lookup_next_index; + adj_index1 ? (ip_lookup_next_t) IP6_LOOKUP_NEXT_HOP_BY_HOP : adj1->lookup_next_index; vnet_buffer (p0)->ip.flow_hash = vnet_buffer(p1)->ip.flow_hash = 0; @@ -893,7 +893,7 @@ ip6_lookup_inline (vlib_main_t * vm, /* Only process the HBH Option Header if explicitly configured to do so */ next0 = (ip0->protocol == IP_PROTOCOL_IP6_HOP_BY_HOP_OPTIONS) && im->hbh_enabled && - adj_index0 ? IP6_LOOKUP_NEXT_HOP_BY_HOP : adj0->lookup_next_index; + adj_index0 ? (ip_lookup_next_t) IP6_LOOKUP_NEXT_HOP_BY_HOP : adj0->lookup_next_index; vnet_buffer (p0)->ip.flow_hash = 0; diff --git a/vnet/vnet/ip/ip6_hop_by_hop.c b/vnet/vnet/ip/ip6_hop_by_hop.c index f6e10f08d97..c9b151599f0 100644 --- a/vnet/vnet/ip/ip6_hop_by_hop.c +++ b/vnet/vnet/ip/ip6_hop_by_hop.c @@ -1079,10 +1079,10 @@ int ip6_ioam_set_destination (ip6_address_t *addr, u32 mask_width, u32 vrf_id, adj->saved_lookup_next_index = adj->lookup_next_index; if (is_add) - adj->lookup_next_index = IP6_LOOKUP_NEXT_ADD_HOP_BY_HOP; + adj->lookup_next_index = (ip_lookup_next_t) IP6_LOOKUP_NEXT_ADD_HOP_BY_HOP; if (is_pop) - adj->lookup_next_index = IP6_LOOKUP_NEXT_POP_HOP_BY_HOP; + adj->lookup_next_index = (ip_lookup_next_t) IP6_LOOKUP_NEXT_POP_HOP_BY_HOP; hm->adj = *addr; hm->ioam_flag = (is_add ? IOAM_HBYH_ADD : diff --git a/vppinfra/vppinfra/bitmap.h b/vppinfra/vppinfra/bitmap.h index a89aa399e2f..35de1b4819f 100644 --- a/vppinfra/vppinfra/bitmap.h +++ b/vppinfra/vppinfra/bitmap.h @@ -347,14 +347,14 @@ always_inline uword clib_bitmap_last_set (uword * ai) { uword i; - for (i = vec_len (ai) - 1; i >= 0 ; i--) + for (i = vec_len (ai); i > 0 ; i--) { - uword x = ai[i]; + uword x = ai[i - 1]; if (x != 0) { uword first_bit; count_leading_zeros (first_bit, x); - return (i + 1) * BITS (ai[0]) - first_bit - 1; + return (i) * BITS (ai[0]) - first_bit - 1; } } return ~0;