The last week i've been experimenting with an ES20 card and i must say i'm impressed. A lot of nice features (that should be standard in the simple 6500/7600 LAN cards too) are included while some other are there to help you accomplish whatever ethernet scenario comes into your mind.
These are some features that differentiate it from the simple 67xx cards:
- Subinterfaces
- Subinterface Switchport / Subinterfaces MultiPoint Bridging (MPB) with Spanning Tree
- Ethernet Multipoint Bridging with Local VLAN significance per port
- Double-tag IP termination
- Flexible QinQ mapping and termination
- many MPLS features
- many QoS features
The ES20 card supports (among other) the following L2 features:
Flexible QinQ Mapping and Service Awareness The Flexible QinQ Mapping and Service Awareness on 7600-ESM-2X10GE and 7600-ESM-20X1GE feature allows service providers to offer triple-play services, residential internet access from a DSLAM, and business Layer 2 and Layer 3 VPN by providing for termination of double-tagged dot1q frames onto a Layer 3 subinterface at the access node.
MultiPoint Bridging over Ethernet (MPBE)
The MultiPoint Bridging over Ethernet (MPBE) on 7600-ESM-2X10GE and 7600-ESM-20X1GE feature provides Ethernet LAN switching with MAC learning, local VLAN significance, and full QoS support. MPBE also provides Layer 2 switchport-like features without the full switchport implementation.Both features are supported only through Ethernet Virtual Connection Services (EVCS) service instances.
EVCS uses the concepts of EVCs (Ethernet virtual circuits) and service instances. An EVC is an end-to-end representation of a single instance of a Layer 2 service being offered by a provider to a customer. It embodies the different parameters on which the service is being offered. A service instance is the instantiation of an EVC on a given port on a given router.
This was my test setup regarding the ES20 :
CISCO7609
WS-SUP720-3BXL
7600-ES20-GE3C
IOS 12.2.33SRC
I also used 2 6500s (with 6724-SFP cards) and 2 routers (7200s), creating an ethernet-only network like the following:
Router-1 <===> 6500-1 <===> 7609 <===> 6500-2 <===> Router-2My objectives were the following:
1) Start from single-tag ip termination (Router-1) and end to double-tag ip termination (Router-2)
2) Translate an outer vlan to a new one (2999 => 3999) while moving from 6500-1 to Router-2, leaving the inner vlans unchanged and vice versa
3) Terminate an outer-vlan/inner-vlan pair (2999/103) locally on the 7609
4) Apply some egress QoS (shaping, LLQ) on the above 2 vlans on the 7609
Router-1 <===> 6500-1Router-1 interface is an ethernet interface with many ip subinterfaces
interface GigabitEthernet0/2.101
description ** 6500-1 - vlan 101 **
encapsulation dot1Q 101
ip address 10.101.0.1 255.255.255.252
!
interface GigabitEthernet0/2.102
description ** 6500-1 - vlan 102 **
encapsulation dot1Q 102
ip address 10.102.0.1 255.255.255.252
!
interface GigabitEthernet0/2.103
description ** 6500-1 - vlan 103 **
encapsulation dot1Q 103
ip address 10.103.0.1 255.255.255.252
6500-1 interface is a dot1q-tunnel (double-tagging all incoming frames)
interface GigabitEthernet3/9
description ** Router-1 **
switchport
switchport access vlan 2999
switchport mode dot1q-tunnel
mtu 9216
mls qos trust cos
mls qos cos-mutation COS-TUNNEL-MAP
spanning-tree bpdufilter enable
6500-1 <===> 76096500-1 interface is a trunk (allowing only the original outer vlan)
interface GigabitEthernet3/10
description ** 7609 Gi5/0/0 **
switchport
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 2999
switchport mode trunk
switchport nonegotiate
mtu 9216
mls qos trust cos
mls qos cos-mutation COS-TUNNEL-MAP
spanning-tree bpdufilter enable
7609 interface includes a service instance for the outer vlan translation
interface GigabitEthernet5/0/0
mtu 9216
service instance 2999 ethernet
encapsulation dot1q 2999
rewrite ingress tag translate 1-to-1 dot1q 3999 symmetric
The number 2999, which is used for defining the service instance, can be whatever you like; it doesn't have to be the same as the vlan number. I just used the same number for easiness.
The "
encapsulation dot1q 2999" command defines the ingress match criteria for this service instance.
The "
rewrite ingress tag translate 1-to-1 dot1q 3999 symmetric" command defines a 1-to-1 translation of the ingress matched vlan (2999) to 3999 and the opposite ("symmetric").
Generally, the service instance is "equivalent" to a trunk port.
7609The 7609 does mainly two things:
Outer vlan translation (see above) and egress shaping
class-map match-all TRAFFIC1
match cos 6 7
!
policy-map TRAFFIC1
class TRAFFIC1
shape average 128000
class class-default
shape average 10000000
!
interface GigabitEthernet5/0/0
mls qos trust cos
service instance 2999 ethernet
service-policy output TRAFFIC1
!
connect EVC1 GigabitEthernet5/0/0 2999 GigabitEthernet5/0/1 3999
The "
connect EVC1..." command creates the evc that connects the 2 service instances of the 2 interfaces of the 7609.
IP Q-in-Q termination for a specific outer-vlan/inner-vlan pair and egress LLQ/policing
class-map match-all TRAFFIC2
match cos 3 5
!
policy-map TRAFFIC2
class TRAFFIC2
police 5000000
priority
class class-default
shape average 1000000
!
interface GigabitEthernet5/0/0.2999103
description ** local termination - vlan 2999/103 **
encapsulation dot1Q 2999 second-dot1q 103
ip address 10.103.0.2 255.255.255.252
service-policy output TRAFFIC2
Policing must be used together with priority for LLQ.
7609 <===> 6500-27609 interface includes a service instance for the outer vlan translation
interface GigabitEthernet5/0/1
description ** 6500-2 **
mls qos trust cos
service instance 3999 ethernet
encapsulation dot1q 3999
rewrite ingress tag translate 1-to-1 dot1q 2999 symmetric
6500-2 interface is a trunk (allowing only the translated outer vlan)
interface GigabitEthernet3/11
description ** 7609 Gi5/0/1 **
switchport
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 3999
switchport mode trunk
switchport nonegotiate
mtu 9216
mls qos trust cos
mls qos cos-mutation COS-TUNNEL-MAP
spanning-tree bpdufilter enable
6500-2 <===> Router-26500-2 interface is a trunk (allowing only the translated outer vlan)
interface GigabitEthernet3/12
description ** Router-2 **
switchport
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 3999
switchport mode trunk
switchport nonegotiate
mtu 9216
mls qos trust cos
mls qos cos-mutation COS-TUNNEL-MAP
spanning-tree bpdufilter enable
Router-2 interface is an ethernet interface with the remaining IP Q-in-Q subinterfaces
interface GigabitEthernet0/2.3999101
description ** 6500-2 - vlan 3999/101 **
encapsulation dot1Q 3999 second-dot1q 101
ip address 10.101.0.2 255.255.255.252
!
interface GigabitEthernet0/2.3999102
description ** 6500-2 - vlan 3999/102 **
encapsulation dot1Q 3999 second-dot1q 102
ip address 10.102.0.2 255.255.255.252
Btw, the CCO configuration page about ES20 must be one of the worst ever written. Many configuration examples are wrong (they probably haven't even tried them), while some other are missing explanations.