This documentation is for an older version of the software. If you are using the current version of Cumulus Linux, this content may not be up to date. The current version of the documentation is available here. If you are redirected to the main page of the user guide, then this page may have been renamed; please search for it there.

Voice VLAN

In Cumulus Linux, a voice VLAN is a VLAN dedicated to voice traffic on a switch. However, the term can mean different things to different vendors.

Cumulus Linux Voice VLAN Example

You can configure the topology above using the following NCLU commands:

cumulus@switch:~$ net add bridge bridge ports swp1-3
cumulus@switch:~$ net add bridge bridge vids 1-1000
cumulus@switch:~$ net add bridge bridge pvid 1
cumulus@switch:~$ net add interface swp1-2 bridge vids 200
cumulus@switch:~$ net add interface swp1-2 bridge pvid 100
cumulus@switch:~$ net add interface swp1-2 stp bpduguard
cumulus@switch:~$ net add interface swp1-2 stp portadminedge
cumulus@switch:~$ net pending
cumulus@switch:~$ net commit

These commands create the following configuration snippet in the /etc/network/interfaces file:

auto bridge
iface bridge
  bridge-ports swp1 swp2 swp3
  bridge-pvid 1
  bridge-vids 1-1000
  bridge-vlan-aware yes
 
auto swp1
iface swp1
   bridge-pvid 100
   bridge-vids 200
   mstpctl-bpduguard yes
   mstpctl-portadminedge yes
 
auto swp2
iface swp2
   bridge-pvid 100
   bridge-vids 200
   mstpctl-bpduguard yes
   mstpctl-portadminedge yes

The bridge-vids can be reviewed with the net show bridge vlan command:

cumulus@ig-spine-01:~$ net show bridge vlan
 
Interface    VLAN      Flags
-----------  --------  ---------------------
swp1         100       PVID, Egress Untagged
             200
 
swp2         100       PVID, Egress Untagged
             200
 
swp3         1         PVID, Egress Untagged
             2-1000

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

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 untagged).

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.

Source

Portfast

  • 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.

Source

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.

Source

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.

Source