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

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

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

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

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

      推荐阅读
    • 青春里最难忘的一个人(我青春里最难忘的事)

      青春里最难忘的一个人?下面更多详细答案一起来看看吧!青春里最难忘的一个人日时光,心中无限感慨,人的一生不管你经济条件如何,一定要快乐的生活,把每一天都过得精彩,让人生无撼,才能对得起.来人世间走一回。

    • 来一场旅行看沿途风景(跨省驰骋去自在赏风景)

      对游客来说,涉及四五小时以上车程的中长途距离,大家都会先去搜索是否有更便捷的高铁或飞机可以抵达,而不是首选自驾游。2020年国庆中秋8天假期给了大家重新体验中长途跨省自驾游的理由。国庆假期期间,广西的初秋秋色刚刚上线,而黄姚古镇、桂林阳朔这一带的风景也是让人心旷神怡。可以早上睡醒后吃好早餐再慢慢出发,中午以后就可以抵达贺州。抵达后,可以入住莽山的森林温泉酒店,夜晚泡温泉进行休整。

    • 杜蕾斯详细讲解(荷尔蒙江湖的争霸)

      与之匹配的,杜蕾斯当年销售额暴涨百分之五十。目前杜蕾斯和冈本两大品牌,加起来超过60%的市场份额。2021年,大象在网络上还闹了一桩沸沸扬扬的事件,起诉杜蕾斯抄袭!网友众说纷纭,有人支持大象,有人支持杜蕾斯。因为用安全套,能防止艾滋病传播,减少宫颈癌与妇科炎症的诱发,健康的身体,是激烈竞技的保障。《中国情趣用品行业发展前景调查》中预计,中国安全套销量到2024年或将增长到52亿美元。目前还未能定论。

    • 原草送别唐白居易(二月二日唐.白居易)

      今天是2020年农历二月初二.迎春花开了二月二日新雨晴,草芽菜甲一时生。轻衫细马春年少,十字津头一字行。

    • 最新有含义好听的男宝宝名字(男孩起名贵不可言)

      男孩起名,贵不可言、知书达理的男宝宝名字大全出自《赴试途中有感》--“陆机入洛才名振,苏轼来游壮志坚”。振才二字用于男宝宝名字,可以体现出宝宝是家族的希望,未来要成为一个有用之人,振兴家族。振才二字用于男宝宝名字,寓意着宝宝是一个懂得感恩的人,人生道路上会遇到很多贵人相助。翰(hàn)意指坚强勇敢、志向远大、妙笔生花。

    • 潜水注意事项(潜水有哪些要注意呢)

      潜水的时候一定要遵循两人同行的原则,跟教练一起,要时刻保持跟教练的手势联系。潜水的时候尽量选择正规安全的水域,尽量不要因为价格原因去找一些便宜的水域,那样没有安全保证。潜水前必须要穿好装备,要检查好装备是否合格以及功能是否正常,学习呼吸管和调节器的使用方法、水面休息方法、紧急情况处理等。当然两个人可以互相帮忙检查装备。

    • 高考录取退档和滑档有啥区别(涨姿势高考滑档和退档有什么区别)

      2019年高考志愿填报正在进行中,说起滑档、退档,许多家长和考生分不清到底是什么,对其十分恐惧,担心最后没有院校录取而抱憾终身。退档后有被录取的可能性。但是一般退档的不能被后面的志愿学校录取的,只能参加本批次的征集志愿和下一个批次的录取。

    • win10的安卓模式(在电脑上玩手机系统是什么体验)

      根据BlissOS透露称,他们最新发布的BlissOS12已经进入了开发阶段,它可以让用户在Win10中,安装运行Android10系统。简单点来说,BlissOS是一个开源操作系统,它基于Android开源项目和Android-X86项目。而BlissOS则是PC和移动设备均支持。这样的门槛相信可以直接劝退那些想要体验BlissOS12系统的人群了。相比之下,对大多数用户而言,凤凰OS的安装则是更加的亲民。可以说它们是目前为止能让你体验到原生Android10的最佳途径。

    • 韩立什么时候再见到南宫婉的(韩立又拒绝一女神)

      继先行图透画面后,凡人修仙传动画再放新情报,在第61集先行预告中,虽然已经正式开启初入星海篇章,但实则还是天南的剧情,因为韩立与董萱儿以及南宫婉的三角恋还需要处理。韩立又拒绝了一女神虽然总是说韩立长相平平无奇,但桃花运却令无数人羡慕,南宫婉,墨彩环,陈巧倩,哪一个不是红颜知己,恨不得与他双宿双飞。韩老魔默默躺下享受南宫婉的轮回真诀很霸道,一旦开吸,除非她自己主动停止,否则就是被吸干的结局。

    • 滴滴专车7人坐要求(冤家变亲家滴滴专车换招)

      滴滴出行昨日宣布与上海海博出租汽车有限公司达成战略协议,双方将启动专车等领域合作,其中海博出租提供合规运营车辆并雇佣司机,滴滴出行负责前端平台运营。司机方面,海博出租选择标准是上海户籍居民或者持有三年以上在沪居住证的外省市居民,海博出租负责司机的审核和培训并取得上岗资质。