Guest

Cisco IOS XE 3SG

What is Cisco IOS XE?

  • Viewing Options

  • PDF (151.7 KB)
  • Feedback
Last updated: May 2012
IOS XE represents the continuing evolution of Cisco's pre-eminent IOS operating system. IOS XE is architected for routers, switches and appliances, leveraging the years of functionality that is provided by IOS, while adding new functionality and benefits from a POSIX environment. It provides a set of system services that are targeted at the integration of network-aware applications into the platform. IOS XE integrates a generic approach to network management into every function.
IOS XE also provides a development, build and release environment that will streamline efforts across the company by providing a single system meeting a variety of products.
The IOS XE architecture and well-defined set of APIs extend IOS to improve portability across platforms and extensibility outside IOS. This extensibility opens up to a whole new paradigm for application integration with IOS.

Why IOS XE?

The IOS feature set for routing and switching is unmatched in the industry, delivering functionality required for business critical applications. Preserving these advantages of IOS to our customers is critical for Cisco.
IOS XE retains the exact same look and feel of IOS, while providing enhanced future-proofing and improved functionality. In IOS XE, IOS 15.0 runs as a single daemon within a modern Linux operating system. Additional system functions now run as additional, separate processes in the host OS environment. The operation, support and management of IOS XE does not require re-training from classic IOS.

Multi-Core CPUs and SMP

Running IOS and other applications as separate processes also enables load balancing the multi-core CPU, allowing each process to use a different core. IOSd within the IOS XE environment supports multiple threads and multi-core CPUs.

Control Plane and Data Plane Separation

IOS XE introduces an opportunity to enable teams to now build drivers for new Data Plane ASICs outside the IOS instance and have them program to a set of standard APIs which in turn enforces Control Plane and Data Plane processing separation.
IOS XE accomplishes Control Plane / Data Plane separation through the introduction of the Forwarding and Feature Manager (FFM) and its standard interface to the Forwarding Engine Driver (FED). FFM provides a set of APIs to Control Plane processes. In turn, the FFM programs the Data Plane via the FED and maintains forwarding state for the system. The FED is the instantiation of the hardware driver for the Data Plane and is provided by the platform.

Platform Abstraction

Since, historically, IOS has served as an Operating System as well as providing the key Routing Infrastructure, there has always been an aspect of Platform Dependent (PD) and Platform Independent (PI) code within IOS. IOS XE allows the platform dependent code to be abstracted from a single monolithic image. By moving drivers outside of IOS, IOS XE enables a more purely PI-focused IOS process. This provides a more efficient software delivery model for both the core IOS team, as well as platform developers, since the software can be developed, packaged and released independently.

Application Integration

Prior to IOS XE, the only way to integrate functionality into an IOS product was to either port the functionality into the IOS operating system or run the functionality on a service blade outside of IOS. This model has fundamentally constrained how quickly Cisco can integrate homegrown features, products through acquisition, or third party applications.
IOS XE permits the integration of non-IOS applications through the following mechanisms:

• Standard Linux-based environment for hosting applications;

• Extending IOS functionality into peripheral applications through well-defined APIs exported via Linux-shared client libraries;

• Provide a robust management infrastructure called Common Management Enabling Technology (COMET) that allows for CLI, XML, SNMP, and HTTP-based management of integrated applications.

IOS XE Software Architecture

The IOS XE foundation is a POSIX environment along with Free and Open Source Software (FOSS) for the common drivers, tools and utilities needed to manage the system. In addition to the standard set of off-the-shelf drivers, IOS XE is comprised of a set of Cisco specific drivers and associated chassis/platform management modules.
On top of the base operating system and drivers, IOS XE provides a set of infrastructure modules which define how software is installed, how processes are started and sequenced, how high-availability and software upgrades are performed and, lastly, how the applications are managed from an operational perspective. The core application that runs on top of this new infrastructure is the IOS feature set. Cisco products immediately reap the benefits of an extensive feature set for routing and switching platforms that has been built into IOS over the years. Customers can expect the same features to be available and for them to perform and be managed in the exact same way as previous products.
Finally, the evolved IOS architecture is specifically designed to accommodate other applications outside of IOS. These applications can either be tightly integrated with IOS or they could run side-by-side with IOS with very little or no interactions. These applications can be upgraded or restarted independently of IOS. If an application does require services from IOS, it integrates with IOS through a set of client libraries called "service points". These service points generically extend IOS information and services to outside applications such that these services are not replicated or managed separately.

IOS XE Naming Conventions

The naming convention has changed since there are many features that need to be highlighted. Let us highlight the parts which make up the below image name:
cat4500e-universalk9.SPA.03.01.00.SG.150-01.XO
cat4500e: Platform Designator
universal: Feature Set Designator
k9: Crypto Designator if crypto code is present in IOSd package
SPA: Indicates image is digitally signed
03.01.00.SG: Release Version number
150.01.XO: IOSd package version number - this will allow you to correlate the version of IOSd to another platform running classic IOS
Examples:

CCO Image Name

IOS XE Version

IOSd Version

cat4500e-universal.SPA.03.03.00.SG.151-1.SG.bin

3.3.0

15.1(1)SG

cat4500e-universal.SPA.03.02.00.SG.150-2.SG.bin

3.2.0

15.0(2)SG

cat4500e-universal.SPA.03.01.01.SG.150-1.XO1.bin

3.1.1

15.0(1)XO

IOS XE CLI Differences

IOS XE looks and feels the same as the IOS that we all know. There is almost no change in the different feature configurations, making the migration and user experience consistent with IOS. If you know how to operate IOS today, you already know how to operate IOS XE. The only minor difference in the CLI, and some outputs, is due to the customization that reflects the process-oriented approach of IOS XE, and the ability to use a multi-core CPU.
For example. The Supervisor 7-E incorporates a Freescale dual-core CPU running at 1.5GHz. The IOSd is a multi- threaded process, which uses both of the cores, allowing it to load-balance and scale to the CPU's maximum processing capacity.
The "show version" command is changed to reflect the IOS XE Naming convention, and Licensing information.
The "show process cpu" is changed to reflect the various process running along with IOSd in the linux environment. This command now displays a detailed description of IOS and non-IOS processes across all CPU cores. Adding the "detailed process iosd" keyword, displays the CPU utilization statistics by the IOSd process across all CPU cores.
Similarly, "show process memory" displays memory utilization of the entire system. Adding the "detailed process iosd" keyword, displays the memory consumed by the IOSd process.
Below are some of the outputs of the above commands.

TYPHOON#show version

Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software

(cat4500e-UNIVERSALK9-M), Experimental Version 03.00.00 [snip....snip]

Copyright (c) 1986-2010 by Cisco Systems, Inc.

<snip>

License Information for 'iosd'

License Level: entservices Type: Permanent.

Next reboot license Level: entservices

cisco WS-C4510R+E (MPC8572) processor (revision 6) with 786516K/16384K bytes of memory.

Processor board ID FOX1418GQ1K

MPC8572 CPU at 1.5GHz, Supervisor 7

Last reset from Reload

1 Virtual Ethernet interface

48 Gigabit Ethernet interfaces

16 Ten Gigabit Ethernet interfaces

The command below shows the utilization of the respective cores of the CPU, in the output of "show process cpu | include five".

TYPHOON#show process cpu | include five

Core 0: CPU utilization for five seconds: 0%; one minute: 0%; five minutes: 0%

Core 1: CPU utilization for five seconds: 5%; one minute: 6%; five minutes: 5%

TYPHOON#show process cpu

Core 0: CPU utilization for five seconds: 0%; one minute: 0%; five minutes: 0%

Core 1: CPU utilization for five seconds: 6%; one minute: 6%; five minutes: 7%

PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process

1 992 871 113933 0.00 0.00 0.00 0 init

2 0 87 10919 0.00 0.00 0.00 0 kthreadd

3 373 62720 5955 0.00 0.00 0.00 0 migration/0

4 56 1945 28818 0.00 0.00 0.00 0 ksoftirqd/0

<snip.....snip>

10090 33816 2895598 1295 0.00 0.00 0.00 0 licensed

10146 1528798 361611389 11 6.25 6.01 6.01 0 iosd

<snip>

TYPHOON#show process cpu detailed

Core 0: CPU utilization for five seconds: 0%; one minute: 0%; five minutes: 0%

Core 1: CPU utilization for five seconds: 5%; one minute: 6%; five minutes: 6%

PID T C TID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process

(%) (%) (%)

1 L 992 871 113933 0.00 A 0.00 0.00 0 init

2 L 0 87 10919 0.00 A 0.00 0.00 0 kthreadd

4913 L 1 4913 91 833 0 0.00 A 0.00 0.00 0 slproc

4913 L 1 5130 323 11566 0 0.00 A 0.00 0.00 0 slproc

4913 L 0 5131 18 1295 0 0.00 A 0.00 0.00 0 slproc

4913 L 0 5132 184 8686 0 0.00 A 0.00 0.00 0 slproc

4913 L 0 5133 18 3438 0 0.00 A 0.00 0.00 0 slproc

4913 L 1 5134 0 831 0 0.00 A 0.00 0.00 0 slproc

<snip>

The above command output shows the allocation of the threads to the cores. The cores (0 or 1) are shown on the left, below the "C" column, with the Thread IDs (TID) to its right.

TYPHOON#sh process cpu detailed process iosd

Core 0: CPU utilization for five seconds: 0%; one minute: 0%; five minutes: 0%

Core 1: CPU utilization for five seconds: 7%; one minute: 6%; five minutes: 6%

PID T C TID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process

(%) (%) (%)

10146 L 1550250 361687040 11 6.47 A 6.09 6.05 0 iosd

10146 L 1 10146 2495318 200405884 0 11.2 A 10.4 10.4 0 iosd

10146 L 0 13354 3345705 161181846 0 1.77 A 1.77 1.66 0 iosd

10146 L 0 13355 4194 99310 0 0.00 A 0.00 0.00 0 iosd

1 I 12776 1549325 0 0.00 R 0.00 0.00 0 Chunk Manager

2 I 3160 192625 0 0.00 R 0.00 0.00 0 Load Meter

3 I 264 19 0 0.00 R 0.00 0.00 0 Deferred Events

4 I 212 457 0 0.00 R 0.00 0.00 0 SpanTree Helper

<snip>

Conclusion

IOS XE is a key anchor of next generation Borderless Networks services and open application platform, while ensuring IOS investment protection, smooth migration and easy feature support.