if (!lspdb_count(&area->lspdb[level - 1]))
continue;
- for_each (lspdb, &area->lspdb[level - 1], lsp) {
+ frr_each (lspdb, &area->lspdb[level - 1], lsp) {
if (is_set) {
isis_tx_queue_add(circuit->tx_queue, lsp,
TX_LSP_NORMAL);
memcpy(&searchfor.hdr.lsp_id, start_id, sizeof(searchfor.hdr.lsp_id));
start = lspdb_find_gteq(head, &searchfor);
- for_each_from (lspdb, head, lsp, start) {
+ frr_each_from (lspdb, head, lsp, start) {
if (memcmp(lsp->hdr.lsp_id, stop_id,
ISIS_SYS_ID_LEN + 2) > 0)
break;
int lsp_count = 0;
if (detail == ISIS_UI_LEVEL_BRIEF) {
- for_each (lspdb, head, lsp) {
+ frr_each (lspdb, head, lsp) {
lsp_print(lsp, vty, dynhost);
lsp_count++;
}
} else if (detail == ISIS_UI_LEVEL_DETAIL) {
- for_each (lspdb, head, lsp) {
+ frr_each (lspdb, head, lsp) {
lsp_print_detail(lsp, vty, dynhost);
lsp_count++;
}
*/
for (level = 0; level < ISIS_LEVELS; level++) {
struct isis_lsp *next = lspdb_first(&area->lspdb[level]);
- for_each_from (lspdb, &area->lspdb[level], lsp, next) {
+ frr_each_from (lspdb, &area->lspdb[level], lsp, next) {
/*
* The lsp rem_lifetime is kept at 0 for MaxAge
* or
if (CHECK_FLAG(passwd->snp_auth, SNP_AUTH_SEND))
isis_tlvs_add_auth(tlvs, passwd);
- for_each (lspdb, &circuit->area->lspdb[level - 1], lsp) {
+ frr_each (lspdb, &circuit->area->lspdb[level - 1], lsp) {
if (ISIS_CHECK_FLAG(lsp->SSNflags, circuit))
isis_tlvs_add_lsp_entry(tlvs, lsp);
if (!first)
return;
- for_each_from (lspdb, head, lsp, first) {
+ frr_each_from (lspdb, head, lsp, first) {
if (memcmp(lsp->hdr.lsp_id, stop_id, sizeof(lsp->hdr.lsp_id))
> 0 || tlvs->lsp_entries.count == num_lsps)
break;
continue;
}
- for_each (lspdb, head, lsp) {
+ frr_each (lspdb, head, lsp) {
lsp_print_flooding(vty, lsp);
vty_out(vty, "\n");
}
if (cr->eventobj) {
struct thread *t;
- for_each_safe(thread_list, &master->event, t) {
+ frr_each_safe(thread_list, &master->event, t) {
if (t->arg != cr->eventobj)
continue;
thread_list_del(&master->event, t);
thread_add_unuse(master, t);
}
- for_each_safe(thread_list, &master->ready, t) {
+ frr_each_safe(thread_list, &master->ready, t) {
if (t->arg != cr->eventobj)
continue;
thread_list_del(&master->ready, t);
/* generic macros for all list-like types */
-#define for_each(prefix, head, item) \
+#define frr_each(prefix, head, item) \
for (item = prefix##_first(head); item; \
item = prefix##_next(head, item))
-#define for_each_safe(prefix, head, item) \
+#define frr_each_safe(prefix, head, item) \
for (typeof(prefix##_next_safe(head, NULL)) prefix##_safe = \
prefix##_next_safe(head, \
(item = prefix##_first(head))); \
item; \
item = prefix##_safe, \
prefix##_safe = prefix##_next_safe(head, prefix##_safe))
-#define for_each_from(prefix, head, item, from) \
+#define frr_each_from(prefix, head, item, from) \
for (item = from, from = prefix##_next_safe(head, item); \
item; \
item = from, from = prefix##_next_safe(head, from))
if (tr->sorted) {
uint64_t prevval = 0;
- for_each(asort, &shead, item) {
+ frr_each(asort, &shead, item) {
assert(item->val1 >= prevval);
prevval = item->val1;
c++;
assert(c == asort_count(&shead));
} else {
prev = &dummy;
- for_each(alist, &ahead, item) {
+ frr_each(alist, &ahead, item) {
assert(item != prev);
prev = item;
c++;
size_t ctr = 0;
printf("dumping %s:\n", lbl);
- for_each_safe(alist, &ahead, item) {
+ frr_each_safe(alist, &ahead, item) {
printf("%s %3zu %p %3"PRIu64" %3"PRIu64"\n", lbl, ctr++,
(void *)item, item->val1, item->val2);
}
SHA256_Init(&ctx);
SHA256_Update(&ctx, &count, sizeof(count));
- for_each (list, &head, item) {
+ frr_each (list, &head, item) {
struct {
uint32_t val_upper, val_lower, index;
} hashitem = {
k = 0;
prev = NULL;
- for_each(list, &head, item) {
+ frr_each(list, &head, item) {
#if IS_HASH(REALTYPE) || IS_HEAP(REALTYPE)
/* hash table doesn't give sorting */
(void)prev;
assert(l + list_count(&head) == k);
ts_hashx("del", "cb2e5d80f08a803ef7b56c15e981b681adcea214bebc2f55e12e0bfb242b07ca");
- for_each_safe(list, &head, item) {
+ frr_each_safe(list, &head, item) {
assert(item->scratchpad != 0);
if (item->val & 1) {
}
}
assert(l + list_count(&head) == k);
- ts_hashx("for_each_safe+del", "e0beb71dd963a75af05b722b8e71b61b304587d860c8accdc4349067542b86bb");
+ ts_hashx("frr_each_safe+del", "e0beb71dd963a75af05b722b8e71b61b304587d860c8accdc4349067542b86bb");
#else /* !IS_SORTED */
prng = prng_new(0);
* nht resolution and as such we need to call the
* nexthop tracking evaluation code
*/
- for_each (rnh_list, &dest->nht, rnh) {
+ frr_each (rnh_list, &dest->nht, rnh) {
struct zebra_vrf *zvrf =
zebra_vrf_lookup_by_id(rnh->vrf_id);
struct prefix *p = &rnh->node->p;
proto, instance,
zvrf->table[AFI_IP6][SAFI_UNICAST]);
- for_each(otable, &zvrf->other_tables, ort) cnt +=
+ frr_each(otable, &zvrf->other_tables, ort) cnt +=
rib_score_proto_table(proto, instance, ort->table);
}