V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
huangya
V2EX  ›  OpenWrt

MT762x 中的硬件 offload 原理

  •  
  •   huangya · 2022-10-27 17:09:15 +08:00 · 1172 次点击
    这是一个创建于 794 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在看 OpenWRT 中对 MT762x 中硬件 offload 的代码,看起来 PPE 对多种类型的 flow 可以 offload,包括 NAT/routed/bridged(包括 LAN-LAN 和 LAN-WLAN) flow.在这里我们考虑常用的 NAT flow.我看内核中的软件 offload 是在 FORWARD 链添加 entry 到软件 flow table 。比如一条 tcp 流,当有两个包的交汇时,在 contrack 中就有这条流的信息了,所以就可以把这条流对应的 entry 放到 flow table 里面了。对于硬件 offload, flow table 应该是存在于硬件中的,我想问的是,添加 entry 也是类似吗?也在 FORWARD 链吗?
    2 条回复    2022-11-06 17:18:37 +08:00
    cwbsw
        1
    cwbsw  
       2022-11-06 12:52:37 +08:00
    用 linux kernel 的实现的话,是的。但是厂家自己的 sdk 好像是会自己实现一个内核模块。
    huangya
        2
    huangya  
    OP
       2022-11-06 17:18:37 +08:00
    @cwbsw hardware offload 是 linux 实现了一个框架,厂家似乎是在驱动里面具体实现。也就是 linux kernel 框架代码调用驱动。目前我搞不明白大体的流程。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2893 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:45 · PVG 21:45 · LAX 05:45 · JFK 08:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.