Dynamic Device Driver Installation in Network Element Operating Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network operation systems face challenges in efficiently processing control plane data and managing network elements, particularly in upgrading software images without disrupting data processing functions, and in dynamically installing device drivers for hardware forwarding engines.
Innovation Solution
The implementation of a network element operating system that executes in containers, allowing for hitless upgrades by instantiating new containers, synchronizing state data, and switching control, as well as dynamically installing device drivers in the kernel of the host operating system based on detected hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a traditional network operating system is used for managing hardware forwarding engines, then the system can detect and install device drivers, but the process requires system reboot and disrupts data processing continuity
Solution Approach 1:
The network operating system is segmented into a host OS and a guest OS running in a virtual machine. The guest OS handles control plane functions including device driver installation, while the host OS manages data plane operations. This segmentation allows driver installation in the guest OS without disrupting data processing in the host OS, resolving the contradiction between reliable continuous processing and ease of driver installation.
Solution Approach 2:
A virtual machine acts as an intermediary layer between the hardware forwarding engines and the network operating system. The virtual machine enables the guest OS to install and manage device drivers while the host OS continues to process data packets, serving as a mediator that isolates driver installation operations from data processing operations and maintains system reliability.
2Adaptability or versatility
If software images are upgraded in traditional network elements, then new features and fixes can be deployed, but data processing functions are interrupted during the upgrade process
Solution Approach 1:
The system segments control plane and data plane functions into separate virtual machines. The control plane VM can be upgraded by replacing its software image while the data plane VM continues processing packets. This segmentation enables software upgrades without interrupting data processing productivity.
Solution Approach 2:
The system performs preliminary actions by maintaining a standby virtual machine with the updated software image ready to take over. Before upgrading the active control plane, the system prepares the new image in a standby VM, then switches control to the standby VM once ready, ensuring continuous operation and avoiding productivity loss during upgrades.
3Reliability
If device drivers are statically installed in the network operating system, then hardware compatibility is ensured, but the system lacks flexibility to adapt to different hardware configurations
Solution Approach 1:
The system transitions from static driver installation to dynamic driver installation. The guest OS in the virtual machine detects hardware configurations and installs appropriate device drivers dynamically at runtime. This dynamic approach maintains reliability through proper driver-hardware matching while providing adaptability to different hardware configurations without requiring static pre-installation.
Solution Approach 2:
The virtual machine enables the network operating system to self-service hardware detection and driver installation. The system automatically detects hardware forwarding engines and installs the appropriate device drivers without manual intervention, ensuring both hardware compatibility through proper driver selection and adaptability to various hardware configurations.
Data Source
AI summary
A method and apparatus of a network element that installs a device driver used to manage hardware of the network element is described. In an exemplary embodiment, the network element detects, with a functionality of a network element operating system, the hardware of a data plane of the network element, where at least one component of the network element operating system is executing in a first container as a first set of processes. The network element further determines a device driver for the hardware and installs the device driver in a kernel of the host operating system. The network element additionally manages the data, with the network element operating system, using the device driver.


