OpenBSD Journal

Call for Testing: vlan(4) improvements (Update updated)

Contributed by tbert on from the tag-you're-it dept.

Henning Brauer (henning@) writes in to let us know that he has some vlan(4) improvements in the pipeline:

so, on vlan, to insert the vlan tag, we right now:
-copy (most of) the existing ethernet header into a ether_vlan_header
 on the stack
-fill the extra fields (tag, inside ether type) in ether_vlan_header
-set the ether type
-m_adj() to make room for the extra space ether_vlan_header needs
-m_copyback the ether_vlan_header into the mbuf

that involves moving data around, which isn't all that cheap.

now it turns out it is trivial to have ether_output prepend the
ether_vlan_header instead of the regular ethernet header, which makes
the vlan tagging essentially free in most cases.

you need a very current src tree to test this, relies on the code
shuffling in if_ethersubr.c I did a few hours ago.

If you have a setup that involves vlan(4), you can test by applying the patch the updated patch building from source and pushing some packets. As always, widespread testing is key to the continued quality of our releases.

(Comments are closed)

  1. By Daniel Gracia ( on

    Very nice!

    Using intensive VLAN tagging for a little WISP over here. Will check functionality ASAP.

Latest Articles


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]