Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Nov 2015 00:30:39 +0300
From:      Slawa Olhovchenkov <slw@zxy.spb.ru>
To:        freebsd-stable@freebsd.org
Subject:   NETMAP and off-by-one?
Message-ID:  <20151113213039.GK48728@zxy.spb.ru>

next in thread | raw e-mail | index | archive | help
I am see strange things: like NETMAP stop transmit after `head` and `cur`
touch `tail`.

But:

/*
 * check if space is available in the ring.
 */
static inline int
nm_ring_empty(struct netmap_ring *ring)
{
        return (ring->cur == ring->tail);
}

i.e. if cur == (tail-1) mod ring_size -- space is available in the
ring and I can put packet in output buffer.
After put this packet ring is full, but no transmiting.

This is bug?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20151113213039.GK48728>