November 15, 2008 VLAN 4

### NAME

vlan - IEEE 802.1Q Virtual LAN network device

### SYNOPSIS

pseudo-device vlan

### DESCRIPTION

The vlan interface provides support for IEEE 802.1Q Virtual Local Area Networks (VLAN). This supports the trunking of more than one network on a single network interface. This is particularly useful on routers or on hosts which must be connected to many different networks through a single physical interface.

To use a vlan interface, the administrator must first create the interface and then specify the VID the first 12 bits from a 16-bit integer which distinguishes each VLAN from any oth- ers (VLAN identifier,) and physical interface associated with the VLAN. This can be done by using the ifconfig(8) create, vlan, and vlanif subcommands from a shell command line or script. From within a C program, use the ioctl(2) system call with the ```SIOCSIFCREATE` and ```SIOCSIFVLAN` arguments.

To be compatible with other IEEE 802.1Q devices, the vlan interface supports a 1500 byte MTU, which means that the parent interface will have to handle packets that are 4 bytes larger than the original Ethernet standard. Drivers supporting this increased MTU are:

  - drivers using the DP8390 core ec(4), ne(4), we(4), and possibly others (such as)
  - bge(4)
  - bnx(4)
  - ea(4)
  - eb(4)
  - epic(4)
  - etherip(4)
  - ex(4)
  - fxp(4)
  - gem(4)
  - hme(4)
  - le(4)
  - sip(4)
  - ste(4)
  - stge(4)
  - ti(4)
  - tl(4)
  - tlp(4)
  - vge(4)
  - wm(4)
  - xi(4)

vlan can be used with devices not supporting the IEEE 802.1Q MTU, but then the MTU of the vlan interface will be 4 bytes too small and will not interoperate properly with other IEEE 802.1Q devices, unless the MTU of the other hosts on the VLAN are also lowered to match.

### EXAMPLES

The following will create interface vlan0 with VID six, on the Ethernet interface tlp0:

  `

      ifconfig vlan0 create
      ifconfig vlan0 vlan 6 vlanif tlp0

  `

After this set up, IP addresses (and/or other protocols) can be assigned to the vlan0 interface. All other hosts on the Ethernet connected to tlp0 which configure a VLAN and use VID six will see all traffic transmitted through vlan0.

The same VLAN can be created at system startup time by placing the following in ```/etc/ifconfig.vlan0`:

  `

      create
      vlan 6 vlanif tlp0

  `

### SEE ALSO

ifconfig(8)

### HISTORY

The vlan device first appeared in NetBSD1.5.1, and was derived from a VLAN implementation that appeared in FreeBSD and OpenBSD.

### BUGS

The vlan interfaces do not currently inherit changes made to the physical interfaces' MTU.