Linux Kernel TCP/IP Stack — L2 Layer — switchdev L2 Offload

举报
云物互联 发表于 2021/08/06 01:48:40 2021/08/06
【摘要】 目录 文章目录 目录switchdev 框架(二层交换 Offload 实现) switchdev 框架(二层交换 Offload 实现) Linux 4.0 引入了 switchdev 框架,它代表对一类拥有 “交换” 能力芯片的多网口设备的抽象。其中每一个网口就是一个 Port,在 switchdev 框架中被注册成为一个 net_device。 ...

目录

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)功能。

在这里插入图片描述

文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。

原文链接:is-cloud.blog.csdn.net/article/details/105917748

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。