NETMAP_BUF_POOL
return nmd->pools[NETMAP_BUF_POOL]._objsize;
netmap_obj_malloc(&(n)->pools[NETMAP_BUF_POOL], netmap_mem_bufsize(n), _pos, _index)
(netmap_obj_offset(&(n)->pools[NETMAP_BUF_POOL], (v)) / NETMAP_BDG_BUF_SIZE(n))
struct netmap_obj_pool *p = &nmd->pools[NETMAP_BUF_POOL];
struct netmap_obj_pool *p = &nmd->pools[NETMAP_BUF_POOL];
struct netmap_obj_pool *p = &nmd->pools[NETMAP_BUF_POOL];
struct netmap_obj_pool *p = &nmd->pools[NETMAP_BUF_POOL];
nmd->pools[NETMAP_BUF_POOL].memtotal >> 20);
nm_prinf("Free buffers: %d", nmd->pools[NETMAP_BUF_POOL].objfree);
uint64_t sz = d->params[NETMAP_BUF_POOL].size;
d->pools[NETMAP_BUF_POOL].name,
d->params[NETMAP_BUF_POOL].num += n;
if (p[NETMAP_BUF_POOL].num < v)
p[NETMAP_BUF_POOL].num = v;
p[NETMAP_BUF_POOL].num,
p[NETMAP_BUF_POOL].size);
req->nr_buf_pool_objtotal = nmd->pools[NETMAP_BUF_POOL].objtotal;
req->nr_buf_pool_objsize = nmd->pools[NETMAP_BUF_POOL]._objsize;
pi->nr_buf_pool_objtotal = netmap_min_priv_params[NETMAP_BUF_POOL].num;
pi->nr_buf_pool_objsize = netmap_min_priv_params[NETMAP_BUF_POOL].size;
nmd->pools[NETMAP_BUF_POOL]._objsize = bufsize;
nmd->pools[NETMAP_BUF_POOL]._objtotal = nbuffers;
nmd->lasterr = netmap_mem_map(&nmd->pools[NETMAP_BUF_POOL], na);
if (nmd->pools[NETMAP_BUF_POOL].objfree < 2) {
nm_prerr("%s: not enough buffers", nmd->pools[NETMAP_BUF_POOL].name);
nmd->pools[NETMAP_BUF_POOL].objfree -= 2;
if (nmd->pools[NETMAP_BUF_POOL].bitmap) {
nmd->pools[NETMAP_BUF_POOL].bitmap[0] = ~3U;
netmap_mem_unmap(&nmd->pools[NETMAP_BUF_POOL], na);
lut->lut = nmd->pools[NETMAP_BUF_POOL].lut;
lut->objtotal = nmd->pools[NETMAP_BUF_POOL].objtotal;
lut->objsize = nmd->pools[NETMAP_BUF_POOL]._objsize;
[NETMAP_BUF_POOL] = {
[NETMAP_BUF_POOL] = {
[NETMAP_BUF_POOL] = {
[NETMAP_BUF_POOL] = {
DECLARE_SYSCTLS(NETMAP_BUF_POOL, buf);
+ p[NETMAP_BUF_POOL].memtotal);