*
* @return SYS_ERR_OK on success, errval on failure
*/
-errval_t net_buf_init(struct devq *dev_q, size_t numbuf, size_t size,
- struct net_buf_pool **retbp)
+errval_t net_buf_pool_alloc(struct devq *dev_q, size_t numbuf, size_t size,
+ struct net_buf_pool **retbp)
{
errval_t err;
return SYS_ERR_OK;
}
+errval_t net_buf_pool_free(struct net_buf_pool *retbp)
+{
+ return SYS_ERR_OK;
+}
+
/**
* @brief adds a previously allocated frame to the buffer pool
*
}
reg->buffer_size = ROUND_UP(buffersize, NETWORKING_BUFFER_ALIGN);
+ reg->buffer_shift = 0;
+ while(!((reg->buffer_size >> reg->buffer_shift) & 0x1)) {
+ reg->buffer_shift++;
+ }
+
reg->framecap = frame;
reg->pool = bp;
NETDEBUG("pbuf=%p\n", p);
if (p->next) {
- debug_printf("!!!!!! p->NEXT was not NULL\n");
+ debug_printf("!!!!!! p->NEXT was not NULL (%p)\n", p->next);
}
// printf("free: %p\n", p);
assert((offset & (reg->buffer_size - 1)) == 0);
assert(offset / reg->buffer_size < reg->pool->buffer_count);
struct net_buf_p *nb = reg->netbufs + (offset / reg->buffer_size);
+
+ assert((offset / reg->buffer_size) == (offset >> reg->buffer_shift));
+
assert(nb->offset == offset);
return (struct pbuf *)nb;