Symbol: if_idxmap
sys/net/if.c
302
static struct if_idxmap if_idxmap;
sys/net/if.c
327
rw_init(&if_idxmap.lock, "idxmaplk");
sys/net/if.c
328
if_idxmap.serial = 1; /* skip ifidx 0 */
sys/net/if.c
335
if_idxmap.usedidx = malloc(if_idxmap_usedidx_size(limit),
sys/net/if.c
337
setbit(if_idxmap.usedidx, 0); /* blacklist ifidx 0 */
sys/net/if.c
340
SMR_PTR_SET_LOCKED(&if_idxmap.map, if_map);
sys/net/if.c
352
rw_enter_write(&if_idxmap.lock);
sys/net/if.c
354
if (++if_idxmap.count >= USHRT_MAX)
sys/net/if.c
357
if_map = SMR_PTR_GET_LOCKED(&if_idxmap.map);
sys/net/if.c
360
index = if_idxmap.serial++ & USHRT_MAX;
sys/net/if.c
390
memcpy(nusedidx, if_idxmap.usedidx, howmany(olimit, NBBY));
sys/net/if.c
393
dtor = (struct if_idxmap_dtor *)if_idxmap.usedidx;
sys/net/if.c
394
if_idxmap.usedidx = nusedidx;
sys/net/if.c
396
SMR_PTR_SET_LOCKED(&if_idxmap.map, if_map);
sys/net/if.c
405
if (index != 0 && isclr(if_idxmap.usedidx, index))
sys/net/if.c
408
index = if_idxmap.serial++ & USHRT_MAX;
sys/net/if.c
411
KASSERT(isclr(if_idxmap.usedidx, index));
sys/net/if.c
413
setbit(if_idxmap.usedidx, index);
sys/net/if.c
416
rw_exit_write(&if_idxmap.lock);
sys/net/if.c
440
rw_enter_write(&if_idxmap.lock);
sys/net/if.c
442
if_map = SMR_PTR_GET_LOCKED(&if_idxmap.map);
sys/net/if.c
448
KASSERT(isset(if_idxmap.usedidx, index));
sys/net/if.c
453
rw_exit_write(&if_idxmap.lock);
sys/net/if.c
462
rw_enter_write(&if_idxmap.lock);
sys/net/if.c
464
if_map = SMR_PTR_GET_LOCKED(&if_idxmap.map);
sys/net/if.c
468
KASSERT(isset(if_idxmap.usedidx, index));
sys/net/if.c
472
if_idxmap.count--;
sys/net/if.c
473
clrbit(if_idxmap.usedidx, index);
sys/net/if.c
476
rw_exit_write(&if_idxmap.lock);
sys/net/if.c
491
if_map = SMR_PTR_GET(&if_idxmap.map);