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

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

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

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

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了;

      推荐阅读
    • 减肥期间奇亚籽吃多少合适 多会儿吃奇亚籽对减肥有效

      减肥期间奇亚籽吃多少合适30克左右即可。早餐吃奇亚籽泡牛奶能不能减肥主要和吃的食物以及减肥期间的热量摄入有关,正常情况下喝一杯奇亚籽泡牛奶,不仅可以补充人体早上所需的营养物质,而且由于摄入热量较低,可造成减肥热量差,从而帮助减肥,但若是早餐之后的午餐、晚餐吃的过多,热量超标的话,也是会使人长胖的,可见奇亚籽泡牛奶并不能直接减肥,其减肥的关键还是在于控制饮食。

    • 原神振晶的复合实验第四天怎么通关

      原神振晶的复合实验第四天怎么通关?第四天的关卡激能催化式已经更新,玩家在关卡中要拿到2000分才能拿到全部奖励,所以这次小编给大家带来激能催化式拿满分的通关攻略,详细的打法可以查看下面的攻略。

    • 二年级下册数学8单元数据整理(人教版二年级数学下册第八单元克和千克复习)

      本单元是学生初次学习质量单位。其中“克和千克的认识”是小学数学量与计量知识的一个重要内容。“解决问题”则注重对学生估算能力的培养,增加学生对克和千克的感性认识并联系实际,使学生初步体验克和千克在生活中的应用。

    • 英超一共多少轮(参赛队伍数量)

      下面内容希望能帮助到你,我们来一起看看吧!英超每赛季均为38轮比赛。英超联赛采取主客场双循环赛制比赛,每支队伍与各球队对赛两次,主客各一次。由1995/1996赛季开始,参赛球队由22队减至20队,每支球队共进行38场赛事,主场和客场比赛各有19场。每场胜方可得3分,平局各得1分,负方得0分,按各队于联赛所得的积分排列。

    • 郭晶晶公益广告(康师傅包装饮用水官宣郭晶晶为品牌代言人)

      近日,康师傅包装饮用水官宣奥运冠军郭晶晶为品牌代言人,进一步深化其“选安心选健康”品牌主张。据报道,康师傅包装饮用水荣获NSF国际认证,采用两级RO反渗透、纳米级过滤、紫外杀菌等技术,用八道工序国家专利的严格标准,保证产品品质。

    • 王者荣耀霸体会受到伤害吗(看看解释吧)

      下面希望有你要的答案,我们一起来看看吧!王者荣耀霸体会受到伤害吗会受到伤害,只是免疫控制和技能释放时不被打断,比如项羽大招,韩信大招,廉颇技能等等。霸体就是敌人的控制技能无法打断你现在的招式,也无法阻止你的行动,是一个非常有用的状态,在你进入敌人的包围中,有霸体的话,能大幅提高逃生的几率。

    • ct5怎么改漂移才会更加丝滑(专注越野尘埃5将收录12种不同汽车种类)

      《尘埃5》收录的汽车种类非常丰富,包含80年代的拉力越野车,以及现代的轻型越野车。《尘埃5》暂时还没有公布实际游戏视频,不过目前已经公布的部分已经充分展示了越野和拉力赛事的魅力,本作将新增剧情模式,由知名配音演员NolanNorth和TroyBaker参与。

    • 头发蓬松但是少弄什么发型(头发太贴了怎么让头发蓬松)

      此外卷发棒也有类似效果,只不过用法和吹风机不同而已,这两个工具可以保持1-2天的蓬松效果。头发太贴了适合什么发型如果是男生的头发太贴可以选寸头、碎发和飞机头,也可以选择锡纸烫或者钢夹烫,这些都可以弱化这个缺点。如果是女生的头发很贴,优先考虑各种烫发或卷发,然后在考虑扎发比如马尾、丸子头、蜈蚣辫等等。

    • 岳飞全集小说多少集(岳飞简介)

      以下内容大家不妨参考一二希望能帮到您!岳飞全集小说多少集岳飞小说全集共70集。岳飞是南宋杰出的统帅,他重视人民抗金力量,缔结了“联结河朔”之谋,主张黄河以北的民间抗金义军和宋军互相配合,以收复失地;治军赏罚分明,纪律严整,又能体恤部属,以身作则,率领的“岳家军”号称“冻死不拆屋,饿死不打掳”。金军有“撼山易,撼岳家军难”的评语,以示对岳家军的由衷敬佩。

    • 半飞秒激光近视手术的弊端(最舒适的近视眼手术方式)

      李福生院长说,目前最主流的近视手术方式为飞秒激光近视手术。飞秒激光近视手术具有速度快,术后后遗症少的优点。但全飞秒激光进入临床后,将手术后遗症降至更低水平。据了解,少数飞秒激光近视手术患者术后可能出眼干。与飞秒激光近视手术相比,新设计的接触镜可以将压力分散到更大的眼球表面积,从而大幅减轻压迫感,手术舒适性自然提高。