From f0ca1e8d92114582ec9142bd15a40f1eb0102793 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Sun, 13 Dec 2020 23:26:56 +0100 Subject: [PATCH] misc: refactor clib_bitmap_foreach macro Type: refactor Change-Id: I077110e1a422722e20aa546a6f3224c06ab0cde5 Signed-off-by: Damjan Marion --- src/plugins/acl/acl.c | 4 ++-- src/plugins/cnat/cnat_snat.c | 6 +++--- src/plugins/dpdk/device/device.c | 4 ++-- src/plugins/dpdk/device/init.c | 8 ++++---- src/plugins/lisp/lisp-cp/gid_dictionary.c | 12 ++++++------ src/plugins/map/lpm.c | 6 +++--- src/plugins/nat/nat.c | 14 +++++++------- src/plugins/nat/nat64/nat64.c | 6 +++--- src/vcl/ldp.c | 11 +++++------ src/vcl/vcl_locked.c | 4 ++-- src/vcl/vppcom.c | 8 ++++---- src/vlib/buffer.c | 8 ++++---- src/vlib/cli.c | 4 ++-- src/vlib/node.c | 8 ++++---- src/vlib/node_cli.c | 4 ++-- src/vlib/node_format.c | 4 ++-- src/vlib/threads.c | 12 ++++++------ src/vnet/crypto/node.c | 4 ++-- src/vnet/fib/ip6_fib.c | 6 +++--- src/vnet/handoff.c | 6 +++--- src/vnet/interface_api.c | 6 +++--- src/vnet/interface_cli.c | 12 ++++++------ src/vnet/interface_format.c | 8 ++++---- src/vnet/l2/l2_rw.c | 4 ++-- src/vnet/mfib/ip6_mfib.c | 6 +++--- src/vnet/pg/input.c | 4 ++-- src/vnet/span/node.c | 4 ++-- src/vnet/span/span.c | 4 ++-- src/vnet/span/span_api.c | 4 ++-- src/vpp/api/gmon.c | 6 +++--- src/vppinfra/bitmap.h | 8 +++++++- src/vppinfra/elf.c | 4 ++-- src/vppinfra/timing_wheel.c | 12 ++++++------ 33 files changed, 113 insertions(+), 108 deletions(-) diff --git a/src/plugins/acl/acl.c b/src/plugins/acl/acl.c index 05251c6fcd8..35f8b8cb82d 100644 --- a/src/plugins/acl/acl.c +++ b/src/plugins/acl/acl.c @@ -679,7 +679,7 @@ acl_interface_set_inout_acl_list (acl_main_t * am, u32 sw_if_index, seen_acl_bitmap, format_bitmap_hex, change_acl_bitmap); /* *INDENT-OFF* */ - clib_bitmap_foreach(acln, change_acl_bitmap, ({ + clib_bitmap_foreach (acln, change_acl_bitmap) { if (clib_bitmap_get(old_seen_acl_bitmap, acln)) { /* ACL is being removed. */ if (acln < vec_len((*pinout_sw_if_index_vec_by_acl))) { @@ -691,7 +691,7 @@ acl_interface_set_inout_acl_list (acl_main_t * am, u32 sw_if_index, vec_validate((*pinout_sw_if_index_vec_by_acl), acln); vec_add1((*pinout_sw_if_index_vec_by_acl)[acln], sw_if_index); } - })); + } /* *INDENT-ON* */ vec_free ((*pinout_acl_vec_by_sw_if_index)[sw_if_index]); diff --git a/src/plugins/cnat/cnat_snat.c b/src/plugins/cnat/cnat_snat.c index cc83dce4b20..7c799065b57 100644 --- a/src/plugins/cnat/cnat_snat.c +++ b/src/plugins/cnat/cnat_snat.c @@ -25,11 +25,11 @@ cnat_compute_prefix_lengths_in_search_order (cnat_snat_pfx_table_t * vec_reset_length (table->meta[af].prefix_lengths_in_search_order); /* Note: bitmap reversed so this is in fact a longest prefix match */ /* *INDENT-OFF* */ - clib_bitmap_foreach (i, table->meta[af].non_empty_dst_address_length_bitmap, - ({ + clib_bitmap_foreach (i, table->meta[af].non_empty_dst_address_length_bitmap) + { int dst_address_length = 128 - i; vec_add1 (table->meta[af].prefix_lengths_in_search_order, dst_address_length); - })); + } /* *INDENT-ON* */ } diff --git a/src/plugins/dpdk/device/device.c b/src/plugins/dpdk/device/device.c index 7a86ee0fe6b..4d26abde214 100644 --- a/src/plugins/dpdk/device/device.c +++ b/src/plugins/dpdk/device/device.c @@ -629,14 +629,14 @@ dpdk_interface_set_rss_queues (struct vnet_main_t *vnm, valid_queue_count = 0; /* *INDENT-OFF* */ - clib_bitmap_foreach (i, bitmap, ({ + clib_bitmap_foreach (i, bitmap) { if (i >= dev_info.nb_rx_queues) { err = clib_error_return (0, "illegal queue number"); goto done; } reta[valid_queue_count++] = i; - })); + } /* *INDENT-ON* */ /* check valid_queue_count not zero, make coverity happy */ diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c index bd8d435975c..19898b186fe 100644 --- a/src/plugins/dpdk/device/init.c +++ b/src/plugins/dpdk/device/init.c @@ -707,10 +707,10 @@ dpdk_lib_init (dpdk_main_t * dm) { int i; q = 0; - clib_bitmap_foreach (i, devconf->workers, ({ + clib_bitmap_foreach (i, devconf->workers) { vnet_hw_interface_assign_rx_thread (dm->vnet_main, xd->hw_if_index, q++, vdm->first_worker_thread_index + i); - })); + } } else for (q = 0; q < xd->rx_q_used; q++) @@ -1354,7 +1354,7 @@ dpdk_config (vlib_main_t * vm, unformat_input_t * input) default_hugepage_sz = clib_mem_get_default_hugepage_size (); /* *INDENT-OFF* */ - clib_bitmap_foreach (x, tm->cpu_socket_bitmap, ( + clib_bitmap_foreach (x, tm->cpu_socket_bitmap) { clib_error_t *e; uword n_pages; @@ -1365,7 +1365,7 @@ dpdk_config (vlib_main_t * vm, unformat_input_t * input) if ((e = clib_sysfs_prealloc_hugepages(x, 0, n_pages))) clib_error_report (e); - })); + } /* *INDENT-ON* */ } diff --git a/src/plugins/lisp/lisp-cp/gid_dictionary.c b/src/plugins/lisp/lisp-cp/gid_dictionary.c index 9b0af3f5c6d..a0cc9c09e3c 100644 --- a/src/plugins/lisp/lisp-cp/gid_dictionary.c +++ b/src/plugins/lisp/lisp-cp/gid_dictionary.c @@ -489,11 +489,11 @@ ip4_compute_prefix_lengths_in_search_order (gid_ip4_table_t * db) /* Note: bitmap reversed so this is in fact a longest prefix match */ /* *INDENT-OFF* */ - clib_bitmap_foreach (i, db->ip4_non_empty_dst_address_length_bitmap, - ({ + clib_bitmap_foreach (i, db->ip4_non_empty_dst_address_length_bitmap) + { int dst_address_length = 32 - i; vec_add1 (db->ip4_prefix_lengths_in_search_order, dst_address_length); - })); + } /* *INDENT-ON* */ } @@ -672,11 +672,11 @@ ip6_compute_prefix_lengths_in_search_order (gid_ip6_table_t * db) /* Note: bitmap reversed so this is in fact a longest prefix match */ /* *INDENT-OFF* */ - clib_bitmap_foreach (i, db->ip6_non_empty_dst_address_length_bitmap, - ({ + clib_bitmap_foreach (i, db->ip6_non_empty_dst_address_length_bitmap) + { int dst_address_length = 128 - i; vec_add1 (db->ip6_prefix_lengths_in_search_order, dst_address_length); - })); + } /* *INDENT-ON* */ } diff --git a/src/plugins/map/lpm.c b/src/plugins/map/lpm.c index 4abeefca06d..c0e5bad1417 100644 --- a/src/plugins/map/lpm.c +++ b/src/plugins/map/lpm.c @@ -111,12 +111,12 @@ lpm_128_lookup (lpm_t *lpm, void *addr_v, u8 pfxlen) ip6_address_t *addr = addr_v; int i = 0, rv; u32 value; - clib_bitmap_foreach (i, lpm->prefix_lengths_bitmap, - ({ + clib_bitmap_foreach (i, lpm->prefix_lengths_bitmap) + { rv = lpm_128_lookup_core(lpm, addr, i, &value); if (rv == 0) return value; - })); + } return ~0; } diff --git a/src/plugins/nat/nat.c b/src/plugins/nat/nat.c index 0694c348c12..05c7afc2b16 100644 --- a/src/plugins/nat/nat.c +++ b/src/plugins/nat/nat.c @@ -1491,10 +1491,10 @@ nat44_add_del_lb_static_mapping (ip4_address_t e_addr, u16 e_port, if (sm->num_workers > 1) { /* *INDENT-OFF* */ - clib_bitmap_foreach (i, bitmap, - ({ + clib_bitmap_foreach (i, bitmap) + { vec_add1(m->workers, i); - })); + } /* *INDENT-ON* */ } } @@ -1739,7 +1739,7 @@ nat44_lb_static_mapping_add_del_local (ip4_address_t e_addr, u16 e_port, if (sm->num_workers > 1) { /* *INDENT-OFF* */ - clib_bitmap_foreach (i, bitmap, ({ vec_add1(m->workers, i); })); + clib_bitmap_foreach (i, bitmap) { vec_add1(m->workers, i); } /* *INDENT-ON* */ } @@ -2467,13 +2467,13 @@ snat_set_workers (uword * bitmap) vec_free (sm->workers); /* *INDENT-OFF* */ - clib_bitmap_foreach (i, bitmap, - ({ + clib_bitmap_foreach (i, bitmap) + { vec_add1(sm->workers, i); sm->per_thread_data[sm->first_worker_index + i].snat_thread_index = j; sm->per_thread_data[sm->first_worker_index + i].thread_index = i; j++; - })); + } /* *INDENT-ON* */ sm->port_per_thread = (0xffff - 1024) / _vec_len (sm->workers); diff --git a/src/plugins/nat/nat64/nat64.c b/src/plugins/nat/nat64/nat64.c index ae7bb350436..6e5ceecb76f 100644 --- a/src/plugins/nat/nat64/nat64.c +++ b/src/plugins/nat/nat64/nat64.c @@ -283,10 +283,10 @@ nat64_init (vlib_main_t * vm) bitmap = clib_bitmap_set (bitmap, i, 1); /* *INDENT-OFF* */ - clib_bitmap_foreach (i, bitmap, - ({ + clib_bitmap_foreach (i, bitmap) + { vec_add1(nm->workers, i); - })); + } /* *INDENT-ON* */ clib_bitmap_free (bitmap); diff --git a/src/vcl/ldp.c b/src/vcl/ldp.c index 0f2412bc70a..98ed4a9b1ab 100644 --- a/src/vcl/ldp.c +++ b/src/vcl/ldp.c @@ -632,7 +632,7 @@ ldp_select_init_maps (fd_set * __restrict original, memset (original, 0, n_bytes); /* *INDENT-OFF* */ - clib_bitmap_foreach (fd, *resultb, ({ + clib_bitmap_foreach (fd, *resultb) { if (fd > nfds) break; vlsh = ldp_fd_to_vlsh (fd); @@ -640,7 +640,7 @@ ldp_select_init_maps (fd_set * __restrict original, clib_bitmap_set_no_check (*libcb, fd, 1); else *vclb = clib_bitmap_set (*vclb, vlsh_to_session_index (vlsh), 1); - })); + } /* *INDENT-ON* */ si_bits_set = clib_bitmap_last_set (*vclb) + 1; @@ -662,7 +662,7 @@ ldp_select_vcl_map_to_libc (clib_bitmap_t * vclb, fd_set * __restrict libcb) return 0; /* *INDENT-OFF* */ - clib_bitmap_foreach (si, vclb, ({ + clib_bitmap_foreach (si, vclb) { vlsh = vls_session_index_to_vlsh (si); ASSERT (vlsh != VLS_INVALID_HANDLE); fd = ldp_vlsh_to_fd (vlsh); @@ -672,7 +672,7 @@ ldp_select_vcl_map_to_libc (clib_bitmap_t * vclb, fd_set * __restrict libcb) return -1; } FD_SET (fd, libcb); - })); + } /* *INDENT-ON* */ return 0; @@ -687,9 +687,8 @@ ldp_select_libc_map_merge (clib_bitmap_t * result, fd_set * __restrict libcb) return; /* *INDENT-OFF* */ - clib_bitmap_foreach (fd, result, ({ + clib_bitmap_foreach (fd, result) FD_SET ((int)fd, libcb); - })); /* *INDENT-ON* */ } diff --git a/src/vcl/vcl_locked.c b/src/vcl/vcl_locked.c index 5beaecdfa4b..f3136f9d2ae 100644 --- a/src/vcl/vcl_locked.c +++ b/src/vcl/vcl_locked.c @@ -1340,14 +1340,14 @@ vls_select_mp_checks (vcl_si_set * read_map) wrk = vcl_worker_get_current (); /* *INDENT-OFF* */ - clib_bitmap_foreach (si, read_map, ({ + clib_bitmap_foreach (si, read_map) { s = vcl_session_get (wrk, si); if (s->session_state == VCL_STATE_LISTEN) { vls = vls_get (vls_session_index_to_vlsh (si)); vls_mp_checks (vls, 1 /* is_add */); } - })); + } /* *INDENT-ON* */ } diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index abad979f566..58c13c28763 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -2454,7 +2454,7 @@ vppcom_select (int n_bits, vcl_si_set * read_map, vcl_si_set * write_map, goto check_rd; /* *INDENT-OFF* */ - clib_bitmap_foreach (sid, wrk->wr_bitmap, ({ + clib_bitmap_foreach (sid, wrk->wr_bitmap) { if (!(session = vcl_session_get (wrk, sid))) { clib_bitmap_set_no_check ((uword*)write_map, sid, 1); @@ -2469,13 +2469,13 @@ vppcom_select (int n_bits, vcl_si_set * read_map, vcl_si_set * write_map, } else svm_fifo_add_want_deq_ntf (session->tx_fifo, SVM_FIFO_WANT_DEQ_NOTIF); - })); + } check_rd: if (!read_map) goto check_mq; - clib_bitmap_foreach (sid, wrk->rd_bitmap, ({ + clib_bitmap_foreach (sid, wrk->rd_bitmap) { if (!(session = vcl_session_get (wrk, sid))) { clib_bitmap_set_no_check ((uword*)read_map, sid, 1); @@ -2488,7 +2488,7 @@ check_rd: clib_bitmap_set_no_check ((uword*)read_map, sid, 1); bits_set++; } - })); + } /* *INDENT-ON* */ check_mq: diff --git a/src/vlib/buffer.c b/src/vlib/buffer.c index a30fca32d8b..e1c871c2a2a 100644 --- a/src/vlib/buffer.c +++ b/src/vlib/buffer.c @@ -886,7 +886,7 @@ vlib_buffer_main_init (struct vlib_main_t * vm) VLIB_BUFFER_MAX_NUMA_NODES); /* *INDENT-OFF* */ - clib_bitmap_foreach (numa_node, bmp, + clib_bitmap_foreach (numa_node, bmp) { u8 *index = bm->default_buffer_pool_index_for_numa + numa_node; index[0] = ~0; @@ -899,7 +899,7 @@ vlib_buffer_main_init (struct vlib_main_t * vm) if (first_valid_buffer_pool_index == 0xff) first_valid_buffer_pool_index = index[0]; - }); + } /* *INDENT-ON* */ if (first_valid_buffer_pool_index == (u8) ~ 0) @@ -909,12 +909,12 @@ vlib_buffer_main_init (struct vlib_main_t * vm) } /* *INDENT-OFF* */ - clib_bitmap_foreach (numa_node, bmp, + clib_bitmap_foreach (numa_node, bmp) { if (bm->default_buffer_pool_index_for_numa[numa_node] == (u8) ~0) bm->default_buffer_pool_index_for_numa[numa_node] = first_valid_buffer_pool_index; - }); + } /* *INDENT-ON* */ vec_foreach (bp, bm->buffer_pools) diff --git a/src/vlib/cli.c b/src/vlib/cli.c index db82dede152..e1db95d6af9 100644 --- a/src/vlib/cli.c +++ b/src/vlib/cli.c @@ -304,7 +304,7 @@ vlib_cli_get_possible_completions (u8 * str) * autocomplete the next level of subcommands */ help_next_level = (vec_len (str) == 0) || isspace (str[vec_len (str) - 1]); /* *INDENT-OFF* */ - clib_bitmap_foreach(index, match_bitmap, { + clib_bitmap_foreach (index, match_bitmap) { if (help_next_level && is_unique) { c = get_sub_command (vcm, c, index); vec_foreach (sc, c->sub_commands) { @@ -314,7 +314,7 @@ vlib_cli_get_possible_completions (u8 * str) } sc = &c->sub_commands[index]; vec_add1(result, (u8*) sc->name); - }); + } /* *INDENT-ON* */ done: diff --git a/src/vlib/node.c b/src/vlib/node.c index 387b774f305..cf65f297d6a 100644 --- a/src/vlib/node.c +++ b/src/vlib/node.c @@ -223,14 +223,14 @@ vlib_node_add_next_with_slot (vlib_main_t * vm, uword sib_node_index, sib_slot; vlib_node_t *sib_node; /* *INDENT-OFF* */ - clib_bitmap_foreach (sib_node_index, node->sibling_bitmap, ({ + clib_bitmap_foreach (sib_node_index, node->sibling_bitmap) { sib_node = vec_elt (nm->nodes, sib_node_index); if (sib_node != node) { sib_slot = vlib_node_add_next_with_slot (vm, sib_node_index, next_node_index, slot); ASSERT (sib_slot == slot); } - })); + } /* *INDENT-ON* */ } @@ -627,7 +627,7 @@ vlib_node_main_init (vlib_main_t * vm) } /* *INDENT-OFF* */ - clib_bitmap_foreach (si, sib->sibling_bitmap, ({ + clib_bitmap_foreach (si, sib->sibling_bitmap) { vlib_node_t * m = vec_elt (nm->nodes, si); /* Connect all of sibling's siblings to us. */ @@ -635,7 +635,7 @@ vlib_node_main_init (vlib_main_t * vm) /* Connect us to all of sibling's siblings. */ n->sibling_bitmap = clib_bitmap_ori (n->sibling_bitmap, si); - })); + } /* *INDENT-ON* */ /* Connect sibling to us. */ diff --git a/src/vlib/node_cli.c b/src/vlib/node_cli.c index 7cfc4a36f8c..c5458b218bf 100644 --- a/src/vlib/node_cli.c +++ b/src/vlib/node_cli.c @@ -658,14 +658,14 @@ show_node (vlib_main_t * vm, unformat_input_t * input, { int j = 0; /* *INDENT-OFF* */ - clib_bitmap_foreach (i, n->prev_node_bitmap, ({ + clib_bitmap_foreach (i, n->prev_node_bitmap) { vlib_node_t *pn = vlib_get_node (vm, i); if (j++ % 3 == 0) s = format (s, "\n "); s2 = format (s2, "%v (%u)", pn->name, i); s = format (s, "%-35v", s2); vec_reset_length (s2); - })); + } /* *INDENT-ON* */ if (vec_len (s) == 0) diff --git a/src/vlib/node_format.c b/src/vlib/node_format.c index 19ebfc15b74..822a8f64e1a 100644 --- a/src/vlib/node_format.c +++ b/src/vlib/node_format.c @@ -74,11 +74,11 @@ format_vlib_node_graph (u8 * s, va_list * va) j = 0; /* *INDENT-OFF* */ - clib_bitmap_foreach (i, n->prev_node_bitmap, ({ + clib_bitmap_foreach (i, n->prev_node_bitmap) { vec_validate_init_empty (tmps, j, empty); tmps[j].prev_node = i; j++; - })); + } /* *INDENT-ON* */ for (i = 0; i < vec_len (tmps); i++) diff --git a/src/vlib/threads.c b/src/vlib/threads.c index 749770f9597..7efddff54e8 100644 --- a/src/vlib/threads.c +++ b/src/vlib/threads.c @@ -320,13 +320,13 @@ vlib_thread_init (vlib_main_t * vm) { uword c; /* *INDENT-OFF* */ - clib_bitmap_foreach (c, tr->coremask, ({ + clib_bitmap_foreach (c, tr->coremask) { if (clib_bitmap_get(avail_cpu, c) == 0) return clib_error_return (0, "cpu %u is not available to be used" " for the '%s' thread",c, tr->name); avail_cpu = clib_bitmap_set(avail_cpu, c, 0); - })); + } /* *INDENT-ON* */ } else @@ -606,14 +606,14 @@ vlib_get_thread_core_numa (vlib_worker_thread_t * w, unsigned cpu_id) /* *INDENT-OFF* */ clib_sysfs_read ("/sys/devices/system/node/online", "%U", unformat_bitmap_list, &nbmp); - clib_bitmap_foreach (node, nbmp, ({ + clib_bitmap_foreach (node, nbmp) { p = format (p, "%s%u/cpulist%c", sys_node_path, node, 0); clib_sysfs_read ((char *) p, "%U", unformat_bitmap_list, &cbmp); if (clib_bitmap_get (cbmp, cpu_id)) numa_id = node; vec_reset_length (cbmp); vec_reset_length (p); - })); + } /* *INDENT-ON* */ vec_free (nbmp); vec_free (cbmp); @@ -976,13 +976,13 @@ start_workers (vlib_main_t * vm) { uword c; /* *INDENT-OFF* */ - clib_bitmap_foreach (c, tr->coremask, ({ + clib_bitmap_foreach (c, tr->coremask) { w = vlib_worker_threads + worker_thread_index++; err = vlib_launch_thread_int (vlib_worker_thread_bootstrap_fn, w, c); if (err) clib_error_report (err); - })); + } /* *INDENT-ON* */ } } diff --git a/src/vnet/crypto/node.c b/src/vnet/crypto/node.c index 12e6033ad80..63ed95e7d93 100644 --- a/src/vnet/crypto/node.c +++ b/src/vnet/crypto/node.c @@ -161,10 +161,10 @@ VLIB_NODE_FN (crypto_dispatch_node) (vlib_main_t * vm, u32 index; /* *INDENT-OFF* */ - clib_bitmap_foreach (index, cm->async_active_ids, ({ + clib_bitmap_foreach (index, cm->async_active_ids) { n_cache = crypto_dequeue_frame (vm, node, ct, cm->dequeue_handlers[index], n_cache, &n_dispatched); - })); + } /* *INDENT-ON* */ if (n_cache) vlib_buffer_enqueue_to_next (vm, node, ct->buffer_indice, ct->nexts, diff --git a/src/vnet/fib/ip6_fib.c b/src/vnet/fib/ip6_fib.c index 6943166663f..62bf16f0efc 100644 --- a/src/vnet/fib/ip6_fib.c +++ b/src/vnet/fib/ip6_fib.c @@ -264,11 +264,11 @@ compute_prefix_lengths_in_search_order (ip6_fib_table_instance_t *table) old = table->prefix_lengths_in_search_order; /* Note: bitmap reversed so this is in fact a longest prefix match */ - clib_bitmap_foreach (i, table->non_empty_dst_address_length_bitmap, - ({ + clib_bitmap_foreach (i, table->non_empty_dst_address_length_bitmap) + { int dst_address_length = 128 - i; vec_add1(prefix_lengths_in_search_order, dst_address_length); - })); + } table->prefix_lengths_in_search_order = prefix_lengths_in_search_order; diff --git a/src/vnet/handoff.c b/src/vnet/handoff.c index ca46b5a7ab6..cbdc5289243 100644 --- a/src/vnet/handoff.c +++ b/src/vnet/handoff.c @@ -213,10 +213,10 @@ interface_handoff_enable_disable (vlib_main_t * vm, u32 sw_if_index, { d->workers_bitmap = bitmap; /* *INDENT-OFF* */ - clib_bitmap_foreach (i, bitmap, - ({ + clib_bitmap_foreach (i, bitmap) + { vec_add1(d->workers, i); - })); + } /* *INDENT-ON* */ } diff --git a/src/vnet/interface_api.c b/src/vnet/interface_api.c index 240f13fa418..a06f02fe0ac 100644 --- a/src/vnet/interface_api.c +++ b/src/vnet/interface_api.c @@ -1078,8 +1078,8 @@ static void vl_api_sw_interface_rx_placement_dump_t_handler /* *INDENT-OFF* */ foreach_vlib_main (({ - clib_bitmap_foreach (si, pn->sibling_bitmap, - ({ + clib_bitmap_foreach (si, pn->sibling_bitmap) + { rt = vlib_node_get_runtime_data (this_vlib_main, si); vec_foreach (dq, rt->devices_and_queues) { @@ -1088,7 +1088,7 @@ static void vl_api_sw_interface_rx_placement_dump_t_handler send_interface_rx_placement_details (am, reg, hw->sw_if_index, index, dq->queue_id, dq->mode, mp->context); } - })); + } index++; })); /* *INDENT-ON* */ diff --git a/src/vnet/interface_cli.c b/src/vnet/interface_cli.c index 73f70cf5b1b..c9f11546b31 100644 --- a/src/vnet/interface_cli.c +++ b/src/vnet/interface_cli.c @@ -139,12 +139,12 @@ show_or_clear_hw_interfaces (vlib_main_t * vm, hi, verbose); /* *INDENT-OFF* */ - clib_bitmap_foreach (hw_idx, hi->bond_info, - ({ + clib_bitmap_foreach (hw_idx, hi->bond_info) + { shi = vnet_get_hw_interface(vnm, hw_idx); vlib_cli_output (vm, "%U\n", format_vnet_hw_interface, vnm, shi, verbose); - })); + } /* *INDENT-ON* */ } } @@ -1663,8 +1663,8 @@ show_interface_rx_placement_fn (vlib_main_t * vm, unformat_input_t * input, /* *INDENT-OFF* */ foreach_vlib_main (({ - clib_bitmap_foreach (si, pn->sibling_bitmap, - ({ + clib_bitmap_foreach (si, pn->sibling_bitmap) + { rt = vlib_node_get_runtime_data (this_vlib_main, si); if (vec_len (rt->devices_and_queues)) @@ -1679,7 +1679,7 @@ show_interface_rx_placement_fn (vlib_main_t * vm, unformat_input_t * input, dq->queue_id, format_vnet_hw_if_rx_mode, dq->mode); } - })); + } if (vec_len (s) > 0) { vlib_cli_output(vm, "Thread %u (%s):\n%v", index, diff --git a/src/vnet/interface_format.c b/src/vnet/interface_format.c index a2adc9bbb02..9038e5d96e7 100644 --- a/src/vnet/interface_format.c +++ b/src/vnet/interface_format.c @@ -142,9 +142,9 @@ format_vnet_hw_interface_rss_queues (u8 * s, va_list * args) if (bitmap) { /* *INDENT-OFF* */ - clib_bitmap_foreach (i, bitmap, ({ + clib_bitmap_foreach (i, bitmap) { s = format (s, "%u ", i); - })); + } /* *INDENT-ON* */ } @@ -181,8 +181,8 @@ format_vnet_hw_interface (u8 * s, va_list * args) { int hw_idx; s = format (s, "Slave-Idx:"); - clib_bitmap_foreach (hw_idx, hi->bond_info, s = - format (s, " %d", hw_idx)); + clib_bitmap_foreach (hw_idx, hi->bond_info) + s = format (s, " %d", hw_idx); } else if (dev_class->format_device_name) s = format (s, "%U", dev_class->format_device_name, hi->dev_instance); diff --git a/src/vnet/l2/l2_rw.c b/src/vnet/l2/l2_rw.c index 59b7de91279..a7c95fe1a77 100644 --- a/src/vnet/l2/l2_rw.c +++ b/src/vnet/l2/l2_rw.c @@ -498,9 +498,9 @@ l2_rw_show_interfaces_cli_fn (vlib_main_t * vm, uword i; /* *INDENT-OFF* */ - clib_bitmap_foreach(i, rw->configs_bitmap, { + clib_bitmap_foreach (i, rw->configs_bitmap) { vlib_cli_output (vm, "sw_if_index:%d %U\n", i, format_l2_rw_config, &rw->configs[i]); - }); + } /* *INDENT-ON* */ return 0; } diff --git a/src/vnet/mfib/ip6_mfib.c b/src/vnet/mfib/ip6_mfib.c index b5e5bce8ffc..bbab7ae2214 100644 --- a/src/vnet/mfib/ip6_mfib.c +++ b/src/vnet/mfib/ip6_mfib.c @@ -457,10 +457,10 @@ compute_prefix_lengths_in_search_order (ip6_mfib_table_instance_t *table) int i; vec_reset_length (table->prefix_lengths_in_search_order); /* Note: bitmap reversed so this is in fact a longest prefix match */ - clib_bitmap_foreach (i, table->non_empty_dst_address_length_bitmap, - ({ + clib_bitmap_foreach (i, table->non_empty_dst_address_length_bitmap) + { vec_add1(table->prefix_lengths_in_search_order, (256 - i)); - })); + } } void diff --git a/src/vnet/pg/input.c b/src/vnet/pg/input.c index 63031cef35d..940bf124c56 100644 --- a/src/vnet/pg/input.c +++ b/src/vnet/pg/input.c @@ -1808,10 +1808,10 @@ pg_input (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) worker_index = vlib_get_current_worker_index (); /* *INDENT-OFF* */ - clib_bitmap_foreach (i, pg->enabled_streams[worker_index], ({ + clib_bitmap_foreach (i, pg->enabled_streams[worker_index]) { pg_stream_t *s = vec_elt_at_index (pg->streams, i); n_packets += pg_input_stream (node, pg, s); - })); + } /* *INDENT-ON* */ return n_packets; diff --git a/src/vnet/span/node.c b/src/vnet/span/node.c index 1a9d1bae724..ca5ea68ae90 100644 --- a/src/vnet/span/node.c +++ b/src/vnet/span/node.c @@ -85,7 +85,7 @@ span_mirror (vlib_main_t * vm, vlib_node_runtime_t * node, u32 sw_if_index0, return; /* *INDENT-OFF* */ - clib_bitmap_foreach (i, sm0->mirror_ports, ( + clib_bitmap_foreach (i, sm0->mirror_ports) { if (mirror_frames[i] == 0) { @@ -121,7 +121,7 @@ span_mirror (vlib_main_t * vm, vlib_node_runtime_t * node, u32 sw_if_index0, #endif } } - })); + } /* *INDENT-ON* */ } diff --git a/src/vnet/span/span.c b/src/vnet/span/span.c index fc923e0ce31..ec47920504a 100644 --- a/src/vnet/span/span.c +++ b/src/vnet/span/span.c @@ -212,7 +212,7 @@ show_interfaces_span_command_fn (vlib_main_t * vm, } s = format (s, "%U", format_vnet_sw_if_index_name, vnm, si - sm->interfaces); - clib_bitmap_foreach (i, b, ( + clib_bitmap_foreach (i, b) { int device = (clib_bitmap_get (drxm->mirror_ports, i) + clib_bitmap_get (dtxm->mirror_ports, i) * 2); @@ -223,7 +223,7 @@ show_interfaces_span_command_fn (vlib_main_t * vm, format_vnet_sw_if_index_name, vnm, i, states[device], states[l2]); vec_reset_length (s); - })); + } clib_bitmap_free (b); clib_bitmap_free (l); clib_bitmap_free (d); diff --git a/src/vnet/span/span_api.c b/src/vnet/span/span_api.c index dacbe2e0aa9..96d1facc2df 100644 --- a/src/vnet/span/span_api.c +++ b/src/vnet/span/span_api.c @@ -86,7 +86,7 @@ vl_api_sw_interface_span_dump_t_handler (vl_api_sw_interface_span_dump_t * mp) clib_bitmap_t *b; u32 i; b = clib_bitmap_dup_or (rxm->mirror_ports, txm->mirror_ports); - clib_bitmap_foreach (i, b, ( + clib_bitmap_foreach (i, b) { rmp = vl_msg_api_alloc (sizeof (*rmp)); clib_memset (rmp, 0, sizeof (*rmp)); @@ -100,7 +100,7 @@ vl_api_sw_interface_span_dump_t_handler (vl_api_sw_interface_span_dump_t * mp) rmp->is_l2 = mp->is_l2; vl_api_send_msg (reg, (u8 *) rmp); - })); + } clib_bitmap_free (b); } } diff --git a/src/vpp/api/gmon.c b/src/vpp/api/gmon.c index a8eecbbde19..b3244452c7b 100644 --- a/src/vpp/api/gmon.c +++ b/src/vpp/api/gmon.c @@ -74,8 +74,8 @@ get_significant_errors (gmon_main_t * gm) u64 significant_errors = 0; /* *INDENT-OFF* */ - clib_bitmap_foreach (code, gm->sig_error_bitmap, - ({ + clib_bitmap_foreach (code, gm->sig_error_bitmap) + { for (vm_index = 0; vm_index < vec_len (gm->my_vlib_mains); vm_index++) { this_vlib_main = gm->my_vlib_mains[vm_index]; @@ -84,7 +84,7 @@ get_significant_errors (gmon_main_t * gm) ((vec_len(em->counters_last_clear) > code) ? em->counters_last_clear[code] : 0); } - })); + } /* *INDENT-ON* */ return (significant_errors); diff --git a/src/vppinfra/bitmap.h b/src/vppinfra/bitmap.h index 44411163975..5c56068da77 100644 --- a/src/vppinfra/bitmap.h +++ b/src/vppinfra/bitmap.h @@ -358,7 +358,13 @@ clib_bitmap_set_region (uword * bitmap, uword i, uword value, uword n_bits) @param ai - the bitmap @param body - the expression to evaluate for each set bit */ -#define clib_bitmap_foreach(i,ai,body) \ +#define clib_bitmap_foreach(i,ai) \ + if (ai) \ + for (i = clib_bitmap_first_set (ai); \ + i != ~0; \ + i = clib_bitmap_next_set (ai, i + 1)) + +#define clib_bitmap_foreach_old(i,ai,body) \ do { \ uword __bitmap_i, __bitmap_ai, __bitmap_len, __bitmap_first_set; \ __bitmap_len = vec_len ((ai)); \ diff --git a/src/vppinfra/elf.c b/src/vppinfra/elf.c index e32d989a602..c492b3b0795 100644 --- a/src/vppinfra/elf.c +++ b/src/vppinfra/elf.c @@ -1705,7 +1705,7 @@ layout_sections (elf_main_t * em) s_lo = s_hi = 0; /* *INDENT-OFF* */ - clib_bitmap_foreach (si, g->section_index_bitmap, ({ + clib_bitmap_foreach (si, g->section_index_bitmap) { u64 lo, hi; s = vec_elt_at_index (em->sections, si); @@ -1728,7 +1728,7 @@ layout_sections (elf_main_t * em) if (hi > s_hi) s_hi = hi; } - })); + } /* *INDENT-ON* */ if (n_sections == 0) diff --git a/src/vppinfra/timing_wheel.c b/src/vppinfra/timing_wheel.c index a6c476b2cfa..2c46d72a2fe 100644 --- a/src/vppinfra/timing_wheel.c +++ b/src/vppinfra/timing_wheel.c @@ -303,11 +303,11 @@ timing_wheel_insert (timing_wheel_t * w, u64 insert_cpu_time, u32 user_data) vec_foreach (l, w->levels) { /* *INDENT-OFF* */ - clib_bitmap_foreach (wi, l->occupancy_bitmap, ({ + clib_bitmap_foreach (wi, l->occupancy_bitmap) { l->elts[wi] = delete_user_data (l->elts[wi], user_data); if (vec_len (l->elts[wi]) == 0) l->occupancy_bitmap = clib_bitmap_andnoti (l->occupancy_bitmap, wi); - })); + } /* *INDENT-ON* */ } @@ -486,7 +486,7 @@ advance_cpu_time_base (timing_wheel_t * w, u32 * expired_user_data) { uword wi; /* *INDENT-OFF* */ - clib_bitmap_foreach (wi, l->occupancy_bitmap, ({ + clib_bitmap_foreach (wi, l->occupancy_bitmap) { vec_foreach (e, l->elts[wi]) { /* This should always be true since otherwise we would have already expired @@ -495,7 +495,7 @@ advance_cpu_time_base (timing_wheel_t * w, u32 * expired_user_data) ASSERT (e->cpu_time_relative_to_base >= delta); e->cpu_time_relative_to_base -= delta; } - })); + } /* *INDENT-ON* */ } @@ -648,10 +648,10 @@ timing_wheel_advance (timing_wheel_t * w, u64 advance_cpu_time, level = vec_elt_at_index (w->levels, level_index); /* *INDENT-OFF* */ - clib_bitmap_foreach (wi, level->occupancy_bitmap, ({ + clib_bitmap_foreach (wi, level->occupancy_bitmap) { expired_user_data = expire_bin (w, level_index, wi, advance_cpu_time, expired_user_data); - })); + } /* *INDENT-ON* */ } -- 2.16.6