高考考试网
当前位置: 首页 高考资讯

mtk平台的暗码(应用篇MTK7621HWNAT)

时间:2023-06-14 作者: 小编 阅读量: 5 栏目名: 高考资讯

接下来我们就一起去研究一下吧!

mtk平台的暗码?PPE - Packet Processing EngineFOE - Frame Offload Engine,今天小编就来聊一聊关于mtk平台的暗码?接下来我们就一起去研究一下吧!

mtk平台的暗码

名词解释

PPE - Packet Processing Engine

FOE - Frame Offload Engine

PDMA - Packet DMA

背景介绍

现在LEDE上已经对UBNT ERX支持了,但是其中对性能有很大提高的HNAT(Hardware NAT)功能还没有实现;这里就尝试把HNAT的支持移植到ERX上,以此来了解MT7621的 HW NAT功能。

框架结构

______________________

CPU

______________________

PDMA

______________________

PPE

______________________

GMAC1 | GMAC2

______________________

port 6 | port 5

---------------------------------

port 0,1,2,3, 4

______________________

在目前的LEDE代码里面只用了GMAC1,也就是port 5与GMAC2之间的link是force down的

基本工作流程

PPE Enabled: GMAC<->PPE<->CPU

PPE Disabled: GMAC<->CPU


  1. port 0(或1,2,3,4) -> switch -> port 6 -> GMAC1 -> PPE; 到此packet被送到PPE模块;

  2. PPE模块根据packet的,SRC IP:Port 和DST IP:Port,算得一个HASH ID,并把该HASH ID存到RX BD里面并由后续的驱动存到skb->cb里面,这个HASH ID是后面驱动处理的关键信息;

  3. PPE模块里面有4K条FOE entry用来记录每条NAT session;上面算出来的HASH ID就是用来索引这里的FOE entry的;同时FOE entry也会记录数据包的SRC IP:Port 和DST IP:Port;

  4. 由于这是第一个packet,因此此条flow的状态是未命中,未命中的情况是要送到CPU由软件去处理的;

  5. 至此,送至PDMA并产生中断,让CPU来处理这个包;

  6. CPU正常处理该报文,上送协议栈,并做正常的software的NAT,这些没什么不同;

  7. CPU软件的NAT做完之后,要通过以太网再发出去,在以太网驱动的xmit函数里面有个hook_tx, 这就是关键所在,重要的工作都是在hook_tx完成的;

  8. 在TX hook里面,分析skb的数据,因为此时的skb已经是经过NAT之后的IP和Port了;同时,由于skb是转发的情况,skb的data和header都是zero copy的,也就意味着可以从skb的cb里面取出在上面存入的HASH ID;

  9. 根据取出的HASH ID通过查找foe entry可以找到该数据包NAT之前的SRC IP:Port 和DST IP:Port,然后根据现在的数据包内的数据可以找出NAT之后的SRC IP:Port 和DST IP:Port;这样NAT之前和之后的SRC IP:Port 和DST IP:Port都有了,这就是一条完整的NAT session了;

  10. PPE也就知道该如何做NAT了,接下来在收到同样的packet,PPE就照葫芦画瓢的做NAT就是了;同时该条FOE entry的状态也会被设置为bind;


[187768.931427] ==========<Flow Table Entry=2146 (af1a9ea0)>===============

  • bind完成之后的package flow:

    1. port 0(或1,2,3,4) -> switch -> port 6 -> GMAC1 -> PPE

    2. PPE check the status为hit bind,则PPE按照FOE entry里面的描述做对应的NAT,并发送到对应的port(这里是GMAC1);就不必打扰CPU了;

      推荐阅读
    • 萦怎么读(萦的读法)

      下面希望有你要的答案,我们一起来看看吧!从糸(mì),荧省声。、牵缠;牵挂[worry;care]。弯曲[bend]“断梗桔槎无拍处,一川寒碧自萦回。”——宋·朱熹《偶题》

    • 陶渊明的诗意人生(如何赏析陶渊明的)

      陶渊明的云淡风轻都是来自于“千帆过尽”,绝不是仅有聪慧头脑的少年能理解的。饮酒·其五结庐在人境,而无车马喧。此中有真意,欲辨已忘言。这首诗分两部分,前四句塑造心灵超脱隐居形象,传达出自身成功“大隐隐于市”的愉悦感。这种不经意,正是陶渊明的山水景物描写的特点。而陶渊明完全没有这些。陶渊明的心和景则是带有一种疏离感。而他身居田园,所以人们专门给他一个名词叫“田园诗”。这种不经意,绝不是小孩子能体会的。

    • 洁面的正确使用方法图(洁面的正确方法是什么)

      早晨的皮肤经过了一个晚上的保养品修复,洁面是重中之重,先检查油脂分泌具体情况再考虑是否适用洁面产品。洁面时要使用正确的方法,脸部皮肤才能干干净净。

    • 三水源门票多少钱? 三水源门票免费领

      5、消防救援人员凭本人国家综合性消防救援队伍《干部证》《消防员证》《学员证》《退休证》享受免票优惠。

    • 大彻大悟什么意思(大彻大悟的介绍)

      接下来我们就一起去了解一下吧!大彻大悟什么意思大彻大悟,汉语成语,拼音是dàchèdàwù,意思是形容彻底醒悟。成语辨析恍然大悟、豁然开朗、茅塞顿开、大梦初醒。鬼迷心窍、执迷不悟。成语出处元·郑德辉《伊尹耕莘》楔子:“盖凡升天之时,先参贫道,授与仙诀,大彻大悟后,方得升九天朝真而观元始。”

    • 张译的成名之路是怎样的(一个诠释光荣与梦想)

      与此同时,《光荣时代》最大的戏剧内核是展现兄弟对决的“人物关系”。要想登顶,除了全力以赴,别无他途提到张译的演技,可谓有口皆碑。即使如今已是一线男星,他在表演上始终不敢有任何懈怠。为了《士兵突击》中史今一角,张译毛遂自荐,足足写了三千字的自荐信给导演,终于实现演艺生涯大逆转。比起那些流量明星出道就是主角的待遇,张译拿到这个电视剧的男配角等了整整十年。

    • 办公楼被抛燃烧瓶

      中驻德使馆遭袭据中国驻德国大使馆网站3月11日消息,3月10日清晨,中国驻德国大使馆办公楼一侧被抛掷多个燃烧瓶。此次袭击未造成人员伤亡,嫌疑人已被当场抓获。我馆正就此同德国有关部门保持密切沟通,要求德方立即展开全面调查,并采取切实措施确保中国驻德使领馆馆舍、人员和在德中国公民安全。

    • 雾灯怎么清洗最干净(怎么清洗雾灯最干净)

      我们一起去了解并探讨一下这个问题吧!雾灯怎么清洗最干净雾灯拆下,灯珠取岀,用洗洁精加水倒入灯壳内,别用洗机头水,泡十分钟,把毛巾卷成圆棒状后从灯珠孔放进去,上下前后左右疯狂摇晃。视雾灯内部的污垢而定,太脏可能持续疯狂十多分钟,过水清洗冷风干后雾灯恢复如新,这方法健身又省钱。

    • 保险的受益人怎么选(保险受益人你选了谁)

      保险受益人通常是指人身保险合同中由被保险人或者投保人指定的享有保险金请求权的人。简单来说,就是在发生保险事故后,向保险公司领取保险金的人。而寿险、意外险、有身故责任的重疾险里,受益人可以选择指定或法定。在受益人的指定上,不仅可以指定具体的一个或几个人,还可以确定他们各自的受益比例。

    • 三套车歌词(三套车歌简介)

      接下来我们就一起去了解一下吧!当时,俄罗斯地广人稀,交通不便,马车成了人们重要的交通工具,而马车夫的生活也格外漂泊。在歌曲《三套车》中,马车夫奔波在寂寞的长途,唱出了忧伤,苍凉的旋律。