Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Mar 2018 04:00:15 +0000
From:      Ming Fu <Ming.Fu@esentire.com>
To:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   netmap: How the buf_num of buffers is used by driver and monitor app
Message-ID:  <abc1c7da14d64c04bdce467825d0af44@mbx01cmb01p.esentire.local>

next in thread | raw e-mail | index | archive | help
Hi,

I am wondering about the netmap module parameters buf_num. The default buf_=
num 163840 seems fairly big compare to intel 10G ixgbe of max 4096 queue si=
ze. A full queue of the interface can only use a very small portion of the =
buf_num. Can the netmap enabled driver like ixgbe use more buffers than the=
 "ethtool -G" configured rx/tx queue size?

I need to feed packages captured from netmap device to a few traffic monito=
rs on the same box. The monitor application attach to the device as netmap =
monitor with the /r at the end of device name. My question is if the primar=
y read of the device calls poll(), the netmap buffer is synced with the ker=
nel. Can the other monitor application still access the packet that the pri=
mary read just returned to the kernel? If one of the monitor on the netmap =
device is slow, will it cause trouble for the primary reader and other moni=
tors? How can I cache a lot of packets in the buffer in case one of the mon=
itor application had a temporary slow down?

Thanks,
Ming



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