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

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

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

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

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

      推荐阅读
    • 种多音字组词(乐多音字组词)

      种类[zhǒnglèi](名)根据事物的性质或特征而划分的门类。濒危物种[bīnwēiwùzhǒng]处于危亡状态的物种。朝种暮获[zhāozhòngmùhuò]比喻收益迅速。青门种瓜[qīngménzhòngguā]比喻做了什么样的事情,就会得到什么样的结果。

    • 橡胶锤子使用方法(橡胶锤子的使用方法介绍)

      下面内容希望能帮助到你,我们来一起看看吧!橡胶锤子使用方法橡胶锤子在使用时,只需将需用的锤头安装上锤柄即可使用。经反复验证,具有使用方便、携带方便、组装快捷等特点;锤头直径1厘米,由高碳钢切削而成,圆锥锤头有极强的穿透力。橡皮锤用途与类型车身维修中使用多种规格和样式的钣金锤,分别用于金属加工中的校正和粗加工、精加工及特殊用途。

    • 钻石猫尾草(人称缺德草见到就铲)

      人称缺德草见到就铲欢迎来到“农民爱花草”,这里每天都会分享一些养花的小方法,小窍门,喜欢的朋友请“关注”,一起快乐养花吧!今日导读:人称缺德草,见到就铲,可惜了,殊不知,它还是有名的“黄金草”本次咱们不分享养花,来为大。

    • 一个微信每天可以关注多少公众号(微信里必备的9个公众号)

      每天上午10点,书单君会用7分钟时间为400万读者拆解一本好书。正解局,穿透信息迷雾,正解中国成长的力量。市界立足于对上市公司进行价值深度研究,常年扎根金融、消费、TMT、房产、出行等领域,提供具有有价值观点的一级、二级市场内容。无论是方言、建筑、美食,还是回忆、青春、众生百态,「城市漫游计划」都会在呈现原汁原味的城市风貌同时,给你带来具有人文气质的知识科普。

    • cf手游血月宝箱50个能出么(血月宝箱有什么物品)

      cf手游血月宝箱50个能出么?我们一起去了解并探讨一下这个问题吧!如今血月宝箱非常少见的回归特惠商城,并且售价保持在了66钻石一个箱子的水准,按照正常的爆率来估算,仅需不到3000钻即能入手,而且不需要英雄之匙。M4A1-黑龙-能量核心也限时返场,目前售价为1980钻石+2英雄之匙,其目前为M4A1-黑龙唯一可以买到的皮肤,而且价格也是相当的实惠,1480钻石能够买到全局动态特效的皮肤很划算了。

    • 孕妈妈可以喝的自制饮料(孕妈饮料喝啥呦)

      也可通过从饮料和食物当中补充水分。开水经过煮沸消毒后清洁卫生,饮用开水是孕妈妈不从水分的主要方法。孕妈妈不要喝生水,以防止腹泻或者是感染其他疾病。咖啡和浓茶具有比较强的兴奋性,应该少喝。矿泉水里含有许多矿物质,可以饮用。而市面上供应的许多饮料含有很高的糖分,不宜多饮用。

    • 让额头长头发的小窍门(怎样使前额的头发生长出来)

      不要随意用手抚摸前额,手上的细菌很多,会导致前额毛孔堵塞,皮肤发炎。一边洗头发,一边用手指轻轻按摩前额部位,促进血液循环,不让毛孔堵塞。保护前额头皮的皮肤。按摩前,要把双手和头部都清洗干净,然后在前额部位涂抹一些芦荟汁,让毛孔放松开来,然后在前额部位划圈按摩,每天坚持十分钟。前额的头发如果比较稀少,除了用以上方式促进毛发的生长外,还可以使用一些技巧,让前额看上去头发多。

    • 李翰祥古装电影(李翰祥的风月喜剧)

      为了安置这些受到旧社会迫害的女性,北京成立了一家“妇女生产教养院”。6岁时,她被老鸨胖大奶奶收养,成年后在胖大奶奶的威逼之下,成为了“娼妓”。国联成立之后,虽然推出了不少卖座的电影作品,可公司的账目却是一团乱麻、亏空不断。《大军阀》、《风月奇谭》上映后,获得了极其不错的票房成绩。此时,一名女子冲出来喊冤,表示自己被人欺骗,落入了百花楼。在万人迷的毒打威逼之下,大琴无奈妥协,同意了接客。

    • 沙特面积及人口(沙特阿拉伯王国)

      沙特阿拉伯王国沙特阿拉伯(阿拉伯语:العربيةالسعودية‎),或译沙乌地阿拉伯、沙地阿拉伯[5],全称沙特阿拉伯王国(阿拉伯语:المملكةالعربيةالسعودية‎,al-MamlakahʿAr。

    • 红枣滋养气血(红枣怎么做滋养气血呢)

      接下来我们就一起去研究一下吧!红枣滋养气血红枣配桂圆更加的滋养气血。材料:红枣3个、桂圆4个、开水适量。做法:先准备好所需的材料;然后将红枣洗净去核,桂圆去壳去核;再将红枣、桂圆放入壶内,加入开水;然后盖上盖子闷15-20分钟,泡至出味即可饮用。