锐文科技智能网卡OVS OFFLOAD技术白皮书

ovs offload ​​​​​​​(免费订阅,永久学习)学习地址:LinuxC/C++服务器开发/架构师 面试题、学习资料、教学视频和学习路线图(资料包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis、MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等),或点击这里加免费领取,关注我持续更新哦!! 阅读详情

一、方案概述

近年来,随着云计算技术的飞速发展,云规模的不断扩大,业务层面对网络延迟、带宽的要求越来越高;在虚拟网络中采用OvS-DPDK方式来加速网络报文处理,相对于OvS kernel datapath确实能够带来明显的性能提升,但是此方式在性能扩展及成本效益间存在局限性,已经不能满足越来越高的性能需求。

行业内将虚拟网络的加速功能聚焦到硬件层面来实现,如ASIC、智能网卡、DPU等方案,利用网卡更接近网络数据的特点,实现网卡内完成网络转发及动作的

RAYMAX紧跟行业发展,在多年的技术积累下快速实现了xSmartNIC智能网卡产品落地。其中,xSmartNIC HWAS是一款基于FPGA的网卡且支持OvS data plane offload功能,使用自研的xSmartNIC HWAS技术能显著提升虚拟机网络性能。

二、方案架构

xSmartNIC HWAS方案是基于开源项目Open vSwitch和DPDK来实现的,总体实现架构如下图1所示。

在虚拟化环境下,OvS使用DPDK来加速,其data plane都在用户态实现,QEMU虚拟机使用xSmartNIC SR-IOV特性配置成VF直通模式。当使能HWAS特性后,DPDK驱动与xSmartNIC PF交互数据,从物理口进来的会话首包进入OvS后会触发流表 Offload流程(红色箭头表示),最终在xSmartNIC HWAS模块中会维护所有流表规则,该会话的后续数据帧则直接在网卡硬件中处理并转发给指定VF,对应的虚拟机就能接收到数据包。从虚拟机发出的会话包也是相同的处理流程。


 

三、方案特性

xSmartNIC HWAS方案主要特性如下:

★2个物理端口,每个端口最大带宽为10Gbps (可升级至25Gbps)

★支持OvS offload基本功能(vlan/L2/L3/L4匹配及动作)

★支持流表规则模糊匹配

★支持OvS group offload

★流表规格:2K/PF x 2

★VF规格:6/PF x 2

四、方案优势

目前传统的虚拟化环境下QEMU虚拟机的网络使用VirtIO方式与OvS连通,数据收发过程中有内存拷贝;且在HOST有多虚拟机的场景下,虚拟网络性能会受服务器系统资源(如内存总线带宽、cache等)负荷而波动,整体网络带宽和时延性能较差。xSmartNIC HWAS方案相对于传统方式性能有极大提升,以下是对比测试分析。

1.OvS直接转发

测试方法及环境搭建如下图2a所示,OvS 从Port0接收数据,处理后仍从Port0口转发出去。图2b为当xSmartNIC开启HWAS模式后(即Offload模式),将流表规则从OvS offload到网卡后,数据在xSmartNIC处理完后直接完成转发,不再进入OvS软件数据平面。

 

 在进行如上所述的对比测试后,xSmartNIC offload功能对64B小包带宽性能提升1倍多,延迟显著下降,数据如表1。

 

2. OvS虚拟化环境下的数据转发

使用VirtIO 方式时如下图3a所示,port1为Vhost-user类型端口,QEMU虚拟机使用对应的VirtIO-Net驱动并且testpmd使用单核单队列方式转发数据。

当xSmartNIC开启HWAS模式(即OvS offload)时如下图3b所示,QEMU虚拟机的网络设备使用SR-IOV直通方式,OvS datapath处理直接在xSmartNIC网卡中实现。

 

 按照上述两种方式,当PF0处理4台虚拟机时(每台虚拟机独立转发数据包),带宽和时延对比测试如下图4所示,结果表明xSmartNIC HWAS加速功能能极大提升虚拟机的网卡带宽和降低网络时延。

 

 当PF0处理4台虚拟机并且数据包流量依次通过每台虚拟机的场景下,对比测试结果如下图5所示,相对于上一场景,当虚拟机所消耗的内存带宽资源越多xSmartNIC HWAS加速性能越显著,对于512B以下小包带宽能提升15~30倍,512B以上大包带宽提升5倍左右,时延大都会降为原来的25%左右。

 

 除此之外,在相同网络性能下,xSmartNIC HWAS方案相比Virtio-net也会明显降低CPU算力和内存带宽的消耗。

ovs+dpdk场景下的tx checksum offload 一、checksum: tcp checksum包括三部分: 1)、伪头部校验和; 伪头部包括: 源ip 、宿ip、 协议号、tcp 长度,主要用于校验是正确的目的机器接收到数据包 2)、tcp头部校验和; 3)、数据部分校验和; 当硬件有checksum offload能力时,可以通过ethtook -K tx on/off设置是否将checksum offload到硬件处理; 如果将c... 阅读详情

相关推荐

ovs vxlan 时延和吞吐

时到底要不要用vxlan,如果用vxlan到底要不要购买比较贵的smart nic做offload,采用软件vxlan还是硬件交换机vxlan,很难决策,这儿简单测试一下,给个参考,资源终究是有限的,成本还是有考虑的,了解清楚云上业务再做决策。

lingshengxiyou的博客 783

实现编辑功能有哪几个action_【干货分享】OVS partial offload功能及使用

/ 一 /Ovs partial offload简介 为了提升OVS(openvswitch)的转发性能,近年来的一个发展趋势是利用智能网卡将OVS的datapath整体offload到网卡中,如图1所示。图1 Ovs full offload这样做的好处是用网卡来处理包头解析和流表查找等耗费计算资源的事情,可以大量节省cpu资源,同时提升网络吞吐,减小时延。难点在于硬件...

weixin_39735005的博客 1317

OpenvSwitch — OvS-DPDK Hardware offload

目录 文章目录目录OvS-DPDK Hardware offload OvS-DPDK Hardware offload OVD-DPDK Hardware offload 基于 DPDK 的 rte_flow Lib 来实现。 rte_flow 是 DPDK 对 Flow Representation 的实现,rte_flow API & structure 用于将 pkt forwarding rule 编程到(Program)NIC-hardware。例如将 OvS-DPDK Rule 卸载到

烟云的计算 2245

OFED简介

OPED简介简介Mellanox OFED栈的架构mlx4 VPI Drivermlx5 Driver上层协议(ULP)IP over IB (IPoIB)Mellanox OFED包ISO镜像软件组件模块参数 简介 Mellanox OFED是一个单独的VPI(Virtual Protocol Interconnect,虚拟协议互联)软件栈。文档地址:https://docs.mellanox....

祈晴小义 1万+

ovs-vswitchd源码分析

分析ovs-vswitched源码

fengcai_ke的博客 1367

NVIDIA DPU — DPU OvS offload

若后续的报文的流表在eSwitch有记录的话,提取多元组进行匹配,查到一个表项,表项里有Action,然后就会执行对应的Action,如forward、drop、headerrewrite。NIC内置了基于流水线的可编程eSwitch,能够在硬件中进行大部分数据包的处理。报文处理时,网卡首先识别报文,提取报文头的Field,基于多元组对包进行识别和分类(e.g.3、5、7、11-tuple)、基于配置的规则进行Match报文。......

烟云的计算 2073

Open vSwitch硬件卸载

本文的目的是描述如何使能OpenStack中可用的Open vSwitch硬件卸载offloading功能(使用OpenStack Networking)。此功能首先在OpenStack Pike版本引入。本文作为一个指南,展示如何配置OpenStack Networking和计算节点,来使能Open vSwitch硬件卸载功能。 基础 The basics Open vSwitch是一个生成级别...

redwingz的博客 5518

OpenvSwitch — Hardware Offload

目录 文章目录目录OvS Hardware offload OvS Hardware offload 2018 年,Open vSwitch 发布了基于 TC Flower 的 Hardware offload 功能,支持将 Datapath 卸载到 SmartNIC 上。 OvS Hardware offload 架构如下,存在 3 个 Datapath。 OvS Kernel Datapath:内核级的 Fast datapath。 OvS Kernel TC Datapath:作为 SmartNIC

烟云的计算 1964

virtio+ovs转发原理和性能分析

女主宣言virtio 是一种 I/O 半虚拟化解决方案,ovs是一个虚拟交换机,利用软件的方式实现交换功能。本文将对virtio+ovs的转发原理进行介绍和并对其性能展开分析。PS:丰富...

HULK一线技术杂谈 1675

小曾WRF自学日记(3)渐入佳境 ——WRF实例-数据下载与WPS前处理

ww

weixin_46297571的博客 1480

学习C++的递归函数(包含汉诺塔讲解)

简单来讲,递归函数就是函数本身自己调用自己,那么函数又是什么呢?#include <stdio.h> //这行是头文件,不同的头文件可以用不同的函数int main() //这里就是一个main函数//这里是你要编写程序的内容return 0;(这是个小细节如下)所以我们平时用来练习的就是一个main函数,而且是一个整型类型的函数,而这也是最后一句话为什么要加一句 return 0;了,因为它最后要返回整数类型,其它整数也可以,但是大家规定为0,这是C++自带的函数。

2302_81032013的博客 2594

SDN — OpenvSwitch 软硬件融合加速方案

OvS-DPDK 通过将 VirtIO 的 Backend 实现在 Userspace,实现了 VM 与 OVS-DPDK 共享 Userspace 内存,这样 VM 在收发报文时,只需要 OvS-DPDK 将从网卡收到的报文数据写入 VM 的内存,或从 VM 内存将要发送的报文拷贝到网卡 DMA 的内存,由于减少了内存拷贝次数和 CPU 调度干扰,提升了转发通道的整体效率和吞吐量。此后,后续的数据流都可以直接在 SmartNIC 上进行转发,直到这条 Rule 老化(Aging)为止。

烟云的计算 2139

手把手教你用示波器搞定PCIe 5.0 REFCLK时钟信号测量(附完整参数解读)

本文详细介绍了如何使用示波器进行PCIe 5.0 REFCLK时钟信号测量,包括示波器与探头的选择、关键参数的测量方法及解读,以及实战中的常见问题与解决方案。通过手把手教学和完整参数解读,帮助硬件工程师高效完成时钟信号测量,确保系统稳定性。

weixin_28704565的博客 359

ovs/ovs-dpdk三级缓存和硬件卸载

1.数据包到达网卡 → 2. 网卡触发硬件中断通知CPU → 3. CPU 暂停当前任务,执行中断处理程序(ISR)→ 4. ISR 将数据包从网卡缓冲区DMA复制到内核内存(sk_buff) → 5. 唤醒协议栈处理线程(如软中断 softirq)→ 6. 协议栈处理数据包 → 7. 数据传递到上层应用。

bobi的博客 1755

AI Agent在营销领域的实战策略

本文从第一性原理出发,系统性拆解AI Agent在营销领域的落地逻辑、技术架构、实现方案与实战策略。全文覆盖从基础概念到高级优化的全层级知识:底层理论层面推导营销Agent的效用函数与决策框架;技术架构层面提出"感知-记忆-规划-行动-反思"五组件可落地架构;实践层面提供生产级代码实现、多行业案例与ROI提升方法论;前沿层面探讨多Agent协同、世界模型仿真等下一代技术方向。

操作系统内核探秘的博客 227

一文详解AUTOSAR COM ComSignal结构体

ComSignalLength指定信号的长度,以字节为单位,影响数据的解析范围和精度。比如车速信号若为UINT16类型,ComSignalLength=16。这里需要注意必须ComSignalLength与ComSignalType匹配(比如FLOAT32类型需配置ComSignalLength=32),超出实际物理值范围时需配置缩放(Scaling)参数。ComSignalType定义信号的物理数据类型,决定如何解析原始字节数据。

menghuyouyou的博客 942

ovs partial offload

intel E810网卡支持 ovs partial offload ovs partial offload 入口 netdev_offload_dpdk_add_flow ->netdev_offload_dpdk_mark_rss ->netdev_offload_dpdk_flow_create parial offload 的 action 是 mark + rss 然后调用DPDK库rte_flow 的rte_flow_create函数, ovs创建rte_flow时携带mark_id

jyshappy的博客 627

Windows下用Docker快速搭建SearXNG私有搜索引擎(附Dify集成配置)

本文详细介绍了在Windows环境下使用Docker快速搭建SearXNG私有搜索引擎的完整流程,包括环境准备、容器化部署、安全配置优化以及与Dify平台的深度集成方法。通过分步指导和实用配置示例,帮助开发者构建兼具隐私保护和AI增强能力的本地化搜索解决方案,特别适合需要定制化搜索服务的应用场景。

weixin_30300225的博客 336

网卡VXLAN的offload技术介绍

1.1 offload技术概述 首先要从术语offload说起,offload指的是将一个本来有软件实现的功能放到硬件上来实现,这样就可以将本来在操作系统上进行的一些数据包处理(如分片、重组等)放到网卡硬件上去做,降低系统CPU消耗的同时,提高处理性能。在neutron中,基于VXLAN的网络虚拟技术给服务器的CPU带来了额外的负担,比如封包、解包和校验等,VXLAN的封包和解包都是由OVS来完成的,使用VXLAN offload技术后,VXLAN的封包和解包都交给网卡或者硬件交换机来做了,那么网卡的VX

mabin2005的专栏 3394

Aitoearn内容营销的最佳开源 AI 代理,创建 · 发布 · 互动 · 副业一站式平台,支持渠道:抖音、小红书(红点)、微信通道、快手、哔哩哔哩、微信公众号、抖音等等

Aitoearn内容营销的最佳开源 AI 代理,创建 · 发布 · 互动 · 副业一站式平台,支持渠道:抖音、小红书(红点)、微信通道、快手、哔哩哔哩、微信公众号、抖音等等

struggle2025的博客 1749

LangChain4j + MCP:从工具协议到生产级 Agent

这两年,很多团队都已经把「大模型问答」接入到系统里了:前端一个输入框,后端调一下 OpenAI / DeepSeek / 本地模型,返回一段回答——这类 「简单问答型」AI 功能它只能说,不会做:不会主动查数据库,不会调用你的接口,不会帮你真正执行脚本;面对复杂一点的需求,比如「帮我生成这个报表的 SQL 并执行一下」,普通 ChatGPT 式的问答就开始力不从心了。而Agent 智能体想解决的,就是这件事:不只是回答你「怎么做」,而是能自己思考、自己决定要不要用工具、再用工具把事做完。

OFFTime_we的博客 1152

ovs 支持的full offload action

netdev_offload_dpdk_add_flow -> netdev_offload_dpdk_actions -> parse_flow_actions ovs 2.17 parse_flow_actions中支持full offload 的rte_flow action 如下: RTE_FLOW_ACTION_TYPE_COUNT RTE_FLOW_ACTION_TYPE_PORT_ID RTE_FLOW_ACTION_TYPE_DROP RTE_FLOW_ACTION_TYPE_

jyshappy的博客 312

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

OVS简介

Open vSwitch(OVS)是一个虚拟交换机,原理:基于流表(flow tables)进行数据包的转发。OVS 通过与 SDN 控制器配合,动态调整流表,提供灵活的流量管理和网络拓扑调整。它还支持高效的数据包转发,利用 Linux 内核的网络堆栈和硬件加速(如 DPDK)来提升性能。OVS 可以用于虚拟化环境中,提供虚拟机和容器间的网络连接,支持 OpenStack、Kubernetes 等平台的集成。通过这种架构,OVS 使得虚拟化网络和软件定义网络能够灵活扩展和管理。

captain 1657

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ovs原理与实践

相比于其它虚拟交换机/网桥(例如docker0和普通的linux bridge),ovs有着更加丰富的功能和生态,目前在openstack和kubernetes容器网络(ovn-kubernetes、kube-ovn)都能看到它的身影。本文仅仅简单介绍了ovs的基本原理和单机使用,后续会更新ovs跨主机隧道通信和ovn/ovs等内容,敬请期待。...

weixin_60043341的博客 9985

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

锐文科技智能网卡xNIC-200/400在国产服务器测试性能报告

锐文科技,依托于网络虚拟化,软件定义网络,网络安全等前沿技术;专注于基于FPGA的高性能网络产品开发;为云计算,高性能计算,企业网络及金融领域等提供高带宽,低延迟的智能网卡(Smart NIC)。公司自主研发的基于FPGA的智能网卡,提供硬体及软件配套解决方案,如OvS卸载等,为网络加速,为CPU减负;提供网络包硬体层过滤及加密,以增强物理层网络安全防护;同时降级服务器到服务器,虚拟机到虚拟机的延迟,用户可以根据需要,通过提供的软件,配置适合某项应用或者某个网络特性的软硬体平台,以降低CPU利用率,增加承载

Raymax18的博客 1484
上一篇: 锐文智能网卡在申威cpu3231适配超好性能报告xNIC 10/25/100G
下一篇: 锐文网络安全网闸卡各种应用场景
Raymax18
博客等级 码龄8年 56粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值