802.1Q vlan performance.

Robert Watson 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
Computer Laboratory
University of Cambridge

More information about the freebsd-current mailing list