Coverage Report

Created: 2025-10-08 06:07

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/frr/lib/bitfield.h
Line
Count
Source
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
/* Bitfields
3
 * Copyright (C) 2016 Cumulus Networks, Inc.
4
 */
5
/**
6
 * A simple bit array implementation to allocate and free IDs. An example
7
 * of its usage is in allocating link state IDs for OSPFv3 as OSPFv3 has
8
 * removed all address semantics from LS ID. Another usage can be in
9
 * allocating IDs for BGP neighbors (and dynamic update groups) for
10
 * efficient storage of adj-rib-out.
11
 *
12
 * An example:
13
 * #include "bitfield.h"
14
 *
15
 * bitfield_t bitfield;
16
 *
17
 * bf_init(bitfield, 32);
18
 * ...
19
 * bf_assign_index(bitfield, id1);
20
 * bf_assign_index(bitfield, id2);
21
 * ...
22
 * bf_release_index(bitfield, id1);
23
 */
24
25
#ifndef _BITFIELD_H
26
#define _BITFIELD_H
27
28
#include <stdio.h>
29
#include <string.h>
30
#include <stdlib.h>
31
32
#ifdef __cplusplus
33
extern "C" {
34
#endif
35
36
typedef unsigned int word_t;
37
8
#define WORD_MAX 0xFFFFFFFF
38
15
#define WORD_SIZE (sizeof(word_t) * 8)
39
40
/**
41
 * The bitfield structure.
42
 * @data: the bits to manage.
43
 * @n: The current word number that is being used.
44
 * @m: total number of words in 'data'
45
 */
46
typedef struct {word_t *data; size_t n, m; } bitfield_t;
47
48
DECLARE_MTYPE(BITFIELD);
49
50
/**
51
 * Initialize the bits.
52
 * @v: an instance of bitfield_t struct.
53
 * @N: number of bits to start with, which equates to how many
54
 *     IDs can be allocated.
55
 */
56
#define bf_init(v, N)                                                          \
57
3
  do {                                                                   \
58
3
    (v).n = 0;                                                     \
59
3
    (v).m = ((N) / WORD_SIZE + 1);                                 \
60
3
    (v).data = (word_t *)XCALLOC(MTYPE_BITFIELD,                   \
61
3
               ((v).m * sizeof(word_t)));        \
62
3
  } while (0)
63
64
/**
65
 * allocate and assign an id from bitfield v.
66
 */
67
#define bf_assign_index(v, id)                                                 \
68
4
  do {                                                                   \
69
4
    bf_find_bit(v, id);                                            \
70
4
    bf_set_bit(v, id);                                             \
71
4
  } while (0)
72
73
/*
74
 * allocate and assign 0th bit in the bitfiled.
75
 */
76
#define bf_assign_zero_index(v)                                                \
77
3
  do {                                                                   \
78
3
    int id = 0;                                                    \
79
3
    bf_assign_index(v, id);                                        \
80
3
  } while (0)
81
82
/*
83
 * return an id to bitfield v
84
 */
85
#define bf_release_index(v, id)                                                \
86
0
  (v).data[bf_index(id)] &= ~(1 << (bf_offset(id)))
87
88
/* check if an id is in use */
89
#define bf_test_index(v, id)                                                \
90
0
  ((v).data[bf_index(id)] & (1 << (bf_offset(id))))
91
92
/* check if the bit field has been setup */
93
0
#define bf_is_inited(v) ((v).data)
94
95
/* compare two bitmaps of the same length */
96
0
#define bf_cmp(v1, v2) (memcmp((v1).data, (v2).data, ((v1).m * sizeof(word_t))))
97
98
/*
99
 * return 0th index back to bitfield
100
 */
101
#define bf_release_zero_index(v) bf_release_index(v, 0)
102
103
4
#define bf_index(b) ((b) / WORD_SIZE)
104
4
#define bf_offset(b) ((b) % WORD_SIZE)
105
106
/**
107
 * Set a bit in the array. If it fills up that word and we are
108
 * out of words, extend it by one more word.
109
 */
110
#define bf_set_bit(v, b)                                                       \
111
4
  do {                                                                   \
112
4
    size_t w = bf_index(b);                                        \
113
4
    (v).data[w] |= 1 << (bf_offset(b));                            \
114
4
    (v).n += ((v).data[w] == WORD_MAX);                            \
115
4
    if ((v).n == (v).m) {                                          \
116
0
      (v).m = (v).m + 1;                                     \
117
0
      (v).data = realloc((v).data, (v).m * sizeof(word_t));  \
118
0
    }                                                              \
119
4
  } while (0)
120
121
/* Find a clear bit in v and assign it to b. */
122
#define bf_find_bit(v, b)                                                      \
123
4
  do {                                                                   \
124
4
    word_t word = 0;                                               \
125
4
    unsigned int w, sh;                                            \
126
4
    for (w = 0; w <= (v).n; w++) {                                 \
127
4
      if ((word = (v).data[w]) != WORD_MAX)                  \
128
4
        break;                                         \
129
4
    }                                                              \
130
4
    (b) = ((word & 0xFFFF) == 0xFFFF) << 4;                        \
131
4
    word >>= (b);                                                  \
132
4
    sh = ((word & 0xFF) == 0xFF) << 3;                             \
133
4
    word >>= sh;                                                   \
134
4
    (b) |= sh;                                                     \
135
4
    sh = ((word & 0xF) == 0xF) << 2;                               \
136
4
    word >>= sh;                                                   \
137
4
    (b) |= sh;                                                     \
138
4
    sh = ((word & 0x3) == 0x3) << 1;                               \
139
4
    word >>= sh;                                                   \
140
4
    (b) |= sh;                                                     \
141
4
    sh = ((word & 0x1) == 0x1) << 0;                               \
142
4
    word >>= sh;                                                   \
143
4
    (b) |= sh;                                                     \
144
4
    (b) += (w * WORD_SIZE);                                        \
145
4
  } while (0)
146
147
/*
148
 * Find a clear bit in v and return it
149
 * Start looking in the word containing bit position start_index.
150
 * If necessary, wrap around after bit position max_index.
151
 */
152
static inline unsigned int
153
bf_find_next_clear_bit_wrap(bitfield_t *v, word_t start_index, word_t max_index)
154
0
{
155
0
  int start_bit;
156
0
  unsigned long i, offset, scanbits, wordcount_max, index_max;
157
158
0
  if (start_index > max_index)
159
0
    start_index = 0;
160
161
0
  start_bit = start_index & (WORD_SIZE - 1);
162
0
  wordcount_max = bf_index(max_index) + 1;
163
164
0
  scanbits = WORD_SIZE;
165
0
  for (i = bf_index(start_index); i < v->m; ++i) {
166
0
    if (v->data[i] == WORD_MAX) {
167
      /* if the whole word is full move to the next */
168
0
      start_bit = 0;
169
0
      continue;
170
0
    }
171
    /* scan one word for clear bits */
172
0
    if ((i == v->m - 1) && (v->m >= wordcount_max))
173
      /* max index could be only part of word */
174
0
      scanbits = (max_index % WORD_SIZE) + 1;
175
0
    for (offset = start_bit; offset < scanbits; ++offset) {
176
0
      if (!((v->data[i] >> offset) & 1))
177
0
        return ((i * WORD_SIZE) + offset);
178
0
    }
179
    /* move to the next word */
180
0
    start_bit = 0;
181
0
  }
182
183
0
  if (v->m < wordcount_max) {
184
    /*
185
     * We can expand bitfield, so no need to wrap.
186
     * Return the index of the first bit of the next word.
187
     * Assumption is that caller will call bf_set_bit which
188
     * will allocate additional space.
189
     */
190
0
    v->m += 1;
191
0
    v->data = (word_t *)realloc(v->data, v->m * sizeof(word_t));
192
0
    v->data[v->m - 1] = 0;
193
0
    return v->m * WORD_SIZE;
194
0
  }
195
196
  /*
197
   * start looking for a clear bit at the start of the bitfield and
198
   * stop when we reach start_index
199
   */
200
0
  scanbits = WORD_SIZE;
201
0
  index_max = bf_index(start_index - 1);
202
0
  for (i = 0; i <= index_max; ++i) {
203
0
    if (i == index_max)
204
0
      scanbits = ((start_index - 1) % WORD_SIZE) + 1;
205
0
    for (offset = start_bit; offset < scanbits; ++offset) {
206
0
      if (!((v->data[i] >> offset) & 1))
207
0
        return ((i * WORD_SIZE) + offset);
208
0
    }
209
    /* move to the next word */
210
0
    start_bit = 0;
211
0
  }
212
213
0
  return WORD_MAX;
214
0
}
Unexecuted instantiation: ospf_main.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-ospf-route-map.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_bfd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_dump.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_dump_api.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_errors.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_interface.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_lsa.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_lsdb.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_neighbor.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_network.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_nsm.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_opaque.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_packet.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_ri.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_routemap.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_routemap_nb.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_routemap_nb_config.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_spf.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_ti_lfa.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_sr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_te.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_zebra.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospfd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_gr_helper.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_abr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_apiserver.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_asbr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_ase.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_ext.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_flood.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_gr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_ia.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_ism.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_ldp_sync.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_route.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ospf_api.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: admin_group.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: affinitymap.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: affinitymap_cli.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: affinitymap_northbound.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: agg_table.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: asn.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bfd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: buffer.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: command.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: command_graph.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: command_match.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: cspf.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: debug.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: distribute.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ferr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: filter.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: filter_cli.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: filter_nb.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: flex_algo.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr_pthread.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: grammar_sandbox.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: hash.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: id_alloc.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: if.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: if_rmap.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: json.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: keychain.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ldp_sync.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: lib_errors.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: lib_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: libfrr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: link_state.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: log.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: log_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: mgmt_be_client.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: mgmt_fe_client.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: mgmt_msg.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: mlag.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: srv6.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: network.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: nexthop.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: netns_linux.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: nexthop_group.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: northbound.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: northbound_cli.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: northbound_db.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pid_output.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: plist.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: prefix.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: privs.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pullwr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: routemap.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: routemap_cli.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: routemap_northbound.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: sigevent.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: skiplist.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: sockopt.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: sockunion.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: spf_backoff.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: srcdest_table.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: stream.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: systemd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: table.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: termtable.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: event.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: vrf.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: workqueue.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: xref.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: yang_translator.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: yang_wrappers.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zclient.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zlog_5424.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zlog_5424_cli.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: routing_nb.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: routing_nb_config.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: tc.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-affinity-map.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-filter.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-if-rmap.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-interface.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-route-map.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-route-types.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-vrf.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-routing.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-nexthop.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ietf-routing-types.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ietf-interfaces.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ietf-bgp-types.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-module-translator.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: connected.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: if_netlink.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: interface.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: ioctl.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: kernel_netlink.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: label_manager.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: main.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: netconf_netlink.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: redistribute.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: router-id.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rt_netlink.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rtadv.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rtread_netlink.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rule_netlink.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: table_manager.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: tc_netlink.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zapi_msg.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_affinitymap.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_dplane.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_errors.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_gr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_l2.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_l2_bridge_if.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_evpn.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_evpn_mac.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_evpn_neigh.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_mlag.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_mlag_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_mpls.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_mpls_netlink.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_mpls_null.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_mpls_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_srv6.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_srv6_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_mroute.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_nb.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_nb_config.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_nb_rpcs.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_nb_state.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_netns_id.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_netns_notify.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_nhg.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_ns.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_opaque.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_pbr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_ptm.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_ptm_redistribute.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_pw.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_rib.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_router.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_rnh.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_routemap.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_routemap_nb.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_routemap_nb_config.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_script.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_srte.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_tc.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_vrf.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_vxlan.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_vxlan_if.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_evpn_mh.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zebra_neigh.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: zserv.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: debug_nl.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-zebra.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-zebra-route-map.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_main.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp-types.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp-common-structure.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp-common.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp-common-multiprotocol.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp-neighbor.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp-peer-group.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp-bmp.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp-rpki.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-deviations-bgp-datacenter.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp-filter.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-bgp-route-map.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_attr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_attr_evpn.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_clist.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_community.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_community_alias.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_debug.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_dump.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_ecommunity.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_errors.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_evpn.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_evpn_mh.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_evpn_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_filter.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_flowspec_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_fsm.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_io.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_keepalives.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_labelpool.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_lcommunity.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_mac.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_mpath.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_mplsvpn.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_network.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_nexthop.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_nht.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_packet.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_pbr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_rd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_regex.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_route.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_routemap.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_routemap_nb.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_routemap_nb_config.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_table.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_updgrp.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_updgrp_adv.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_updgrp_packet.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_vpn.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_zebra.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgpd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_rfapi_cfg.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rfapi_import.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rfapi.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rfapi_ap.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rfapi_encap_tlv.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rfapi_nve_addr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rfapi_monitor.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rfapi_rib.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rfapi_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: vnc_debug.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: vnc_export_bgp.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: vnc_export_table.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: vnc_import_bgp.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: vnc_zebra.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_addpath.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_advertise.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_aspath.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_bfd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_conditional_adv.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_damp.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_encap_tlv.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_flowspec.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_flowspec_util.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_label.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: bgp_open.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: rfp_example.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_addr.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_assert.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_bfd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_bsm.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_cmd_common.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_errors.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_hello.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_iface.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_ifchannel.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_instance.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_join.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_jp_agg.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_macro.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_mroute.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_msg.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_nb.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_nb_config.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_neighbor.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_nht.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_oil.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_pim.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_routemap.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_rp.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_rpf.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_sock.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_ssm.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_ssmpingd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_static.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_str.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_tib.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_time.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_tlv.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_upstream.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_util.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_vty.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_zebra.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_zlookup.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_vxlan.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_register.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pimd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_cmd.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_igmp.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_igmp_mtrace.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_igmpv2.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_igmpv3.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_main.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_mlag.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_msdp.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_msdp_packet.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_msdp_socket.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_signals.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: pim_zpthread.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-pim.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-pim-rp.yang.c:bf_find_next_clear_bit_wrap
Unexecuted instantiation: frr-gmp.yang.c:bf_find_next_clear_bit_wrap
215
216
static inline unsigned int bf_find_next_set_bit(bitfield_t v,
217
    word_t start_index)
218
0
{
219
0
  int start_bit;
220
0
  unsigned long i, offset;
221
222
0
  start_bit = start_index & (WORD_SIZE - 1);
223
224
0
  for (i = bf_index(start_index); i < v.m; ++i) {
225
0
    if (v.data[i] == 0) {
226
      /* if the whole word is empty move to the next */
227
0
      start_bit = 0;
228
0
      continue;
229
0
    }
230
    /* scan one word for set bits */
231
0
    for (offset = start_bit; offset < WORD_SIZE; ++offset) {
232
0
      if ((v.data[i] >> offset) & 1)
233
0
        return ((i * WORD_SIZE) + offset);
234
0
    }
235
    /* move to the next word */
236
0
    start_bit = 0;
237
0
  }
238
0
  return WORD_MAX;
239
0
}
Unexecuted instantiation: ospf_main.c:bf_find_next_set_bit
Unexecuted instantiation: frr-ospf-route-map.yang.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_bfd.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_dump.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_dump_api.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_errors.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_interface.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_lsa.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_lsdb.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_neighbor.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_network.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_nsm.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_opaque.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_packet.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_ri.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_routemap.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_routemap_nb.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_routemap_nb_config.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_spf.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_ti_lfa.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_sr.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_te.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_vty.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_zebra.c:bf_find_next_set_bit
Unexecuted instantiation: ospfd.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_gr_helper.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_abr.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_apiserver.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_asbr.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_ase.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_ext.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_flood.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_gr.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_ia.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_ism.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_ldp_sync.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_route.c:bf_find_next_set_bit
Unexecuted instantiation: ospf_api.c:bf_find_next_set_bit
Unexecuted instantiation: admin_group.c:bf_find_next_set_bit
Unexecuted instantiation: affinitymap.c:bf_find_next_set_bit
Unexecuted instantiation: affinitymap_cli.c:bf_find_next_set_bit
Unexecuted instantiation: affinitymap_northbound.c:bf_find_next_set_bit
Unexecuted instantiation: agg_table.c:bf_find_next_set_bit
Unexecuted instantiation: asn.c:bf_find_next_set_bit
Unexecuted instantiation: bfd.c:bf_find_next_set_bit
Unexecuted instantiation: buffer.c:bf_find_next_set_bit
Unexecuted instantiation: command.c:bf_find_next_set_bit
Unexecuted instantiation: command_graph.c:bf_find_next_set_bit
Unexecuted instantiation: command_match.c:bf_find_next_set_bit
Unexecuted instantiation: cspf.c:bf_find_next_set_bit
Unexecuted instantiation: debug.c:bf_find_next_set_bit
Unexecuted instantiation: distribute.c:bf_find_next_set_bit
Unexecuted instantiation: ferr.c:bf_find_next_set_bit
Unexecuted instantiation: filter.c:bf_find_next_set_bit
Unexecuted instantiation: filter_cli.c:bf_find_next_set_bit
Unexecuted instantiation: filter_nb.c:bf_find_next_set_bit
Unexecuted instantiation: flex_algo.c:bf_find_next_set_bit
Unexecuted instantiation: frr_pthread.c:bf_find_next_set_bit
Unexecuted instantiation: grammar_sandbox.c:bf_find_next_set_bit
Unexecuted instantiation: hash.c:bf_find_next_set_bit
Unexecuted instantiation: id_alloc.c:bf_find_next_set_bit
Unexecuted instantiation: if.c:bf_find_next_set_bit
Unexecuted instantiation: if_rmap.c:bf_find_next_set_bit
Unexecuted instantiation: json.c:bf_find_next_set_bit
Unexecuted instantiation: keychain.c:bf_find_next_set_bit
Unexecuted instantiation: ldp_sync.c:bf_find_next_set_bit
Unexecuted instantiation: lib_errors.c:bf_find_next_set_bit
Unexecuted instantiation: lib_vty.c:bf_find_next_set_bit
Unexecuted instantiation: libfrr.c:bf_find_next_set_bit
Unexecuted instantiation: link_state.c:bf_find_next_set_bit
Unexecuted instantiation: log.c:bf_find_next_set_bit
Unexecuted instantiation: log_vty.c:bf_find_next_set_bit
Unexecuted instantiation: mgmt_be_client.c:bf_find_next_set_bit
Unexecuted instantiation: mgmt_fe_client.c:bf_find_next_set_bit
Unexecuted instantiation: mgmt_msg.c:bf_find_next_set_bit
Unexecuted instantiation: mlag.c:bf_find_next_set_bit
Unexecuted instantiation: srv6.c:bf_find_next_set_bit
Unexecuted instantiation: network.c:bf_find_next_set_bit
Unexecuted instantiation: nexthop.c:bf_find_next_set_bit
Unexecuted instantiation: netns_linux.c:bf_find_next_set_bit
Unexecuted instantiation: nexthop_group.c:bf_find_next_set_bit
Unexecuted instantiation: northbound.c:bf_find_next_set_bit
Unexecuted instantiation: northbound_cli.c:bf_find_next_set_bit
Unexecuted instantiation: northbound_db.c:bf_find_next_set_bit
Unexecuted instantiation: pid_output.c:bf_find_next_set_bit
Unexecuted instantiation: plist.c:bf_find_next_set_bit
Unexecuted instantiation: prefix.c:bf_find_next_set_bit
Unexecuted instantiation: privs.c:bf_find_next_set_bit
Unexecuted instantiation: pullwr.c:bf_find_next_set_bit
Unexecuted instantiation: routemap.c:bf_find_next_set_bit
Unexecuted instantiation: routemap_cli.c:bf_find_next_set_bit
Unexecuted instantiation: routemap_northbound.c:bf_find_next_set_bit
Unexecuted instantiation: sigevent.c:bf_find_next_set_bit
Unexecuted instantiation: skiplist.c:bf_find_next_set_bit
Unexecuted instantiation: sockopt.c:bf_find_next_set_bit
Unexecuted instantiation: sockunion.c:bf_find_next_set_bit
Unexecuted instantiation: spf_backoff.c:bf_find_next_set_bit
Unexecuted instantiation: srcdest_table.c:bf_find_next_set_bit
Unexecuted instantiation: stream.c:bf_find_next_set_bit
Unexecuted instantiation: systemd.c:bf_find_next_set_bit
Unexecuted instantiation: table.c:bf_find_next_set_bit
Unexecuted instantiation: termtable.c:bf_find_next_set_bit
Unexecuted instantiation: event.c:bf_find_next_set_bit
Unexecuted instantiation: vrf.c:bf_find_next_set_bit
Unexecuted instantiation: vty.c:bf_find_next_set_bit
Unexecuted instantiation: workqueue.c:bf_find_next_set_bit
Unexecuted instantiation: xref.c:bf_find_next_set_bit
Unexecuted instantiation: yang.c:bf_find_next_set_bit
Unexecuted instantiation: yang_translator.c:bf_find_next_set_bit
Unexecuted instantiation: yang_wrappers.c:bf_find_next_set_bit
Unexecuted instantiation: zclient.c:bf_find_next_set_bit
Unexecuted instantiation: zlog_5424.c:bf_find_next_set_bit
Unexecuted instantiation: zlog_5424_cli.c:bf_find_next_set_bit
Unexecuted instantiation: routing_nb.c:bf_find_next_set_bit
Unexecuted instantiation: routing_nb_config.c:bf_find_next_set_bit
Unexecuted instantiation: tc.c:bf_find_next_set_bit
Unexecuted instantiation: frr-affinity-map.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-filter.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-if-rmap.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-interface.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-route-map.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-route-types.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-vrf.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-routing.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-nexthop.yang.c:bf_find_next_set_bit
Unexecuted instantiation: ietf-routing-types.yang.c:bf_find_next_set_bit
Unexecuted instantiation: ietf-interfaces.yang.c:bf_find_next_set_bit
Unexecuted instantiation: ietf-bgp-types.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-module-translator.yang.c:bf_find_next_set_bit
Unexecuted instantiation: connected.c:bf_find_next_set_bit
Unexecuted instantiation: if_netlink.c:bf_find_next_set_bit
Unexecuted instantiation: interface.c:bf_find_next_set_bit
Unexecuted instantiation: ioctl.c:bf_find_next_set_bit
Unexecuted instantiation: kernel_netlink.c:bf_find_next_set_bit
Unexecuted instantiation: label_manager.c:bf_find_next_set_bit
Unexecuted instantiation: main.c:bf_find_next_set_bit
Unexecuted instantiation: netconf_netlink.c:bf_find_next_set_bit
Unexecuted instantiation: redistribute.c:bf_find_next_set_bit
Unexecuted instantiation: router-id.c:bf_find_next_set_bit
Unexecuted instantiation: rt_netlink.c:bf_find_next_set_bit
Unexecuted instantiation: rtadv.c:bf_find_next_set_bit
Unexecuted instantiation: rtread_netlink.c:bf_find_next_set_bit
Unexecuted instantiation: rule_netlink.c:bf_find_next_set_bit
Unexecuted instantiation: table_manager.c:bf_find_next_set_bit
Unexecuted instantiation: tc_netlink.c:bf_find_next_set_bit
Unexecuted instantiation: zapi_msg.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_affinitymap.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_dplane.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_errors.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_gr.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_l2.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_l2_bridge_if.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_evpn.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_evpn_mac.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_evpn_neigh.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_mlag.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_mlag_vty.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_mpls.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_mpls_netlink.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_mpls_null.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_mpls_vty.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_srv6.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_srv6_vty.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_mroute.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_nb.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_nb_config.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_nb_rpcs.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_nb_state.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_netns_id.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_netns_notify.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_nhg.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_ns.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_opaque.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_pbr.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_ptm.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_ptm_redistribute.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_pw.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_rib.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_router.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_rnh.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_routemap.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_routemap_nb.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_routemap_nb_config.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_script.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_srte.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_tc.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_vrf.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_vty.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_vxlan.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_vxlan_if.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_evpn_mh.c:bf_find_next_set_bit
Unexecuted instantiation: zebra_neigh.c:bf_find_next_set_bit
Unexecuted instantiation: zserv.c:bf_find_next_set_bit
Unexecuted instantiation: debug_nl.c:bf_find_next_set_bit
Unexecuted instantiation: frr-zebra.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-zebra-route-map.yang.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_main.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp-types.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp-common-structure.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp-common.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp-common-multiprotocol.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp-neighbor.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp-peer-group.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp-bmp.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp-rpki.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-deviations-bgp-datacenter.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp-filter.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-bgp-route-map.yang.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_attr.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_attr_evpn.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_clist.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_community.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_community_alias.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_debug.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_dump.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_ecommunity.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_errors.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_evpn.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_evpn_mh.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_evpn_vty.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_filter.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_flowspec_vty.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_fsm.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_io.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_keepalives.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_labelpool.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_lcommunity.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_mac.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_mpath.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_mplsvpn.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_network.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_nexthop.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_nht.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_packet.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_pbr.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_rd.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_regex.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_route.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_routemap.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_routemap_nb.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_routemap_nb_config.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_table.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_updgrp.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_updgrp_adv.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_updgrp_packet.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_vpn.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_vty.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_zebra.c:bf_find_next_set_bit
Unexecuted instantiation: bgpd.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_rfapi_cfg.c:bf_find_next_set_bit
Unexecuted instantiation: rfapi_import.c:bf_find_next_set_bit
Unexecuted instantiation: rfapi.c:bf_find_next_set_bit
Unexecuted instantiation: rfapi_ap.c:bf_find_next_set_bit
Unexecuted instantiation: rfapi_encap_tlv.c:bf_find_next_set_bit
Unexecuted instantiation: rfapi_nve_addr.c:bf_find_next_set_bit
Unexecuted instantiation: rfapi_monitor.c:bf_find_next_set_bit
Unexecuted instantiation: rfapi_rib.c:bf_find_next_set_bit
Unexecuted instantiation: rfapi_vty.c:bf_find_next_set_bit
Unexecuted instantiation: vnc_debug.c:bf_find_next_set_bit
Unexecuted instantiation: vnc_export_bgp.c:bf_find_next_set_bit
Unexecuted instantiation: vnc_export_table.c:bf_find_next_set_bit
Unexecuted instantiation: vnc_import_bgp.c:bf_find_next_set_bit
Unexecuted instantiation: vnc_zebra.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_addpath.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_advertise.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_aspath.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_bfd.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_conditional_adv.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_damp.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_encap_tlv.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_flowspec.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_flowspec_util.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_label.c:bf_find_next_set_bit
Unexecuted instantiation: bgp_open.c:bf_find_next_set_bit
Unexecuted instantiation: rfp_example.c:bf_find_next_set_bit
Unexecuted instantiation: pim_addr.c:bf_find_next_set_bit
Unexecuted instantiation: pim_assert.c:bf_find_next_set_bit
Unexecuted instantiation: pim_bfd.c:bf_find_next_set_bit
Unexecuted instantiation: pim_bsm.c:bf_find_next_set_bit
Unexecuted instantiation: pim_cmd_common.c:bf_find_next_set_bit
Unexecuted instantiation: pim_errors.c:bf_find_next_set_bit
Unexecuted instantiation: pim_hello.c:bf_find_next_set_bit
Unexecuted instantiation: pim_iface.c:bf_find_next_set_bit
Unexecuted instantiation: pim_ifchannel.c:bf_find_next_set_bit
Unexecuted instantiation: pim_instance.c:bf_find_next_set_bit
Unexecuted instantiation: pim_join.c:bf_find_next_set_bit
Unexecuted instantiation: pim_jp_agg.c:bf_find_next_set_bit
Unexecuted instantiation: pim_macro.c:bf_find_next_set_bit
Unexecuted instantiation: pim_mroute.c:bf_find_next_set_bit
Unexecuted instantiation: pim_msg.c:bf_find_next_set_bit
Unexecuted instantiation: pim_nb.c:bf_find_next_set_bit
Unexecuted instantiation: pim_nb_config.c:bf_find_next_set_bit
Unexecuted instantiation: pim_neighbor.c:bf_find_next_set_bit
Unexecuted instantiation: pim_nht.c:bf_find_next_set_bit
Unexecuted instantiation: pim_oil.c:bf_find_next_set_bit
Unexecuted instantiation: pim_pim.c:bf_find_next_set_bit
Unexecuted instantiation: pim_routemap.c:bf_find_next_set_bit
Unexecuted instantiation: pim_rp.c:bf_find_next_set_bit
Unexecuted instantiation: pim_rpf.c:bf_find_next_set_bit
Unexecuted instantiation: pim_sock.c:bf_find_next_set_bit
Unexecuted instantiation: pim_ssm.c:bf_find_next_set_bit
Unexecuted instantiation: pim_ssmpingd.c:bf_find_next_set_bit
Unexecuted instantiation: pim_static.c:bf_find_next_set_bit
Unexecuted instantiation: pim_str.c:bf_find_next_set_bit
Unexecuted instantiation: pim_tib.c:bf_find_next_set_bit
Unexecuted instantiation: pim_time.c:bf_find_next_set_bit
Unexecuted instantiation: pim_tlv.c:bf_find_next_set_bit
Unexecuted instantiation: pim_upstream.c:bf_find_next_set_bit
Unexecuted instantiation: pim_util.c:bf_find_next_set_bit
Unexecuted instantiation: pim_vty.c:bf_find_next_set_bit
Unexecuted instantiation: pim_zebra.c:bf_find_next_set_bit
Unexecuted instantiation: pim_zlookup.c:bf_find_next_set_bit
Unexecuted instantiation: pim_vxlan.c:bf_find_next_set_bit
Unexecuted instantiation: pim_register.c:bf_find_next_set_bit
Unexecuted instantiation: pimd.c:bf_find_next_set_bit
Unexecuted instantiation: pim_cmd.c:bf_find_next_set_bit
Unexecuted instantiation: pim_igmp.c:bf_find_next_set_bit
Unexecuted instantiation: pim_igmp_mtrace.c:bf_find_next_set_bit
Unexecuted instantiation: pim_igmpv2.c:bf_find_next_set_bit
Unexecuted instantiation: pim_igmpv3.c:bf_find_next_set_bit
Unexecuted instantiation: pim_main.c:bf_find_next_set_bit
Unexecuted instantiation: pim_mlag.c:bf_find_next_set_bit
Unexecuted instantiation: pim_msdp.c:bf_find_next_set_bit
Unexecuted instantiation: pim_msdp_packet.c:bf_find_next_set_bit
Unexecuted instantiation: pim_msdp_socket.c:bf_find_next_set_bit
Unexecuted instantiation: pim_signals.c:bf_find_next_set_bit
Unexecuted instantiation: pim_zpthread.c:bf_find_next_set_bit
Unexecuted instantiation: frr-pim.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-pim-rp.yang.c:bf_find_next_set_bit
Unexecuted instantiation: frr-gmp.yang.c:bf_find_next_set_bit
240
241
/* iterate through all the set bits */
242
#define bf_for_each_set_bit(v, b, max)                 \
243
0
  for ((b) = bf_find_next_set_bit((v), 0);           \
244
0
      (b) < max;                                 \
245
0
      (b) = bf_find_next_set_bit((v), (b) + 1))
246
247
/*
248
 * Free the allocated memory for data
249
 * @v: an instance of bitfield_t struct.
250
 */
251
#define bf_free(v)                                                             \
252
0
  do {                                                                   \
253
0
    XFREE(MTYPE_BITFIELD, (v).data);                               \
254
0
    (v).data = NULL;                                               \
255
0
  } while (0)
256
257
static inline bitfield_t bf_copy(bitfield_t src)
258
0
{
259
0
  bitfield_t dst;
260
261
0
  assert(bf_is_inited(src));
262
0
  bf_init(dst, WORD_SIZE * (src.m - 1));
263
0
  for (size_t i = 0; i < src.m; i++)
264
0
    dst.data[i] = src.data[i];
265
0
  dst.n = src.n;
266
0
  return dst;
267
0
}
Unexecuted instantiation: ospf_main.c:bf_copy
Unexecuted instantiation: frr-ospf-route-map.yang.c:bf_copy
Unexecuted instantiation: ospf_bfd.c:bf_copy
Unexecuted instantiation: ospf_dump.c:bf_copy
Unexecuted instantiation: ospf_dump_api.c:bf_copy
Unexecuted instantiation: ospf_errors.c:bf_copy
Unexecuted instantiation: ospf_interface.c:bf_copy
Unexecuted instantiation: ospf_lsa.c:bf_copy
Unexecuted instantiation: ospf_lsdb.c:bf_copy
Unexecuted instantiation: ospf_neighbor.c:bf_copy
Unexecuted instantiation: ospf_network.c:bf_copy
Unexecuted instantiation: ospf_nsm.c:bf_copy
Unexecuted instantiation: ospf_opaque.c:bf_copy
Unexecuted instantiation: ospf_packet.c:bf_copy
Unexecuted instantiation: ospf_ri.c:bf_copy
Unexecuted instantiation: ospf_routemap.c:bf_copy
Unexecuted instantiation: ospf_routemap_nb.c:bf_copy
Unexecuted instantiation: ospf_routemap_nb_config.c:bf_copy
Unexecuted instantiation: ospf_spf.c:bf_copy
Unexecuted instantiation: ospf_ti_lfa.c:bf_copy
Unexecuted instantiation: ospf_sr.c:bf_copy
Unexecuted instantiation: ospf_te.c:bf_copy
Unexecuted instantiation: ospf_vty.c:bf_copy
Unexecuted instantiation: ospf_zebra.c:bf_copy
Unexecuted instantiation: ospfd.c:bf_copy
Unexecuted instantiation: ospf_gr_helper.c:bf_copy
Unexecuted instantiation: ospf_abr.c:bf_copy
Unexecuted instantiation: ospf_apiserver.c:bf_copy
Unexecuted instantiation: ospf_asbr.c:bf_copy
Unexecuted instantiation: ospf_ase.c:bf_copy
Unexecuted instantiation: ospf_ext.c:bf_copy
Unexecuted instantiation: ospf_flood.c:bf_copy
Unexecuted instantiation: ospf_gr.c:bf_copy
Unexecuted instantiation: ospf_ia.c:bf_copy
Unexecuted instantiation: ospf_ism.c:bf_copy
Unexecuted instantiation: ospf_ldp_sync.c:bf_copy
Unexecuted instantiation: ospf_route.c:bf_copy
Unexecuted instantiation: ospf_api.c:bf_copy
Unexecuted instantiation: admin_group.c:bf_copy
Unexecuted instantiation: affinitymap.c:bf_copy
Unexecuted instantiation: affinitymap_cli.c:bf_copy
Unexecuted instantiation: affinitymap_northbound.c:bf_copy
Unexecuted instantiation: agg_table.c:bf_copy
Unexecuted instantiation: asn.c:bf_copy
Unexecuted instantiation: bfd.c:bf_copy
Unexecuted instantiation: buffer.c:bf_copy
Unexecuted instantiation: command.c:bf_copy
Unexecuted instantiation: command_graph.c:bf_copy
Unexecuted instantiation: command_match.c:bf_copy
Unexecuted instantiation: cspf.c:bf_copy
Unexecuted instantiation: debug.c:bf_copy
Unexecuted instantiation: distribute.c:bf_copy
Unexecuted instantiation: ferr.c:bf_copy
Unexecuted instantiation: filter.c:bf_copy
Unexecuted instantiation: filter_cli.c:bf_copy
Unexecuted instantiation: filter_nb.c:bf_copy
Unexecuted instantiation: flex_algo.c:bf_copy
Unexecuted instantiation: frr_pthread.c:bf_copy
Unexecuted instantiation: grammar_sandbox.c:bf_copy
Unexecuted instantiation: hash.c:bf_copy
Unexecuted instantiation: id_alloc.c:bf_copy
Unexecuted instantiation: if.c:bf_copy
Unexecuted instantiation: if_rmap.c:bf_copy
Unexecuted instantiation: json.c:bf_copy
Unexecuted instantiation: keychain.c:bf_copy
Unexecuted instantiation: ldp_sync.c:bf_copy
Unexecuted instantiation: lib_errors.c:bf_copy
Unexecuted instantiation: lib_vty.c:bf_copy
Unexecuted instantiation: libfrr.c:bf_copy
Unexecuted instantiation: link_state.c:bf_copy
Unexecuted instantiation: log.c:bf_copy
Unexecuted instantiation: log_vty.c:bf_copy
Unexecuted instantiation: mgmt_be_client.c:bf_copy
Unexecuted instantiation: mgmt_fe_client.c:bf_copy
Unexecuted instantiation: mgmt_msg.c:bf_copy
Unexecuted instantiation: mlag.c:bf_copy
Unexecuted instantiation: srv6.c:bf_copy
Unexecuted instantiation: network.c:bf_copy
Unexecuted instantiation: nexthop.c:bf_copy
Unexecuted instantiation: netns_linux.c:bf_copy
Unexecuted instantiation: nexthop_group.c:bf_copy
Unexecuted instantiation: northbound.c:bf_copy
Unexecuted instantiation: northbound_cli.c:bf_copy
Unexecuted instantiation: northbound_db.c:bf_copy
Unexecuted instantiation: pid_output.c:bf_copy
Unexecuted instantiation: plist.c:bf_copy
Unexecuted instantiation: prefix.c:bf_copy
Unexecuted instantiation: privs.c:bf_copy
Unexecuted instantiation: pullwr.c:bf_copy
Unexecuted instantiation: routemap.c:bf_copy
Unexecuted instantiation: routemap_cli.c:bf_copy
Unexecuted instantiation: routemap_northbound.c:bf_copy
Unexecuted instantiation: sigevent.c:bf_copy
Unexecuted instantiation: skiplist.c:bf_copy
Unexecuted instantiation: sockopt.c:bf_copy
Unexecuted instantiation: sockunion.c:bf_copy
Unexecuted instantiation: spf_backoff.c:bf_copy
Unexecuted instantiation: srcdest_table.c:bf_copy
Unexecuted instantiation: stream.c:bf_copy
Unexecuted instantiation: systemd.c:bf_copy
Unexecuted instantiation: table.c:bf_copy
Unexecuted instantiation: termtable.c:bf_copy
Unexecuted instantiation: event.c:bf_copy
Unexecuted instantiation: vrf.c:bf_copy
Unexecuted instantiation: vty.c:bf_copy
Unexecuted instantiation: workqueue.c:bf_copy
Unexecuted instantiation: xref.c:bf_copy
Unexecuted instantiation: yang.c:bf_copy
Unexecuted instantiation: yang_translator.c:bf_copy
Unexecuted instantiation: yang_wrappers.c:bf_copy
Unexecuted instantiation: zclient.c:bf_copy
Unexecuted instantiation: zlog_5424.c:bf_copy
Unexecuted instantiation: zlog_5424_cli.c:bf_copy
Unexecuted instantiation: routing_nb.c:bf_copy
Unexecuted instantiation: routing_nb_config.c:bf_copy
Unexecuted instantiation: tc.c:bf_copy
Unexecuted instantiation: frr-affinity-map.yang.c:bf_copy
Unexecuted instantiation: frr-filter.yang.c:bf_copy
Unexecuted instantiation: frr-if-rmap.yang.c:bf_copy
Unexecuted instantiation: frr-interface.yang.c:bf_copy
Unexecuted instantiation: frr-route-map.yang.c:bf_copy
Unexecuted instantiation: frr-route-types.yang.c:bf_copy
Unexecuted instantiation: frr-vrf.yang.c:bf_copy
Unexecuted instantiation: frr-routing.yang.c:bf_copy
Unexecuted instantiation: frr-nexthop.yang.c:bf_copy
Unexecuted instantiation: ietf-routing-types.yang.c:bf_copy
Unexecuted instantiation: ietf-interfaces.yang.c:bf_copy
Unexecuted instantiation: ietf-bgp-types.yang.c:bf_copy
Unexecuted instantiation: frr-module-translator.yang.c:bf_copy
Unexecuted instantiation: connected.c:bf_copy
Unexecuted instantiation: if_netlink.c:bf_copy
Unexecuted instantiation: interface.c:bf_copy
Unexecuted instantiation: ioctl.c:bf_copy
Unexecuted instantiation: kernel_netlink.c:bf_copy
Unexecuted instantiation: label_manager.c:bf_copy
Unexecuted instantiation: main.c:bf_copy
Unexecuted instantiation: netconf_netlink.c:bf_copy
Unexecuted instantiation: redistribute.c:bf_copy
Unexecuted instantiation: router-id.c:bf_copy
Unexecuted instantiation: rt_netlink.c:bf_copy
Unexecuted instantiation: rtadv.c:bf_copy
Unexecuted instantiation: rtread_netlink.c:bf_copy
Unexecuted instantiation: rule_netlink.c:bf_copy
Unexecuted instantiation: table_manager.c:bf_copy
Unexecuted instantiation: tc_netlink.c:bf_copy
Unexecuted instantiation: zapi_msg.c:bf_copy
Unexecuted instantiation: zebra_affinitymap.c:bf_copy
Unexecuted instantiation: zebra_dplane.c:bf_copy
Unexecuted instantiation: zebra_errors.c:bf_copy
Unexecuted instantiation: zebra_gr.c:bf_copy
Unexecuted instantiation: zebra_l2.c:bf_copy
Unexecuted instantiation: zebra_l2_bridge_if.c:bf_copy
Unexecuted instantiation: zebra_evpn.c:bf_copy
Unexecuted instantiation: zebra_evpn_mac.c:bf_copy
Unexecuted instantiation: zebra_evpn_neigh.c:bf_copy
Unexecuted instantiation: zebra_mlag.c:bf_copy
Unexecuted instantiation: zebra_mlag_vty.c:bf_copy
Unexecuted instantiation: zebra_mpls.c:bf_copy
Unexecuted instantiation: zebra_mpls_netlink.c:bf_copy
Unexecuted instantiation: zebra_mpls_null.c:bf_copy
Unexecuted instantiation: zebra_mpls_vty.c:bf_copy
Unexecuted instantiation: zebra_srv6.c:bf_copy
Unexecuted instantiation: zebra_srv6_vty.c:bf_copy
Unexecuted instantiation: zebra_mroute.c:bf_copy
Unexecuted instantiation: zebra_nb.c:bf_copy
Unexecuted instantiation: zebra_nb_config.c:bf_copy
Unexecuted instantiation: zebra_nb_rpcs.c:bf_copy
Unexecuted instantiation: zebra_nb_state.c:bf_copy
Unexecuted instantiation: zebra_netns_id.c:bf_copy
Unexecuted instantiation: zebra_netns_notify.c:bf_copy
Unexecuted instantiation: zebra_nhg.c:bf_copy
Unexecuted instantiation: zebra_ns.c:bf_copy
Unexecuted instantiation: zebra_opaque.c:bf_copy
Unexecuted instantiation: zebra_pbr.c:bf_copy
Unexecuted instantiation: zebra_ptm.c:bf_copy
Unexecuted instantiation: zebra_ptm_redistribute.c:bf_copy
Unexecuted instantiation: zebra_pw.c:bf_copy
Unexecuted instantiation: zebra_rib.c:bf_copy
Unexecuted instantiation: zebra_router.c:bf_copy
Unexecuted instantiation: zebra_rnh.c:bf_copy
Unexecuted instantiation: zebra_routemap.c:bf_copy
Unexecuted instantiation: zebra_routemap_nb.c:bf_copy
Unexecuted instantiation: zebra_routemap_nb_config.c:bf_copy
Unexecuted instantiation: zebra_script.c:bf_copy
Unexecuted instantiation: zebra_srte.c:bf_copy
Unexecuted instantiation: zebra_tc.c:bf_copy
Unexecuted instantiation: zebra_vrf.c:bf_copy
Unexecuted instantiation: zebra_vty.c:bf_copy
Unexecuted instantiation: zebra_vxlan.c:bf_copy
Unexecuted instantiation: zebra_vxlan_if.c:bf_copy
Unexecuted instantiation: zebra_evpn_mh.c:bf_copy
Unexecuted instantiation: zebra_neigh.c:bf_copy
Unexecuted instantiation: zserv.c:bf_copy
Unexecuted instantiation: debug_nl.c:bf_copy
Unexecuted instantiation: frr-zebra.yang.c:bf_copy
Unexecuted instantiation: frr-zebra-route-map.yang.c:bf_copy
Unexecuted instantiation: bgp_main.c:bf_copy
Unexecuted instantiation: frr-bgp-types.yang.c:bf_copy
Unexecuted instantiation: frr-bgp.yang.c:bf_copy
Unexecuted instantiation: frr-bgp-common-structure.yang.c:bf_copy
Unexecuted instantiation: frr-bgp-common.yang.c:bf_copy
Unexecuted instantiation: frr-bgp-common-multiprotocol.yang.c:bf_copy
Unexecuted instantiation: frr-bgp-neighbor.yang.c:bf_copy
Unexecuted instantiation: frr-bgp-peer-group.yang.c:bf_copy
Unexecuted instantiation: frr-bgp-bmp.yang.c:bf_copy
Unexecuted instantiation: frr-bgp-rpki.yang.c:bf_copy
Unexecuted instantiation: frr-deviations-bgp-datacenter.yang.c:bf_copy
Unexecuted instantiation: frr-bgp-filter.yang.c:bf_copy
Unexecuted instantiation: frr-bgp-route-map.yang.c:bf_copy
Unexecuted instantiation: bgp_attr.c:bf_copy
Unexecuted instantiation: bgp_attr_evpn.c:bf_copy
Unexecuted instantiation: bgp_clist.c:bf_copy
Unexecuted instantiation: bgp_community.c:bf_copy
Unexecuted instantiation: bgp_community_alias.c:bf_copy
Unexecuted instantiation: bgp_debug.c:bf_copy
Unexecuted instantiation: bgp_dump.c:bf_copy
Unexecuted instantiation: bgp_ecommunity.c:bf_copy
Unexecuted instantiation: bgp_errors.c:bf_copy
Unexecuted instantiation: bgp_evpn.c:bf_copy
Unexecuted instantiation: bgp_evpn_mh.c:bf_copy
Unexecuted instantiation: bgp_evpn_vty.c:bf_copy
Unexecuted instantiation: bgp_filter.c:bf_copy
Unexecuted instantiation: bgp_flowspec_vty.c:bf_copy
Unexecuted instantiation: bgp_fsm.c:bf_copy
Unexecuted instantiation: bgp_io.c:bf_copy
Unexecuted instantiation: bgp_keepalives.c:bf_copy
Unexecuted instantiation: bgp_labelpool.c:bf_copy
Unexecuted instantiation: bgp_lcommunity.c:bf_copy
Unexecuted instantiation: bgp_mac.c:bf_copy
Unexecuted instantiation: bgp_mpath.c:bf_copy
Unexecuted instantiation: bgp_mplsvpn.c:bf_copy
Unexecuted instantiation: bgp_network.c:bf_copy
Unexecuted instantiation: bgp_nexthop.c:bf_copy
Unexecuted instantiation: bgp_nht.c:bf_copy
Unexecuted instantiation: bgp_packet.c:bf_copy
Unexecuted instantiation: bgp_pbr.c:bf_copy
Unexecuted instantiation: bgp_rd.c:bf_copy
Unexecuted instantiation: bgp_regex.c:bf_copy
Unexecuted instantiation: bgp_route.c:bf_copy
Unexecuted instantiation: bgp_routemap.c:bf_copy
Unexecuted instantiation: bgp_routemap_nb.c:bf_copy
Unexecuted instantiation: bgp_routemap_nb_config.c:bf_copy
Unexecuted instantiation: bgp_table.c:bf_copy
Unexecuted instantiation: bgp_updgrp.c:bf_copy
Unexecuted instantiation: bgp_updgrp_adv.c:bf_copy
Unexecuted instantiation: bgp_updgrp_packet.c:bf_copy
Unexecuted instantiation: bgp_vpn.c:bf_copy
Unexecuted instantiation: bgp_vty.c:bf_copy
Unexecuted instantiation: bgp_zebra.c:bf_copy
Unexecuted instantiation: bgpd.c:bf_copy
Unexecuted instantiation: bgp_rfapi_cfg.c:bf_copy
Unexecuted instantiation: rfapi_import.c:bf_copy
Unexecuted instantiation: rfapi.c:bf_copy
Unexecuted instantiation: rfapi_ap.c:bf_copy
Unexecuted instantiation: rfapi_encap_tlv.c:bf_copy
Unexecuted instantiation: rfapi_nve_addr.c:bf_copy
Unexecuted instantiation: rfapi_monitor.c:bf_copy
Unexecuted instantiation: rfapi_rib.c:bf_copy
Unexecuted instantiation: rfapi_vty.c:bf_copy
Unexecuted instantiation: vnc_debug.c:bf_copy
Unexecuted instantiation: vnc_export_bgp.c:bf_copy
Unexecuted instantiation: vnc_export_table.c:bf_copy
Unexecuted instantiation: vnc_import_bgp.c:bf_copy
Unexecuted instantiation: vnc_zebra.c:bf_copy
Unexecuted instantiation: bgp_addpath.c:bf_copy
Unexecuted instantiation: bgp_advertise.c:bf_copy
Unexecuted instantiation: bgp_aspath.c:bf_copy
Unexecuted instantiation: bgp_bfd.c:bf_copy
Unexecuted instantiation: bgp_conditional_adv.c:bf_copy
Unexecuted instantiation: bgp_damp.c:bf_copy
Unexecuted instantiation: bgp_encap_tlv.c:bf_copy
Unexecuted instantiation: bgp_flowspec.c:bf_copy
Unexecuted instantiation: bgp_flowspec_util.c:bf_copy
Unexecuted instantiation: bgp_label.c:bf_copy
Unexecuted instantiation: bgp_open.c:bf_copy
Unexecuted instantiation: rfp_example.c:bf_copy
Unexecuted instantiation: pim_addr.c:bf_copy
Unexecuted instantiation: pim_assert.c:bf_copy
Unexecuted instantiation: pim_bfd.c:bf_copy
Unexecuted instantiation: pim_bsm.c:bf_copy
Unexecuted instantiation: pim_cmd_common.c:bf_copy
Unexecuted instantiation: pim_errors.c:bf_copy
Unexecuted instantiation: pim_hello.c:bf_copy
Unexecuted instantiation: pim_iface.c:bf_copy
Unexecuted instantiation: pim_ifchannel.c:bf_copy
Unexecuted instantiation: pim_instance.c:bf_copy
Unexecuted instantiation: pim_join.c:bf_copy
Unexecuted instantiation: pim_jp_agg.c:bf_copy
Unexecuted instantiation: pim_macro.c:bf_copy
Unexecuted instantiation: pim_mroute.c:bf_copy
Unexecuted instantiation: pim_msg.c:bf_copy
Unexecuted instantiation: pim_nb.c:bf_copy
Unexecuted instantiation: pim_nb_config.c:bf_copy
Unexecuted instantiation: pim_neighbor.c:bf_copy
Unexecuted instantiation: pim_nht.c:bf_copy
Unexecuted instantiation: pim_oil.c:bf_copy
Unexecuted instantiation: pim_pim.c:bf_copy
Unexecuted instantiation: pim_routemap.c:bf_copy
Unexecuted instantiation: pim_rp.c:bf_copy
Unexecuted instantiation: pim_rpf.c:bf_copy
Unexecuted instantiation: pim_sock.c:bf_copy
Unexecuted instantiation: pim_ssm.c:bf_copy
Unexecuted instantiation: pim_ssmpingd.c:bf_copy
Unexecuted instantiation: pim_static.c:bf_copy
Unexecuted instantiation: pim_str.c:bf_copy
Unexecuted instantiation: pim_tib.c:bf_copy
Unexecuted instantiation: pim_time.c:bf_copy
Unexecuted instantiation: pim_tlv.c:bf_copy
Unexecuted instantiation: pim_upstream.c:bf_copy
Unexecuted instantiation: pim_util.c:bf_copy
Unexecuted instantiation: pim_vty.c:bf_copy
Unexecuted instantiation: pim_zebra.c:bf_copy
Unexecuted instantiation: pim_zlookup.c:bf_copy
Unexecuted instantiation: pim_vxlan.c:bf_copy
Unexecuted instantiation: pim_register.c:bf_copy
Unexecuted instantiation: pimd.c:bf_copy
Unexecuted instantiation: pim_cmd.c:bf_copy
Unexecuted instantiation: pim_igmp.c:bf_copy
Unexecuted instantiation: pim_igmp_mtrace.c:bf_copy
Unexecuted instantiation: pim_igmpv2.c:bf_copy
Unexecuted instantiation: pim_igmpv3.c:bf_copy
Unexecuted instantiation: pim_main.c:bf_copy
Unexecuted instantiation: pim_mlag.c:bf_copy
Unexecuted instantiation: pim_msdp.c:bf_copy
Unexecuted instantiation: pim_msdp_packet.c:bf_copy
Unexecuted instantiation: pim_msdp_socket.c:bf_copy
Unexecuted instantiation: pim_signals.c:bf_copy
Unexecuted instantiation: pim_zpthread.c:bf_copy
Unexecuted instantiation: frr-pim.yang.c:bf_copy
Unexecuted instantiation: frr-pim-rp.yang.c:bf_copy
Unexecuted instantiation: frr-gmp.yang.c:bf_copy
268
269
270
#ifdef __cplusplus
271
}
272
#endif
273
274
#endif