目前 amd 的以太网 ip 核,如软核 10g/25g,40g/50g 或者硬核 cmac,mrmac,dcmac 等等,都采用的是同一种 pause 帧处理方式。
这篇文章主要介绍了用户应当如何设置以太网 ip 的相关参数,使其能够有效处理以太网的 pause 帧。
按照 ieee802.3 协议,一个 pause 帧是一个最小长度,即 64bytes 长的以太网帧,目标地址(da)为一个广播地址 01-80-c2-00-01,type 为 8808,opcode 为 0001(global)或者 0101(priority)。具体细节请参考 ieee802.3 协议。
pfc 结构如下所示:
amd 以太网 ip,可以灵活的设置这些以太网 pause 帧参数。例如通过设置如下 tx 侧的参数,包括 gpp(global pause packet)的目标地址(da),ether type,opcode 等,这样 ip 会产生你所期望的任意数据包,作为你要的 pause 帧发送出去。
同样,ip 也需要在 rx 侧做相应的设置,这样才能识别出 pause 帧并进行处理。接下来重点介绍,如何在 rx 侧设置 pause 帧的处理。
首先,ip 遵循如下 3 个 steps,对收到的以太网帧进行处理:
step1,如果通过了,则该以太网帧被认为是控制包,进入 step2,并且不再出现在用户数据侧显示;只有将 ctl_rx_forward_control 设为 1 的时候,即使是控制包,ip 仍然会将其跟其它数据包一起输出到 rx 用户侧;如果 step1 没通过,则该以太网帧为普通 rx 数据包。
step2,如果通过了,则该以太网帧被确认为全局 pause 帧;如果没通过,则进入 step3。
step3,如果通过了,则该以太网帧被确认为 priority pause 帧;如果没通过,则不是 pause 帧,为其它类型控制帧。
也就是说,这里有四种特殊的以太网帧,分别是两种控制包 global control packet(gcp),priority control packet(pcp),和两种 pause 帧 global pause packet(gpp),priority pause packet(ppp)。
ip 需要首先判断收到的是否是控制包(即 gcp 或 pcp),如果是,则先判断是否是 global pause 帧,再判断是否是 priority pause 帧。这几步判断,ip 都给了相应的参数,供用户设置,每一个条件,用户都可以选择是否要作检查。
文档里给出了 ip 是如何做判断的相关代码,如下:(由于某些新的 ip 文档尚未完善,如 dcmac,如果缺失这部分内容,也是可以参考其它 ip 文档里的这一段内容)。
接下来,选取 step2 中的两句,具体解释下,如何理解这个代码。其它部分可以类推。
先来看图中第二句,判断该以太网数据包为 global pause 帧(gpp),首先要满足 step1,然后是由上图中第二句代码(assign global_pause_packet)后面的所有项“与”(&&)起来的,就是说要满足后面所有的项,分别是 da 符合,sa 符合,etype 符合,opcode 符合,并且使能了该功能(即设置ctl_rx_enable_gpp=1)。
再来看第一句,opcode 符合(assign opcode_match_gpp),是由后面两个条件“或”起来。这里要注意,为什么是或,第一个条件是该功能使能取反,也就是说,如果你设置使能不打开的话,这个条件是直接满足的;这就意味着,不打开这个使能表示代码不检测这个条件,任意数据都会被当作满足条件,所有数据包都会被认作 pause 帧;使能打开后,才会要求后面的第二个条件符合才行,第二个条件即 rx 收到的数据包的该段数据,满足你设置的 ctl_rx_opcode_gpp,按照协议你应当将其设置为 0001。
总之,在设置完这些 pause 帧相关参数后,就可以使用以太网 ip 的流控功能了。通过 stat_tx_pause 确认 ip 是否成功发出 pause 帧,并通过 stat_rx_pause 确认 ip 是否能收到 pause 帧。如果仍然无法成功接收到 pause 帧,不要忘了将 ctl_rx_forward_control 设为 1,并在用户侧接收数据的地方,检查 ip 实际收到的数据包,并逐条对照之前的。
BB503屈服强度伸长率分析(钢板材质说明)
空气质量NO2模拟输出模块在空气污染和环境中的应用
维信诺向子公司提供技术支持 获20亿服务费
解密深层逻辑:美的集团有无可能问鼎深市市值第一?
联想的预热海报继续进行,联想S5 PRO无情碾压华为NOVA 3
设置AMD以太网IP核的Pause帧处理
微软Surface CloudBook曝光:运行Win10 Cloud,主攻教育市场
使用变频调速的十大好处
米聊复活了 能维持多久?
Gartner公司确定到2018年物联网的核心技术
国内将成全球第二大IC设计产业集群
工业以太网销量首超现场总线,工业4.0面临大选择!
区块链中概股嘉楠科技暴涨逾80%
台达NT系列UPS助珠江数码打造全新数字媒体体验
中国信息产业四大领域或率先引领突破
荣耀9什么时候上市?荣耀9最新消息:荣耀9工信部入网,外观辨识度不如荣耀8,价格2299元起
元宇宙应用领域
CS5265替代RTD2172TYPEC转HDMI2.0芯片
芯盾时代解决方案入选人工智能企业典型应用案例
如何测量MLCC SMT电容的电容值