This knowledge base has moved to the documentation site. Please visit the knowledge base here for the most up to date content. This site is no longer maintained.

Voice VLAN on Cumulus Linux


The term "Voice VLAN" can be confusing, as it means different things to different vendors. In Cumulus Linux, a Voice VLAN is a VLAN dedicated to Voice traffic on a switch.

On Cisco Systems' Catalyst software, when a switch port is configured as an access port (switchport mode access), and has a Voice VLAN configured on that switch port, the switch port behaves identically to a 802.1q trunk. This means that the untagged VLAN is configured for the personal computer (PC), and the tagged VLAN is configured for the Voice over IP (VoIP) handset, effectively configuring the switch port as a trunk with 2 VLANs (one tagged and one un-tagged).


  • Cumulus Linux 3.0.0 - 3.4.3

Cumulus Linux Voice VLAN Example

The topology above is shown in the /etc/network/interfaces file as follows:

auto bridge
iface bridge
  bridge-vlan-aware yes
  bridge-ports swp1 swp2 swp3
  bridge-vids 1-1000
  bridge-pvid 1

auto swp1
iface swp1
   bridge-vids 200
   bridge-pvid 100
   mstpctl-bpduguard yes
   mstpctl-portadminedge yes

auto swp2
iface swp2
   bridge-vids 200
   bridge-pvid 100
   mstpctl-bpduguard yes
   mstpctl-portadminedge yes

The bridge-vids can be reviewed with the Linux command "bridge":

cumulus@ig-spine-01:mgmt-vrf:~$ bridge -c vlan show
port	vlan ids
swp1	 100 PVID Egress Untagged

swp2	 100 PVID Egress Untagged

swp3	 1 PVID Egress Untagged

Cumulus Linux vs Cisco IOS Configuration

Cumulus Linux /etc/network/interfaces Cisco IOS
auto swp1
iface swp1
   bridge-vids 200
   bridge-pvid 100
   mstpctl-bpduguard yes
   mstpctl-portadminedge yes
interface FastEthernet0/1
  switchport access vlan 100
  switchport voice vlan 200
  spanning-tree portfast
  spanning-tree bpduguard enable

Cisco Voice VLAN and 802.1q Trunk Differences

Behavior Cumulus Linux Trunk Cisco Voice VLAN
CoS & 802.1p
  • CoS value is trusted on tagged and untagged packets.
  • As IP Phone overrides the priority, according to Cisco documentation, the behavior should be identical.
  • All untagged traffic is sent according to the default CoS priority of the port.
  • The default CoS value is 0 for incoming traffic.
  • The CoS value is not trusted for 802.1P or 802.1Q tagged traffic.

  • The IP Phone overrides the priority of all incoming traffic (tagged and untagged) and sets the CoS value to 0.


  • If portfast behavior is desired, mstpctl-portadminedge must be enabled.
  • The Port Fast feature is automatically enabled when voice VLAN is configured. When you disable voice VLAN, the Port Fast feature is not automatically disabled.


Trust CoS on Phone
  • Must be configured on Phone or Call Manager (or Call Manager equivalent).
  • Cumulus Linux trusts COS values by default (unless configured not to).
  • Use the command switchport priority extend trust.


Automatic Detection
  • Not available as of 11/22/2016 as this is proprietary to Cisco Systems. Please contact support if this is a required feature.
  • Use the command switchport voice detect cisco-phone full-duplex.


See Also


This support portal has moved

Cumulus Networks is now part of the NVIDIA Networking Business Unit! The NVIDIA Cumulus Global Support Services (GSS) team has merged its operations with the NVIDIA Mellanox support services team.

You can access NVIDIA Cumulus support content from the Mellanox support portal.

You open and update new cases on the Mellanox support portal. Any previous cases that have been closed have been migrated to the Mellanox support portal.

Cases that are still open on the Cumulus portal will continue to be managed on the Cumulus portal. Once these cases close, they will be moved to the Mellanox support portal.

Powered by Zendesk