User:Plev123/RuggedCom ROX2

Rugged Operating system on Linux (ROX)
Since 2004, RuggedCom's router products have utilized a purpose built, Linux based operating system called "Rugged Operating system on LinuX" or simply ROX. With the recent introduction (2010) of the latest multi-service switch/router products from RuggedCom, significant updates and redesign has been applied to the ROX software architecture resulting in the current ROX2 (second-generation) software. ROX2 is designed from the ground up to support the RuggedBackbone product series (RX5000 / MX5000 / RX1500 / RX1502 / RX1510 / RX1511 / RX1512). It is also available as a software upgrade for the RuggedRouter product (RX1100) as well as future models to be released with similar architecture.

Some of the standard capabilities which ROX2 includes are:


 * running on MPC8360E processor (RX5000 & RX15xx platforms)
 * combining IP/L3 forwarding and Ethernet/L2 managed switching capabilities and operations
 * providing a telecom-standard command-line-interface (RuggedCLI)
 * OS support for modular designs with field replaceable hardware modules
 * very high Ethernet port-densities (up to 100 ports) available in Utility grade products
 * incorporating Xenomai real-time Linux extension (to satisfy managed switching ‘real-time’ performance requirements such as RTSP)
 * integrated yet modular L3 hardware switching capabilities
 * source code reuse of RuggedCom Intellectual Property (IP) with 10 years of proven field ‘hardening’ under ROS™
 * introduces NETCONF for powerful and secure advanced management
 * USB port access for mass-storage devices
 * Removable 1GB Compact Flash card for program & configuration storage
 * Enhanced architecture reliability through separation of the Data (‘forwarding’) and Control plane
 * Single configuration file for easy maintenance and upgrades
 * Dual-redundant (multiple partitioned) file systems for greatly improved software-upgrade reliability
 * New WEB User-Interface design facilitates dynamic screen updating using Java scripting, AJAX etc.

ROX Firmware/User Guide Version Numbering System
The ROX2 software is labeled with a three digit version numbering system of the form X.Y.Z where each digit is a number starting from zero. The 'X.Y’ digits together describe the functional version of ROX2 whereas the ‘Z’ digit represents firmware updates made within a specific functional version series.

In current release, the ‘X’ digit identifies the ROX™ series as being series ‘2’ and therefore referring to RuggedCom’s next-generation ROX2 operating system support for the RuggedBackbone™ and future products to be released. The ‘Y’ digit identifies the major version number and is incremented for a ‘major’ functional updates of the software. The 'Z' digit represents the minor version number and is incremented for ‘minor’ software updates including bug fixes, cosmetic enhancements and other minor issues.

All ROX2 user-guide documentation will follow the same format. In general, a user guide will have the same 'X.Y' digits as the firmware to which it corresponds.

ROX2 Networking features

 * Next Generation of ROX™
 * Simple plug and play operation – automatic learning, negotiation, and crossover detection

L2/Ethernet Services

 * Wire-rate Ethernet forwarding (L2 switching)
 * MSTP 802.1Q-2005 (formerly 802.1s)
 * RSTP (802.1w) and Enhanced Rapid Spanning Tree (eRSTP™) network fault recovery (<5ms)
 * Class of Service (802.1p) for real-time traffic
 * VLAN (802.1Q) Trunking and GVRP support
 * Port rate and Broadcast 'storm' limiting
 * Port security including 802.1X with RADIUS authentication
 * Link aggregation (802.3ad)
 * Traffic prioritization
 * Transaction based configuration with rollback
 * Multicast Filtering including GMRP and IGMP 'snooping' support
 * DHCP relay agent (and option 82)
 * LLDP (802.1ab)

L3/IP routing Services

 * Wire-rate IP forwarding (L3 switching)
 * Static configuration of L3 switching (bypasses IP/L3 'slow-path')
 * PPP and Frame Relay network protocols
 * IPv4 Static routing
 * IPv4 Dynamic routing using OSPF/RIPv2/BGP4
 * QoS support including Traffic Control and Shaping
 * IPSec/VPN support
 * MLPPP support

IP/Gateway Services

 * NTP Server
 * Virtual Router Redundancy Protocol (VRRP)
 * GRE Tunneling
 * GOOSE Tunnel (over WAN) support
 * T1/E1 Bridging for GOOSE Traffic (Ethernet-over-HDLC) support
 * L2TP v2 support
 * Enhanced Link backup/failover services (including 'on-demand')
 * Stateful firewall

Management Services

 * Synchronized Web-based and Telecom Standard CLI management interfaces
 * Secure File Transfer Protocol (SFTP) and HTTPS
 * SNMP v1/2/3 including IF-MIB and BRIDGE-MIB
 * Rich set of diagnostics with logging
 * Full NETCONF standard compatibility with device operational/status data-model
 * Role Based Access Control (RBAC)
 * Alarm Management
 * Upgradable software license support

Hardware interfaces supported

 * T1/E1 WAN interfaces
 * 100 Mbps/FE and GiGE support
 * 3G Cell modem (HSPA+ and EvDO pending certification)
 * 56/64 Kbps Digital Data Services (DDS) LM support
 * RS232/RS422/RS485 Serial LM support
 * 100 FX SFP support
 * 10 FL/100SX support
 * Application processing Engine (APE) LM support (Atom 1.3 Ghz)

Under Development

 * 10 GE uplink
 * IEEE1588 Precision-Time-Protocol support
 * IRIG-B support

ROX2 Architecture
The hardware architecture of the ROX2 enabled products is of modular design and is divided as
 * Control Module (CM)
 * Switching Module (SM)
 * Line Module (LM)
 * Power Module (PM)
 * Expansion Module (EM)
 * Fan Expansion Module (FEM)
 * Passive back-plane 'dual' star configuration (supports Data-Plane between SM and LM, Control-Plane between CM and LM)

Differences
There are two separate (multi-service) platform architectures supported under ROX2 - the MX/RX5000 'shelf-mount' form factor and the RX15xx family 'rack-mount' form factor. While both variants contain the same components, there are subtle differences in the sub-system elements.

The RX5000 LM's are equipped with a a co-processor CPU element which works in tandem with the main host CPU on the CM. This is because in the 'shelf-mount' platforms, the Control Plane (CP) is extended across a passive back-plane PCB as an isolated 100 Mbps LAN 'star' configuration network.

On the other hand, the RX15xx LM slots connect directly to the main host CPU on the CM via a passive mid-plane PCB.

MODULE Inventory
Every card in a ROX2 system contains an individual (factory programmed) I2C EEPROM which records an electronic signature for that card, identifying attributes (h/w rev, model#, order-code, #assemblies, S/N, P/N etc.) which are specific to that card. ROX2 will parse this information into an system-inventory when the card is recognized by the operating system.

CONTROL MODULE (CM)
The Control Module (CM) hosts a PPC8360 CPU which executes the primary ROX2 operating system software. This software provides the central-control for the entire unit.

The CM is responsible for:

(1) Management Plane - CLI, NETCONF, WebUI, SNMP handling and processing operations

(2) Control Plane - CM and LM supervision, LM registration. Connectivity is via a single 100 Mbps switched Ethernet (backplane lane) to each LM slot

(3) Mounts the 1GB Compact Flash (CF) with Dual-Redundant partitioning for OS binaries

SWITCH MODULE (CM)
The Switch Module (SM) houses the ASIC/hardware which provides the wire-speed 'traffic-forwarding' between all ports on the system. There are two flavors of the SM - a 'L2/Ethernet switching' version and a 'L3/IP switching version'.

The SM is responsible for:

(1) Data Plane - Customer traffic. Connectivity is via 4-lanes x 3GbE switched Ethernet (backplane lanes) to each LM slot

(2) L2 and L3 traffic forwarding

NOTE: A system which is deployed with a L2/Ethernet SM is only capable of wire-speed forwarding rates for L2 traffic between all interfaces. The ROX2 software will still allow the configuration of L3/IP routing between interfaces to occur, but in this case the forwarding is done entirely within software domain (i.e. not wire-speed rates, performance is limited by software forwarding capacity).

NOTE: A system which is deployed with a L3/IP SM is capable of wire-speed forwarding for both L2/L3 traffic types between all interfaces. In this case all IP and/or traffic will be forwarded at wire-speed rates.

LINE MODULE (CM)
Each LM hosts a CF5072 CPU which is executing uCLinux and acts as a co-processor to the CM. The software running on the LM is capable of executing remote procedures (RPC)or operations under the control of the CM based ROX2 control program.

The LM is responsible for: (1) Data Plane - providing the ASIC/hardware connectivity for edge devices (2) Converting to Ethernet (3) Hot-swap handling

Components
The ROX2 software continues to be Linux based in its origins, but has specific extensions applied to adapt the operating system for real-time demands. The basic distribution is derived from Debian with additional packages developed to support RuggedCom custom hardware platforms. For example, the ROX2 v2.2 release utilizes the Linux v2.6.26 kernel while the v2.3 release will utilize the v2.6.39 kernel.

The ROX2 software includes the Xenomai (open-source) project which is used to partition the CPU software execution into (i) a real-time and (ii) a non real-time domain. The real-time execution domain governs performance-critical tasks such as RSTP and other related L2/Ethernet protocols.

All IP routing services are coordinated using QUAGGA (open-source) project.

Integration of the L2/L3 hardware-assisted switched Data Plane (DP) is handled by custom developed switch management and device driver firmware for control over traffic-forwarding. Standard native Linux forwarding tables (e.g. FIB) are tightly coupled with underlying switching-DP components to maintain synchronized updating and handling or routing information within the device.

ROX2 relies on the powerful Linux based 'ip-tables' to execute all firewall services. Configuration of these tables is handled by Shorewall (open-source) project utility.