802.1Q vlan performance.
rwatson at FreeBSD.org
Fri Aug 25 10:38:20 UTC 2006
On Fri, 25 Aug 2006, Gleb Smirnoff wrote:
> As said before by Andrew. It consumes memory. And looks like a regression on
> a system with small number of vlans.
> However, after your email I see that we need to document this option in
> vlan(4) and encourage people to try it, when they are building a system with
> a huge number of vlans.
> And here are some more performance thoughts on vlan(4) driver. When we are
> processing an incoming VLAN tagged frame, we need either hash or the array
> to determine which VLAN does this frame belong to. When we are sending a
> VLAN frame outwards, we don't need this lookup. I've made some tests and it
> looks like that the performance decrease that is observed between bare
> Ethernet interface and vlan(4) interface, is mostly caused by the transmit
> part. The packet is put twice on interface queues. I hope, this will be
> optimized after Robert Watson finishes his if_start_mbuf work.
Ideally, it will also be possible to remove the m_tag allocation/free from the
path once I'm done, which should help also.
Is it possible to make the hash table decision a run-time decision?
Robert N M Watson
University of Cambridge
More information about the freebsd-current