Tag Archives: TRUNK

untagAll vs tagAll on Avaya Ethernet Routing Switches

This is probably the most often referred to topic both on the forums and here on my blog. After finding it in the top 10 keyword searches to my blog this morning I decided to try and write up a new post that would conclusively answer the question with respect to Avaya (formerly Nortel) Ethernet Routing Switches.

Definitions

Now before I get started lets define some basic terms;

  • Access port is defined as a port belonging to a single VLAN
  • Trunk port as defined in Wikipedia is a port designed to carry multiple VLANs through a single network link through the use of a “trunking protocol”. To allow for multiple VLANs on one link, frames from individual VLANs must be identified. The most common and preferred method, IEEE 802.1Q adds a tag to the Ethernet frame header, labeling it as belonging to a certain VLAN. Since 802.1Q is an open standard, it is the only option in an environment with multiple-vendor equipment.

So by it’s definition an access port can only belong to one VLAN while a trunk port can belong to multiple VLANs.

It’s important to distinguish that we’re talking about single ports. A trunk group or trunk port group is made up of multiple ports which are combined into a single virtual port. Protocols such as MultiLink Trunking (Avaya), EtherChannel (Cisco) and LACP provide the ability to combine multiple trunk ports into a single virtual interface providing redundancy and additional bandwidth.

Basic Examples

In general the majority of edge switch ports will be configured as access ports. Any port used to connect a personal computer, laptop, server, printer, etc will be configured as an access port. Any port that connects to another switch will be configured as a trunk port.

Complex Examples

With the advent of virtualization VMware servers are often configured and connected to trunk ports. Where as servers would have traditionally been connected to access ports they can also be connected to trunk ports depending on their configurations. The advent of Voice Over IP (VoIP) to the desktop has also had an impact on how edge switches are configured when the desktop or laptop is connected to the IP phone which is in turn connected to the edge switch. I’ll cover that topic in more detail later on.

Avaya Ethernet Routing Switches

Ethernet Routing Switch 2500, 4000, 5000 Series

The Avaya Ethernet Routing Switch 2500, 4000 and 5000 series switches currently offer the following options.

  • tagAll – sets the port as a trunk port tagging all frames with an 802.1Q header as they egress the port.
  • untagAll – sets the port as an access port stripping all 802.1Q headers as they egress the port.
  • tagPvidOnly – sets the port as a trunk port but only adds 802.1Q headers for the PVID VLAN as they egress the port.
  • untagPvidOnly – sets the port as a trunk port but only adds 802.1Q headers for every VLAN other than the PVID VLAN as they egress the port.

What is the PVID? The PVID is the Default VLAN ID configured for that specific port. In a typical configuration where the port is an access (untagAll) port the PVID will be set to that VLAN automatically by the switch. In a trunk port configuration the PVID will be used to determine which VLAN to bridge any received untagged frames to if DiscardUntaggedFrames is not enabled. It’s recommended to enable DiscardUntaggedFrames on any port configured as a trunk (tagAll) port to avoid any potential configuration issues which might lead to a loop and a network outage. It’s also a best practice to configure the PVID on all trunk (tagAll) ports with the VLAN ID of your management VLAN.

 

Ethernet Routing Switch 1600, 8600, 8800 Series

You’ll notice on the Ethernet Routing Switch 1600, 8600 and 8800 series that the options are slightly different but achieve the same outcome.

  • PerformTagging (Checked) – sets the port as a trunk port tagging all frames with an 802.1Q header as they egress the port.
  • PerformTagging (Unchecked) – sets the port as an access port stripping all 802.1Q headers as they egress the port.

Additional options include DiscardTaggedFrames, DiscardUntaggedFrames and UntagDefaultVlan. These options can be used to achieve the same results as with the Avaya Ethernet Routing Switch 2500, 4000 and 5000 series switches with the exception of tagPvidOnly.

Is the PVID equivalent to the native vlan command in Cisco switches? It is if untagPvidOnly/UntagDefaultVlan is enabled. The PVID (DefaultVlanId) by itself only acts on untagged received frames. The untagPvidOnly/UntagDefaultVlan option acts on transmitted frames and so the combination of the two equates to the “switchport trunk native vlan #” on a Cisco switch.

It’s also important to point out that Avaya only supports 802.1Q tagging. So while Cisco supports ISL and 802.1Q there is no Avaya command similar to “switchport trunk encapsulation dot1q” since this is the default behavior with Avaya switches.

IP Telephony

There are some special considerations when desktops and laptops are physically connected to the PC port on back of an IP phone and then the IP phone is cabled to the edge switch.  In this scenario the common approach is to tag the voice VLAN while leaving the data VLAN untagged. Why? It’s important that we separate the voice traffic from the data traffic so we utilize two different VLANs, one VLAN will carry the voice traffic while one VLAN will carry the data traffic destined to the desktop or laptop. The desktop or laptop probably won’t be configured for 802.1Q tagging so it won’t understand an 802.1Q tagged frame. We need to guarantee that any frames being delivered to the PC port on the back of the IP phone are untagged, if they aren’t the laptop or desktop will just discard the frame. The IP phone will tag the voice frames with an 802.1Q header so the switch will properly bridge those frames to the voice VLAN. In this scenario we need to utilize the untagPvidOnly option in combination with configuring the PVID (DefaultVlanId) as the data VLAN. This way the voice VLAN will be tagged with an 802.1Q header so the phone understands it and the data VLAN will be untagged so the desktop or laptop understands it. The IP phone will be configured with the Voice VLAN ID so it knows which ID to use when communicating with the Call Server and Media Gateways.

Cheers!

802.1Q VLAN Tagging on a Cisco Catalyst 3750-E

In the two previous posts I covered how to create multiple VLANs, trunk those VLANs between multiple stackable Avaya Ethernet Routing Switches utilizing Multi-Link Trunking and how to create Layer 3 IP interfaces to be used for routing IP packets between those VLANs.

In this post I thought I would expand the network topology of my previous two posts to include a Cisco Catalyst 3750-E. I’ll specifically cover how to trunk (bridge) multiple VLANs between a stackable Avaya Ethernet Routing Switch and the Cisco Catalyst 3750-E and how to configure multiple interfaces in a Link Aggregation Group (LAG) utilizing LACP similar to Avaya’s proprietary MLT feature.

Avaya Ethernet Routing Switch 4548

enable
config t

Let’s start by making ports 45 and 46 trunk ports which will utilize 802.1Q tagging;

vlan ports 45,46 tagging tagAll

Let’s add the VLANs we wish to bridge across the trunk ports;

vlan members add 1 45,46
vlan members add 100 45,46
vlan members add 200 45,46

Now we’ll enable LACP on ports 45 and 46 using the same LACP key which will automatically create the LAG;

interface fastEthernet 45
lacp key 10
lacp mode active
lacp timeout-time short
lacp aggregation enable
exit

interface fastEthernet 46
lacp key 10
lacp mode active
lacp timeout-time short
lacp aggregation enable
exit

Avaya Ethernet Routing Switch 4548 – Show Commands

4548GT-PWR#show lacp port 45,46
Admin Oper         Trunk Partner
Port Priority Lacp    A/I Timeout Key   Key   AggrId Id    Port    Status
---- -------- ------- --- ------- ----- ----- ------ ----- ------- ------
45   32768    Active  A   Short   10    12298 8224   32    302     Active
46   32768    Active  A   Short   10    12298 8224   32    303     Active

4548GT-PWR#show mac-address-table
Mac Address Table Aging Time: 300
Number of addresses: 26

   MAC Address    Vid  Source         MAC Address    Vid  Source
----------------- ---- -------     ----------------- ---- -------
00-02-B3-CB-77-A2    1 Port:19     00-04-61-9E-46-7E    1 Port:21
00-0C-29-64-33-F9    1 Port:19     00-0C-29-A5-CB-54    1 Port:19
00-0F-20-95-38-D5    1 Port:11     00-18-01-EA-F4-45    1 Port: 1
00-1C-11-6B-DC-6B    1 Port: 1     00-1C-11-6D-15-27    1 Port: 1
00-1C-11-6D-15-DC    1 Port: 1     00-1E-7E-7C-2C-00    1
00-1E-7E-7C-2C-40    1             00-1F-0A-CE-BC-01    1 Trunk:1
00-1F-0A-CE-BC-40    1 Trunk:1     00-1F-D0-D0-BE-2D    1 Port:17
00-23-EE-96-AA-21    1 Port: 1     00-24-B5-F6-94-02    1 Trunk:1
00-64-40-CF-4D-AD    1 Trunk:32    00-64-40-CF-4D-AE    1 Trunk:32
00-64-40-CF-4D-C0    1 Trunk:32    00-0A-E4-76-9C-C8    2 Port:44
00-24-DC-DF-0D-08    2 Port:43     00-A0-F8-5E-CE-BC    2 Port:39
00-1F-0A-CE-BC-41  100 Trunk:1     00-24-7F-99-84-70  100 Port:25
00-64-40-CF-4D-AD  100 Trunk:32    00-1E-CA-F3-1D-B4  200 Port:26
00-1F-0A-CE-BC-43  200 Trunk:1     00-64-40-CF-4D-AD  200 Trunk:32

4548GT-PWR#show mlt
Id Name             Members                Bpdu   Mode           Status  Type
-- ---------------- ---------------------- ------ -------------- ------- ------
1  MLT_to_ERS5520   47-48                  All    Basic          Enabled Trunk
2  Trunk #2         NONE                   All    Basic          Disabled
3  Trunk #3         NONE                   All    Basic          Disabled
4  Trunk #4         NONE                   All    Basic          Disabled
5  Trunk #5         NONE                   All    Basic          Disabled
6  Trunk #6         NONE                   All    Basic          Disabled
7  Trunk #7         NONE                   All    Basic          Disabled
8  Trunk #8         NONE                   All    Basic          Disabled
9  Trunk #9         NONE                   All    Basic          Disabled
10 Trunk #10        NONE                   All    Basic          Disabled
11 Trunk #11        NONE                   All    Basic          Disabled
12 Trunk #12        NONE                   All    Basic          Disabled
13 Trunk #13        NONE                   All    Basic          Disabled
14 Trunk #14        NONE                   All    Basic          Disabled
15 Trunk #15        NONE                   All    Basic          Disabled
16 Trunk #16        NONE                   All    Basic          Disabled
17 Trunk #17        NONE                   All    Basic          Disabled
18 Trunk #18        NONE                   All    Basic          Disabled
19 Trunk #19        NONE                   All    Basic          Disabled
20 Trunk #20        NONE                   All    Basic          Disabled
21 Trunk #21        NONE                   All    Basic          Disabled
22 Trunk #22        NONE                   All    Basic          Disabled
23 Trunk #23        NONE                   All    Basic          Disabled
24 Trunk #24        NONE                   All    Basic          Disabled
25 Trunk #25        NONE                   All    Basic          Disabled
26 Trunk #26        NONE                   All    Basic          Disabled
27 Trunk #27        NONE                   All    Basic          Disabled
28 Trunk #28        NONE                   All    Basic          Disabled
29 Trunk #29        NONE                   All    Basic          Disabled
30 Trunk #30        NONE                   All    Basic          Disabled
31 Trunk #31        NONE                   All    Basic          Disabled
32 Trunk #32        45-46                  Single DynLag/Basic   Enabled Trunk

You might be looking at the output above and asking yourself what’s “Trunk 32″? Let me provide some quick background. You can have a total of 32 MLT/LAG trunks on a stackable Avaya Ethernet Routing Switch. When you create LACP trunks the switch automatically creates a LAG in the MLT table dynamically from the bottom up. While in the previous post I created “Trunk 1″ by trunking ports 47 and 48 together (see above), in this post I’ve created an LACP trunk on ports 45 and 46 which will be reported it the switch as “Trunk 32″. You can also see it in the MAC/FDB table above.

Cisco Catalyst 3750-E

enable
config t

Let’s give the switch an IP address in VLAN 1 for management;

vlan 1
ip address 192.168.1.25 255.255.255.0
no shut
exit

Let’s create VLAN 100 and VLAN 200 on the switch;

vlan 100
name "192-168-100-0/24"
exit
vlan 200
name "192-168-200-0/24"
exit

Let’s add the appropriate edge ports to each VLAN;

interface range gigabitEthernet 1/0/1-12
switchport access vlan 1
exit
interface range gigabitEthernet 1/0/13-24
switchport access vlan 100
exit
interface range gigabitEthernet 1/0/24-36
switchport access vlan 200
exit

Let’s configure ports 45 and 46 as trunk ports and bond them together in channel-group utilizing LACP;

interface gigabitEthernet 1/0/45
switchport trunk encapsulation dot1q
switchport mode trunk
channel-protocol lacp
channel-group 1 mode active

interface gigabitEthernet 1/0/46
switchport trunk encapsulation dot1q
switchport mode trunk
channel-protocol lacp
channel-group 1 mode active

Cisco Catalyst 3750-E – Show Commands

SW-3750-E#show lacp neighbor
Flags:  S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode       P - Device is in Passive mode

Channel group 1 neighbors

Partner's information:

LACP port                        Admin  Oper   Port    Port
Port      Flags   Priority  Dev ID          Age    key    Key    Number  State
Gi1/0/45  FA      32768     001e.7e7c.2c00  16s    0x0    0x300A 0x2D    0x3F
Gi1/0/46  FA      32768     001e.7e7c.2c00  27s    0x0    0x300A 0x2E    0x3F

Switch#show mac address-table
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
 All    0100.0ccc.cccc    STATIC      CPU
 All    0100.0ccc.cccd    STATIC      CPU
 All    0180.c200.0000    STATIC      CPU
 All    0180.c200.0001    STATIC      CPU
 All    0180.c200.0002    STATIC      CPU
 All    0180.c200.0003    STATIC      CPU
 All    0180.c200.0004    STATIC      CPU
 All    0180.c200.0005    STATIC      CPU
 All    0180.c200.0006    STATIC      CPU
 All    0180.c200.0007    STATIC      CPU
 All    0180.c200.0008    STATIC      CPU
 All    0180.c200.0009    STATIC      CPU
 All    0180.c200.000a    STATIC      CPU
 All    0180.c200.000b    STATIC      CPU
 All    0180.c200.000c    STATIC      CPU
 All    0180.c200.000d    STATIC      CPU
 All    0180.c200.000e    STATIC      CPU
 All    0180.c200.000f    STATIC      CPU
 All    0180.c200.0010    STATIC      CPU
 All    ffff.ffff.ffff    STATIC      CPU
   1    0004.619e.467e    DYNAMIC     Po1
   1    000c.2964.33f9    DYNAMIC     Po1
   1    000c.29a5.cb54    DYNAMIC     Po1
   1    000f.2095.38d5    DYNAMIC     Po1
   1    0018.01ea.f445    DYNAMIC     Po1
   1    001c.116b.dc6b    DYNAMIC     Po1
   1    001c.116d.1527    DYNAMIC     Po1
   1    001c.116d.15dc    DYNAMIC     Po1
   1    001e.7e7c.2c01    DYNAMIC     Po1
   1    001e.7e7c.2c2d    DYNAMIC     Po1
   1    001e.7e7c.2c2e    DYNAMIC     Po1
   1    001f.d0d0.be2d    DYNAMIC     Po1
   1    0023.ee96.aa21    DYNAMIC     Po1
   1    00a0.f85e.cebd    DYNAMIC     Po1
 100    0024.7f99.84e9    DYNAMIC     Po1
 200    0008.02e4.890a    DYNAMIC     Gi1/0/25
 200    001e.caf3.1db4    DYNAMIC     Po1
Total Mac Addresses for this criterion: 37

You might be asking why didn’t I assign the VLANs to the trunk ports on the Cisco Catalyst 3750-E… well with Cisco switches a trunk port is by default a member of all the VLANs that exist on the switch. So you don’t need to specifically add a VLAN to a trunk port, however, you can override the default behavior by telling the switch to only carry specific VLANs on a specific trunk port – this is called VLAN pruning.

Please feel free to point out any inconsistencies or errors I might have made.

Cheers!