Date created: Monday, December 14, 2015 12:02:33 PM. Last modified: Thursday, July 16, 2020 3:06:05 PM

ME3600/ME3800 - Hardware & Software

References:
http://www.cisco.com/c/en/us/td/docs/switches/metro/me3600x_3800x/software/release/15-5_1_S/configuration/guide/3800x3600xscg/swmplsloadbalancing.html
http://www.cisco.com/c/en/us/td/docs/switches/metro/me3600x_3800x/software/release/15-1_2_ey/configuration/guide/3800x3600xscg/swsdm.html
http://www.cisco.com/c/dam/en/us/products/collateral/switches/me-3600x-series-ethernet-access-switches/Cisco-3600X-Video-Datasheet.pdf


The ME300X/ME3800X/ME3600X-24CX fall under codename "Whales".

ASICs:

ME3600X-24TS-M / ME3600X-24FS-M / ME3800X-24FS-M all have 24x1Gbps ports with two 10Gbps SFP+ ports that can run in either 1Gbps or 10Gbps.

The 1Gbps ports share one Nile ASIC and the 10Gbps ports share a second Nile ASIC. The Nile ASICs are connected back to back via a PCI connection which is non-blocking. The Nile ASICs are compact carrier Ethernet ASICs with on chip TCAM and buffers, this means that packets come from the PHY into the ASIC, all actions are performed inside the ASIC and it then switches out via the appropriate PHY or to the neighbouring ASIC. This means that these switches as a whole are non-blocking, they support 44Gbps of full duplex traffic forwarding, Cisco state 65Mpps at 64 bytes (there is no oversubscription in these 1u variants, only in the ME3600-CX). Trie structures (FIB) are stored in RLDRAM (see the output of "show platform aspdma template | begin RLDRAM").

On the ME3600X models there is a total 44MBs of buffers which is split into 22MBs for each Nile ASIC. There are 4MBs off ECC overhead to 18MBs of port buffers per ASIC.

Each Nile ASIC is connected to:

  • 2x 64/96-bit 400MHz RLDRAM packet buffers.
  • 1x 36-bit 400MHz QDR SRAM.
  • 1x 400MHz TCAM chip.
  • 1x Forwarding RAM chip.

The 10Gbps ports use the dual 10Gbps channel broadcom chip BCM8727 for as the port ASIC:

ME3600X-24TS-M#test platform sfp+ version
Te0/1 BCM8727 Version: 0x050D, Revision: C
Te0/2 BCM8727 Version: 0x050D, Revision: C

The ME3800X has 352MB off buffers which is again split between the two Nile ASICs. 176MBs of memory on each less 30MBs for ECC leaves 146MBs per ASIC.

 

Scaling:

The ME3600X default SDM template supports 20K IPv4 routes, the "ip" profile supports 24K IPv4 routes and the "applications" profile supports 12K IPv4 routes. The MetroIPAccess or AdvancedMetroIPAccess licenses are required for the ME3600X. The ME3800X default SDM supports 24K IPv4 routes. With the ScaledServices license on the ME3800X the "default" SDM profile supports 32K IPv4 routes, the "vpnv4-only" template supports 80K IPv4 routes and the "vpnv4-v6" profile supports 80K IPv4 routes with 40K IPv6 routes.

ASR903, ME3800X, ME3600X & ME3600X-24CX can support 5 labels PUSH and 3 labels POP. Unified MPLS can use up to 4 labels. L3VPN, LDP with TE/FRR in the core can also use up to 4 labels.

ME3600X has 22K LFIB size and M3800X has 30K LFIB size.

! When switching an ME3600X from the default SDM profile to the IP profile, a diff of the command output for "show platform aspdma template" shows that one less IPv6 TCAM block is allocated and used for IPv4:

  Number of TCAM blocks:
  NILE_TCAM_VLAN_MAPPING_INGRESS           = 1
  NILE_TCAM_VLAN_MAPPING_EGRESS            = 1
! NILE_TCAM_IPV4_UCAST                     = 5
  NILE_TCAM_IPV4_MCAST                     = 1
  NILE_TCAM_IPV4_TUNNEL                    = 0
! NILE_TCAM_IPV6_UCAST                     = 3
  NILE_TCAM_IPV6_MCAST                     = 1
  NILE_TCAM_ACL                            = 1
  NILE_TCAM_QOS                            = 2
  NILE_TCAM_IPV6_ACL                       = 1
  NILE_TCAM_IPV4_PBR                       = 0
  NILE_TCAM_MAC_IN_MAC                     = 0
---
  Number of TCAM blocks:
  NILE_TCAM_VLAN_MAPPING_INGRESS           = 1
  NILE_TCAM_VLAN_MAPPING_EGRESS            = 1
! NILE_TCAM_IPV4_UCAST                     = 6
  NILE_TCAM_IPV4_MCAST                     = 1
  NILE_TCAM_IPV4_TUNNEL                    = 0
! NILE_TCAM_IPV6_UCAST                     = 2
  NILE_TCAM_IPV6_MCAST                     = 1
  NILE_TCAM_ACL                            = 1
  NILE_TCAM_QOS                            = 2
  NILE_TCAM_IPV6_ACL                       = 1
  NILE_TCAM_IPV4_PBR                       = 0
  NILE_TCAM_MAC_IN_MAC                     = 0

! ^ This shows that ine TCAM "block" can store 4K IPv4 unicast routes or 2K IPv6 unicast routes.

! An example ME3600X below that shows the exact number of entries in TCAM per entry type and their "size"; IPv4 unicast routes use 1 TCAM entry and IPv6 unicast routes use 2 TCAM entries (which ties in with the above SDM profile changes):
ME3600X#show platform tcam structs | inc App:
App:UCASTV4             start_index 0(0x0) num_entries 20480(0x5000) entry_size 1
App:MCASTV4             start_index 20480(0x5000) num_entries 2048(0x800) entry_size 2
App:INGRESS_VLAN_TRANS  start_index 24576(0x6000) num_entries 4096(0x1000) entry_size 1
App:EGRESS_VLAN_TRANS   start_index 28672(0x7000) num_entries 4096(0x1000) entry_size 1
App:IPV4_TUNNEL         start_index 0(0x0) num_entries 0(0x0) entry_size 2
App:ACL                 start_index 32768(0x8000) num_entries 2048(0x800) entry_size 2
App:QOS                 start_index 36864(0x9000) num_entries 4096(0x1000) entry_size 2
App:UCASTV6             start_index 45056(0xB000) num_entries 6144(0x1800) entry_size 2
App:MCASTV6             start_index 57344(0xE000) num_entries 1024(0x400) entry_size 4
App:IPV6_ACL            start_index 61440(0xF000) num_entries 1024(0x400) entry_size 4
App:IPV4_PBR            start_index 0(0x0) num_entries 0(0x0) entry_size 2
App:EQOS                start_index 0(0x0) num_entries 16384(0x4000) entry_size 1


! The output below only shows rough numbers of TCAM limits but exact utilisation figures are shown:
ME3600X#show platform tcam structs | beg Table:
Nile Tcam License Table:
ipv4 routes            limit 20000 count  nile0 14211 nile1 14211
routing groups         limit 1000 count  nile0 0 nile1 0
mcast groups           limit 1000 count  nile0 0 nile1 0
acl entries            limit 2000 count  nile0 119 nile1 119
ipv4 tunnel entries    limit 0 count  nile0 0 nile1 0
classifications        limit 4096 count  nile0 396 nile1 290
ivlan mapping entries  limit 4000 count  nile0 88 nile1 88
evlan mapping entries  limit 4000 count  nile0 0 nile1 0
ipv6 routes            limit 6000 count  nile0 13 nile1 13
ipv6 mcast groups      limit 1000 count  nile0 8 nile1 8
ipv6 acl entries       limit 1000 count  nile0 10 nile1 10
ipv4 pbr entries       limit 0 count  nile0 0 nile1 0

 

QoS:

Based on the output from "show platform qos scheduler resource-usage" (requires "service internal") and the ME3600X data sheet; Each Nile ASIC has 2,048 queues (Class Level Resources) and 512 sub-channels (Logical Level Resources). So a single shaper policy on an EFP for VLAN 10 on Gi0/1 would use one sub-channel on the first Nile ASIC and a layer 3 child policy with 7 traffic classes applied to the EFP shaper policy would then use 7 queues in the queue count, leaving 511 sub-channels and 2,041 queues.

The data sheets list 4,000 egress queues for the ME3600X and 32,000 for the ME3800X. The command above shows 2,048 queues per ASIC so that is circa 4,000 so is the data sheet "switch wide" and infact there aren't 4,000 queues that can be used for the 1G only ports then if say the 10G ports weren't used? The command above on the ME3800X shows 8,192 queues per ASIC so that is 16,384 in total not 32,000 which the data sheet states?

Looking at the output of the command "show platform tcam utilization qos detail 0" the ME3600X shows 4,069 80-bit TCAM entires available and the ME3800X shows 16,384 80-bit TCAM entries, that is per ASIC so double "per switch".