一身转战三千里,一剑曾当百万师。这篇文章主要讲述Linux Kernel TCP/IP Stack — L2 Layer — switchdev L2 Offload相关的知识,希望能为你提供帮助。
目录
文章目录
- ??目录??
- ??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】
推荐阅读
- Linux小技巧之断点续传文件rsync
- 基于QT设计的人脸考勤打卡签到系统
- Linux小技巧之大文件切割
- Linux下复制粘贴快捷键
- #yyds干货盘点#java快速开发springboot项目
- Linux下玩转nginx系列---nginx日志配置文件说明
- 每天学一个 Linux 命令(13)(touch)
- 北亚数据恢复服务器断电导致Oracle数据库报错(“system01.dbf需要更多的恢复来保持一致性”的数据恢复案例)
- 每天学一个 Linux 命令(12)(chown)