Application Analysis of Embedded Linux in Network Processor

Source: Internet
Author: User
Application Analysis of Embedded Linux in network processor-Linux general technology-Linux programming and kernel information. The following is a detailed description. Introduction

In the last 24 months, supplier organizations were facing economic downturn, coupled with the emergence of network processors (multi-core processors) by companies such as Intel IXP and IBM Power NP, Raza, Cavium and Xilinx, this gives Linux more control and management capabilities based on these processor devices.

The control layer includes logical and physical interfaces. They do not transmit network data, but start, monitor, and control the data transmission activities of chips. In the existing network processor design, embedded operating systems such as Linux usually run on the control layer processor, representing the packet engine for control operations and transactional processing, the actual Internet Protocol package (IP packet) is processed by a dedicated chip. The connection between the processor at the control level and the packet processing engine at the data/forwarding level can be achieved by connecting the local bus of the coprocessor or directly using the standard PCI bus, you can also use Ethernet or the network structure of special applications.

In the case of a local bus or a PCI bus, the master processor regards the processor at the forwarding/data level as a dedicated peripherals and has a simple memory ing interface. When the network mode is used to connect to each layer, the master processor must use a separate device driver design. First, the structure Interface needs a general driver (Ethernet, asynchronous transmission, etc.), through which it sends a dedicated Command package to control the package processor. Embedded Linux has a wide range of network functions (Ethernet and ATM are easily available in the open-source community). Compared with non-open-source operating systems, embedded Linux has obvious advantages: no customization and ready-made kernels. These are important additional investments for developing specialized network systems, even Ethernet drivers.

Ready-made network processors have been working hard to closely bind high-performance networks with the master processor and integrate them with local connections. The first-generation design still encountered bandwidth restrictions on the control node and data layer-bottlenecks encountered when data packets entered and exited the control layer, the parallel packet engine in the network processor has the same problem. In addition, it is proved that programming in powerful network processors and complex package engine sets is very difficult. Network Processor developers have demonstrated in their chip development plans a timetable for solving these problems and introducing the next generation of libraries and toolboxes.

Network Processor applications running Linux

Major device manufacturers release Linux and network processors together, while increasing the number of applications, especially the network base parts and client devices.

An important application field of Linux on the network processor platform is small office and SOHO design, such as Access Points, home gateways, and digital media services. These devices in the consumer electronics field usually require high performance and low cost.

Many such designs include previous real-time operating system platforms. There are some questions about whether embedded Linux can meet these real-time performance requirements. Many control-level applications focus more on throughput, but do not require hard real-time processing (aside from the previous real-time operation options ). Newer, the network-based Processor Design rarely responds to the control processor in a timely manner. The network processor contains a dedicated chip to perform operations that require timely response. When the control layer must meet strict critical time requirements, such as the routing and bridge technology used in consumer electronic applications to receive specific synchronous interfaces, in Linux, there are multiple ways to meet the requirements of real-time response, including the preemption technology of the MontaVista software company currently used in the Linux kernel.

In larger systems, such as more complex IP-based systems, including office centers and basic equipment application systems involving IP technology, high-speed access and exchange, network Processors use two or more layers of control to design blades and manage hardware and software. About 60% of such systems require high-level redundancy at the data and control levels. In such a system, the network processor-based blades and Linux-based controllers are regarded as low-layer interfaces that are almost 'atomic, these interfaces are from fault recovery (fail-over), which are stacked together to achieve high availability and fault tolerance management.

These high-level management processors are increasingly running Linux, such as OSDL, Beaverton, Ore .), MontaVista software company, ant Company (Santa Clara, Calif .) carrier-level Linux. These management-level CPUs manage available resources (such as starting blades and assigning loads to them), respond to hardware and software exceptions, and provide application bridge to specialized systems (often running Linux) -for example, the bill system and the customer database.

Technical Challenges and Countermeasures for network processor development

For multi-core microprocessors, network processors face a variety of development and debugging challenges. These challenges include the following three levels:

· Develop and deploy the code and package processing algorithms running on the network processor;

· Define interfaces between the network processor and the control processor;

· Applications at the development control level

For a control-level processor running embedded Linux, the network processor initially looks like a huge, complex, and unsupported peripherals. In the simplest case, the kernel startup code or driver initialization code maps the combination of shared memory and registers, these registers represent network processor interfaces in the kernel or user memory. In this way, the driver and application can interact with the network processor. This ing relationship can terminate a user-layer API by calling the user-layer API or directly calling the driver-related API, or terminating the bottom of a splitting protocol stack, or stop creating a socket or stream-based abstraction ..

Major device manufacturers expect Linux platform providers and independent software providers who build an ever-growing ecosystem to make efforts to build network applications based on network processors. These application modules provided by independent software providers include the following:

· Packet processing algorithms, bridge interfaces, and specific network processors are used to develop network engine tools (package engine code assembler, simulators, and Performance Analyzer) running on the data layer );

· Control and management application units-Simple Network Management Protocol (SNMP) proxy and management information (MIBs), Web Control interfaces, protocol stacks, and routing Daemon Processes, control and Data layer interface library;

· Large protocol stacks for specific applications such as home gateway and security applications;

· Other Linux systems and application development tools.

Companies that use network processor interfaces to provide IP addresses for Embedded Linux include Ashley Laurent, Hughes, IP Infusion, LVL7 Systems, NextHop Technologies, and Motorola's Netplane Systems, which provide stacks and libraries. Chip providers such as Intel and IBM, as well as independent software providers such as Teja technology companies, the development tools they provide fill in the gaps in development tools for special network processor chips and specific architecture.
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.