Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Linux \ Linux 4.0+ kernel support for hardware switching module (HW Switch Offload)     - 12 kinds of detection of CPU information on a Linux system tools (Linux)

- Mounting Windows shared directory system under the Linux (Linux)

- Tsung first test installation (Linux)

- Quagga use authentication on strengthening BGP session security (Linux)

- 10046 trace only open for a particular SQL statement (Database)

- Linux / UNIX: Use the dd command to create a 1GB size binary (Linux)

- How to install Git client in Ubuntu (Linux)

- Oracle create user authorization and in PLSQL (Database)

- Open log in Hibernate (Programming)

- Oracle capability i / o (stress test database server i / o performance) (Database)

- Linux system started to learn: the Linux syslog (Linux)

- Java thread pool: ExecutorService, Executors (Programming)

- Oracle users to automatically increase the partition table (Database)

- DDOS Attacks and Prevention (Linux)

- VMware virtual machine Ubuntu install arm-linux-gcc cross-compiler environment (Linux)

- GitLab Guide installation under Ubuntu 14.04 (Server)

- Linux System Getting Started Tutorial: Five image processing software (Linux)

- How Vim playing a mature IDE (Linux)

- Eclipse distributed management using GitHub project development (Linux)

- Ubuntu 14.04 installed Nvidia CUDA 7.5 and build Python Theano deep learning development environment (Linux)

 
         
  Linux 4.0+ kernel support for hardware switching module (HW Switch Offload)
     
  Add Date : 2018-11-21      
         
         
         
  Linux kernel recently leap to 4.x era, at first glance, nothing much action, but for me, the most exciting thing is that it supports the hard switching modules. This is the first step to fully cater to the SDN-ready.

Routing and switching on Linux

Linux was born in the network, born on the network has a comprehensive and strong support, even complex protocols, reclosable technology, almost all can be found in the corresponding Linux implementation. However, this does not mean that Linux network is invincible, it exists many unreasonable.

Linux has a strong support for routing, data plane, you can easily implement a routing lookup algorithm, the control plane, you can achieve any existing or your own design routing protocol in user mode, however, everything is soft, that is, the CPU is completed.

When we know the difference between routing and switching, you will find, Linux has been no real exchange, at least not a reasonable solution on a common interface level. The Linux bridge module? Come on, it's just to achieve a soft bridges, and switches do not really detached.

Linux support for hardware exchange

I remember last year when I had to get over a switching board can be directly plugged into the motherboard's PCI-E, then you must use vendor-specific drivers and with VLAN technology can be used up. In fact, many of the switches may have adopted Linux as the management and control planes, and then configure your own custom hardware and custom drivers to use.

I have thought of a way to implement support for hardware switching module with Netfilter technology, however, the CPU is to be interrupted, the entire process is CPU packet pulled bridge or IP layer, and then returned to the correct hardware ... is the fundamental way without interrupting the CPU, to forward packets entirely in hardware, and only when the data relevant to the local protocol stack, only interrupt the CPU. And this idea, which means you have to rewrite drivers.

In short, there is no a unified interface, which means that if you want to design a switching board, there is no good standard to follow, even if there is, you may have to write or copy and paste a lot of driving their own code, which will seriously affect R & D efficiency.

Linux 4.0's switchdev

All the bad news at the end of the Linux 4.0 kernel.

Linux 4.0 introduces a switchdev framework, which represents an abstract class has "swap" capability of multi-chip network interface device. Wherein each network port is a port, it is registered in switchdev frame into a net_device. In addition, the kernel comes with a rocker driver, it demonstrates an actual device driver implementation.

Note idealized implementation, OpenFlow controller can be directly injected into the flow table apparatus, in order to guide the device directly for packet switching. Table of content streams super complicated, the goal of this article is not, but I believe in a kernel version will appear in the relevant Document.

Using a hardware switch module Linux BOX original and different, and it is more like a high-end professional network equipment, similar to that of Cisco.
     
         
         
         
  More:      
 
- Installation Sublime Text 3 (Build 3065) text editor in Ubuntu (Linux)
- Encrypted with GnuPG signature to verify the authenticity and integrity of downloaded file (Linux)
- Use cmake to compile and install MySQL 5.5 (Database)
- Oracle 11g tracking and monitoring system-level triggers to drop misuse (Database)
- Linux System Getting Started Tutorial: How to automatically set the JAVA_HOME environment variable on Linux (Linux)
- Each catalog Detailed Linux (Linux)
- Ubuntu 14.04 compile, install, configure, the latest development version GoldenDict (Linux)
- Ubuntu 14.04 installed NVIDIA graphics driver (Linux)
- How to configure security services under Linux (Linux)
- Install Jetty on CentOS / RHEL 6.X (Server)
- Github Remote Assistance (Linux)
- CentOS 6.0 system security level (Linux)
- CentOS 6.4 (64bit) install Python 2.7.5 (Linux)
- Linux signal and orphans, and zombie process (Programming)
- CentOS6 MongoDB connection solution can not break 1000 (Database)
- Xshell upload files to achieve Windows host Linux (Linux)
- Use Visual Studio Code Development TypeScript (Linux)
- Use smartmontools view the health status of hard disk (Linux)
- Linux, Apache Web site security settings (Linux)
- File sharing and fork function (Programming)
     
           
     
  CopyRight 2002-2020 newfreesoft.com, All Rights Reserved.