目录

文章目录

  • 目录
  • switchdev 框架(二层交换 Offload 实现)

switchdev 框架(二层交换 Offload 实现)

Linux 4.0 引入了 switchdev 框架,它代表对一类拥有 “交换” 能力芯片的多网口设备的抽象。其中每一个网口就是一个 Port,在 switchdev 框架中被注册成为一个 net_device。

switchdev 起源于 Open vSwitch 项目,由 Jiři Pirko 在 2014 年 9 月首次提出。在 2015 年 2 月的 Netdev 0.1 会议上,网络开发人员决定扩展并采用 switchdev 作为硬件交换机芯片的通用解决方案。

switchdev 驱动模型出现之前,Linux 需要交换机厂商的专门工具套件操作交换机,而在 switchdev 驱动模型之后,通用接口被实现。交换机正式纳入 Linux 网络设备体系,Linux 可以用标准接口实现交换机的控制面和管理面。

在 switchdev 驱动框架下,硬件交换机设备上的每个物理端口都在内核中注册为一个 net_device,就像对现有的网卡设备所做的那样。可以使用现有的指令工具(e.g. brctl、ip 和 iproute2)将端口绑定或桥接、隧道化或划分 VLAN。

switchdev 驱动程序的优点是这样的交换结构可以被卸载到交换机硬件上。因此,驱动程序将 FDB(MAC forwarding database,转发数据库)中的每个条目映射到硬件上,并监视其更改情况。

最初,switchdev 支持的唯一设备是 QEMU 的 Rocker 软件交换机。后来 Mellanox 和 Broadcom 等公司均提供了支持 switchdev 的交换机器。OpenStack Pike 版本中引入了对 switchdev 的支持,实现了 Open vSwitch 硬件卸载(offloading)功能。

Linux Kernel TCP/IP Stack — L2 Layer — switchdev L2 Offload相关推荐

  1. Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架

    目录 文章目录 目录 netfilter 框架 netfilter 的组成模块 netfilter 的 Hook 机制实现 netfilter 的工作原理 规则(Rules) 链(Chains) 表( ...

  2. Linux Kernel TCP/IP Stack — L7 Layer — Application Socket I/O 接口类型

    目录 文章目录 目录 基本概念 同步与异步 阻塞与非阻塞 I/O 操作的执行流程 Socket I/O 接口类型 阻塞 IO 缺点 非阻塞 IO 缺点 阻塞 IO 与非阻塞 IO 的区别 IO 多路复 ...

  3. Linux Kernel TCP/IP Stack — L1 Layer — 多队列网卡

    目录 文章目录 目录 多队列网卡 Intel 82575 的多队列硬件实现 Intel 82575 的多队列软件驱动实现 多队列网卡识别 多队列网卡 多队列网卡,是一种用来解决网络 I/O QoS 问 ...

  4. Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架 — iptables NAPT 网络地址/端口转换

    目录 文章目录 目录 网络地址转换(NAT) SNAT DNAT 端口映射(PAT) 网络地址转换(NAT) IP 网络有公网与私网的区分,通常内网使用私网 IP,Internet 使用公网 IP,而 ...

  5. Linux Kernel TCP/IP Stack — L1 Layer — tcpdump 抓包

    目录 文章目录 目录 tcpdump CLI 关键字 常用指令选项 常规操作示例 查看哪些接口可用于捕获 过滤主机 过滤端口 过滤网络(网段) 过滤协议 复杂的逻辑表达式过滤条件 检查数据包内容 输出 ...

  6. Linux Kernel TCP/IP Stack — L3 Layer — 路由器子系统

    目录 文章目录 目录 Linux 作为一个路由器 路由表项的类型 route 指令 ip route 指令 添加默认路由 添加静态路由 删除静态路由 操作示例 Linux Kernel 路由子系统 路 ...

  7. Linux Kernel TCP/IP Stack — L3 Layer — netfilter/iptables 防火墙

    目录 文章目录 目录 iptables/netfilter 框架 iptables-service iptables 指令应用 查看规则 添加规则 删除规则 修改规则 保存和加载规则 常规初始化配置 ...

  8. Linux Kernel TCP/IP Stack — L3 Layer

    目录 文章目录 目录 L3 Layer 框架 IP Handler L3 Layer 框架 IP Handler 实现了以下功能: IP 数据包的分片和重组. IP 协议的字段处理,例如:IP 选项, ...

  9. Linux Kernel TCP/IP Stack — Socket Layer

    目录 文章目录 目录 Socket 框架 Netlink Socket Socket 框架 Socket 的类型: IP Socket tcp udp icmp raw Packet Socket N ...

  10. Linux Kernel TCP/IP Stack — L3 Layer — netfilter 框架 — conntrack(CT,连接跟踪)

    目录 文章目录 目录 CT CT CT(conntrack,connection tracking,连接跟踪),顾名思义,就是跟踪(并记录)连接的状态,是许多网络应用的基础.例如:iptables.L ...

最新文章

  1. html网页文件的主体标记,HTML的填空题:1.HTML文件中网页文件的主体标记是_________,标记页面标题的标记是_____________。如题 谢...
  2. Python使用matplotlib绘图并去除颜色样条colorbar实战:remove colorbar from figure in matplotlib
  3. 区块链BaaS云服务(14)华大BGI区块链“Baas接口“
  4. 机器学习基础-多项式回归-03
  5. UOJ#191. 【集训队互测2016】Unknown
  6. C++学习 | 面试官:我们只想要这样的C++工程师
  7. Unix/Linux环境C编程入门教程(27) 内存那些事儿
  8. 第四届cccc团体程序设计天梯赛
  9. 滴滴,一个连接者的责任边界
  10. hadoop 基础命令
  11. RDP Wrapper
  12. 06、基于ADC0834的四通道简易电压采集的Proteus仿真
  13. C语言面试题汇总(持续更)
  14. 计算机开机没有d盘,电脑每次开机总是自检D盘的解决办法
  15. 迷信一把:三才数理吉凶
  16. CentOS7.X安装部署Glassfish4.1.2
  17. Python批量重命名iPhone、微信照片,视频-按照拍摄时间重命名
  18. 前端程序员发展必备工具
  19. 关于一个CUE文件及多个分轨APE合并成CUE及APE文件的办法
  20. 实现景区门票计费系统(Java抽象类练习含GUI窗体组件)

热门文章

  1. Xamarin iOS开发实战1.1.3Xamarin版本
  2. html class 位置,HTML class 属性 | 菜鸟教程
  3. native react ssh_React Native踩坑笔记(持续更新中...)
  4. linux dd 截文件,Linux使用dd命令快速生成大文件(转)
  5. quota在oracle,Oracle的表空间quota详解
  6. 查看TensorFlow的版本和路径
  7. 怎样学好Oracle子查询,Oracle学习(六):子查询
  8. 马斯克的脑机接口公司Neuralink最新进展:让猴子也玩游戏
  9. DEAP:使用生理信号进行情绪分析的数据库(二、实验设计与主观分析)
  10. 屏显有啥硬科技可卷?让现在电视厂商这么拼