I was preparing a presentation the other day about the high level differences between IOS, IOS-XE and NX-OS and one of the things I included in the presentation was the various platform and branch identifiers that's used in each OS. It's just a bit of trivia that I thought would be interesting and might come in handy one day. I'm posting the information I collected below so everyone can reference it.

IOS

For IOS, you can see the platform identifier in the filename and the "show version" output. If we take an example version string, 15.1(2)SG2, and break it down, here's what each digit in the string signifies:

15 .1 (2) SG 2
Major release number Minor release number New feature release number Branch/train/platform identifier Maintenance rebuild number

The branch/platform identifier can also be seen in the IOS filename: cat4500e-entservicesk9-mz.151-2.SG2.bin.

Here's a summary of the branch identifiers in IOS 15:

  • M/T - 800 Series ISR, ISRg2 (1900, 2900, 3900), Connected Grid Router 2000
  • S - 7600 Series Router, ME 3600X, ME 3800X
  • GC - 5900 Series Embedded Router
  • SE - Catalyst 2960, 3560, 3750, IE 3000 Switches
  • SG - Catalyst 4500E (Sup 6E and earlier)
  • SY - Catalyst 6500E, 6807-XL, 6880
  • EA - IE 2000 Switches

IOS-XE

IOS-XE version numbers are a little less cumbersome than IOS versions. Eg: 3.3.0SE

3 .3 .0 SE
Major release number New feature release number Maintenance rebuild number Release train

Example filename:

cat3k_caa-universalk9.SPA.03.03.00.SE.150-1.EZ.bin

Don't get confused by the "150-1.EZ" at the end of the filename. That's the identifier for the (classic) IOS blob inside this version of IOS-XE.

Although I looked, I can't find any info on the "EZ" identifier

IOS-XE release train identifiers:

  • S - ASR 903, ASR 1000
  • SE - Catalyst 3650, 3850, Wireless LAN Controller 5760
  • SG - Catalyst 4500E (Sup 7E)
  • XO - Catalyst 4500E (Sup 8E)
  • E - Unified release for Catalyst 3650, 3850, 4500E (Sup 7E and 8E), WLC 5760
    • The first version of the "E" train was 3.6.0E (codename: Amur)

NX-OS

The platform identifiers in NX-OS are similarly embedded in the filename and version string. Breaking down an example version string of 5.2(1)N1(6):

5 .2 (1) N 1 (6)
Major release number Minor release number Maintenance release (aka, rebuild) number Platform designator Platform minor release Platform maintenance release

The filename for this NX-OS version:

n5000-uk9.5.2.1.N1.6.bin

Platform identifiers:

  • No designator - Nexus 7000 / 7700, MDS (NX-OS <= 6.2)
    • The n7k and MDS switches run the "mainline" branch of NX-OS and hence they don't have a platform identifier or platform versions. An example version string is: 6.2(2)
    • See "D" as well
  • D - Nexus 7000 / 7700
    • Starting in NX-OS 7.2, the release train for the Nexus 7k was marked with the "D" platform designator. An example version string is: 7.2(0)D1(1)
  • E - Nexus 4000
  • I (eye) - Nexus 9000
  • N - Nexus 5000, 5500, 5600, 6000
  • SM - Nexus 1000V for Hyper-V
  • SP - Nexus 1010 / 1100 Virtual Services Appliance
  • SV - Nexus 1000V for ESXi
  • U - Nexus 3000

ED and MD

Some software releases will also contain the following identifiers at the end of the version string as found on the software download site on cisco.com:

  • ED - Early Deployment
    • Indicates the release has new features and is early in its life cycle; will typically be "dot zero" release and possibly releases soon after dot zero
  • MD - Maintenance Deployment
    • Indicates the release has no β€” or very limited β€” features and is primarily a bug fix/hardening release.

Once a given train has been in the field for some time and data shows that it is mature and is not causing chronic issues for customers, the releases of that train will shift from ED to MD.

NX-OS, which traditionally did not have these identifiers, will start using ED/MD in 2016.


Disclaimer: The opinions and information expressed in this blog article are my own and not necessarily those of Cisco Systems.