searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

优先级流控制(PFC)及基于 IP Core 的寄存器配置介绍

2025-03-21 09:47:19
1
0

一、PFC 概述


优先级流控制(PFC,Priority Flow Control)是一种在以太网网络中用于流量控制的重要机制,它基于 IEEE 802.1Qbb 标准。PFC 允许在一条以太网链路上创建 8 个虚拟通道,为每个通道分配不同的优先级,并且能够单独暂停和恢复各个通道的流量,而不会影响其他通道的数据传输。这一特性使得 PFC 在处理不同优先级的业务流量时有优势,能够有效防止高优先级流量因低优先级流量的拥塞而受到影响,从而显著提高网络的服务质量(QoS)和可靠性。

PFC 的工作原理是:当接收方检测到某个优先级的流量队列即将拥塞时,会向发送方发送 PFC 暂停帧(Pause Frame),发送方收到该帧后会暂停发送对应优先级的流量。当接收方的队列拥塞情况缓解后,会发送恢复帧通知发送方继续发送流量。此外,PFC 还支持自动重传机制,当设置的保持时间(Hold Off Time)到达且 PFC 标志仍为高时,会自动再次重发 PFC 帧,以确保流量控制的有效性。

二、基于 IP Core 的 PFC 寄存器配置

(一)光口 mac0 的寄存器配置


以下是针对光口 mac0 进行 PFC 功能配置的详细寄存器信息及操作:

  1. 使能 TX Pause Ports 寄存器
    • 地址:bar4 base address + 0x10000 + 0x1814
    • 配置值:0xff
    • 作用:用于使能 PFC 各端口,开启端口的发送暂停功能。
  2. 使能自动 TX Pause 重传寄存器
    • 地址:bar4 base address + 0x10000 + 0x181C
    • 配置值:0xff
    • 作用:使能各 pfc_port 的 hold off 模式。在该模式下,PFC 的 hold off 计数器开始工作,当计数器达到设定的时间后,会重新发送 PFC 帧,以保证流量控制的持续有效性。
  3. 用流控到低 4 字节目的地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x1834
    • 作用:配置流控帧的低 4 字节目的地址。
  4. 用流控到高 2 字节目的地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x1838
    • 作用:配置流控帧的高 2 字节目的地址。
  5. 用流控到低 4 字节源地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x183C
    • 作用:配置该光口的源 MAC 地址的低 4 字节,读取 TX MAC 寄存器时,要确保其与流控寄存器的 MAC 地址一致。
  6. 用流控到高 2 字节源地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x1840
    • 作用:配置该光口的源 MAC 地址的高 2 字节,同样要保证与流控寄存器的 MAC 地址一致。
  7. TX 流控 feature 配置寄存器
    • 地址:bar4 base address + 0x10000 + 0x1844
    • 配置:将 Bit1 设置为 1
    • 作用:使能发送侧 TX MAC 发送 PFC 帧,允许发送端根据流量情况发送 PFC 暂停帧。
  8. 设置 8 个 channel 的 XOFF 等待时间寄存器
    • 地址范围:bar4 base address + 0x10000 + 0x1880 ~ 0x189C
    • 说明:每个 channel 对应一个 offset 地址,如 PFC pause quanta 0 的 offset 地址为 0x1880,PFC pause quanta 1 的 offset 地址为 0x1884 等。对于 25G 网络,1 对应 8 个时钟周期,时钟频率 clk = 402MHz。该寄存器用于设置每个 channel 的 XOFF 等待时间,当时间到达后会自动解除 XOFF 状态。
  9. 设置 8 个 channel 的 PFC HOLD OFF 保持时间寄存器
    • 地址范围:bar4 base address + 0x10000 + 0x18A0 ~ 0x18BC
    • 说明:每个 channel 对应一个 offset 地址,如 PFC holdoff quanta 0 的 offset 地址为 0x18A0,PFC holdoff quanta 1 的 offset 地址为 0x18A4 等。该寄存器用于设置每个 channel 的 PFC HOLD OFF 保持时间,当时间到达且 PFC 标志仍为高时,会自动再次重发 PFC 帧。
  10. 使能 RX Pause 通道使能寄存器
    • 地址:bar4 base address + 0x10000 + 0x1C14
    • 配置值:0xff
    • 作用:使能接收方的 PFC 暂停通道,允许接收端接收并处理 PFC 暂停帧。
  11. RX 侧低 4 字节匹配 MAC 地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x1C1C
    • 作用:配置接收端的低 4 字节匹配 MAC 地址,该地址可以是本侧 MAC、对端 MAC 或者固定值 01 - 80 - c2 - 00 - 00 - 01。
  12. RX 侧高 2 字节匹配 MAC 地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x1C20
    • 作用:配置接收端的高 2 字节匹配 MAC 地址,与低 4 字节匹配 MAC 地址共同构成完整的目的地址。
  13. RX 侧流控配置寄存器
    • 地址:bar4 base address + 0x10000 + 0x1C24
    • 配置:将 Bit1 设置为 1
    • 作用:对接收侧的流控功能进行配置,开启相关的流控处理机制。

(二)光口 mac1 的寄存器配置


光口 mac1 的寄存器配置与 mac0 基本相同,只是基地址有所不同。按照相同的配置方法对各个寄存器进行设置,即可实现光口 mac1 的 PFC 功能。

三、测试结果


经过上述寄存器配置后,系统可以正常进行 PFC 帧的收发。这表明通过合理配置 IP Core 中的寄存器,成功实现了 PFC 功能,能够有效地对不同优先级的流量进行控制,提高了网络的可靠性和服务质量,满足了实际应用场景对网络性能的要求。

总结,PFC 机制在网络流量控制方面具有重要作用,通过对 IP Core 寄存器的精细配置,可以充分发挥 PFC 的优势,为网络的稳定运行提供有力保障。
 
0条评论
0 / 1000
穆****飞
8文章数
0粉丝数
穆****飞
8 文章 | 0 粉丝
原创

优先级流控制(PFC)及基于 IP Core 的寄存器配置介绍

2025-03-21 09:47:19
1
0

一、PFC 概述


优先级流控制(PFC,Priority Flow Control)是一种在以太网网络中用于流量控制的重要机制,它基于 IEEE 802.1Qbb 标准。PFC 允许在一条以太网链路上创建 8 个虚拟通道,为每个通道分配不同的优先级,并且能够单独暂停和恢复各个通道的流量,而不会影响其他通道的数据传输。这一特性使得 PFC 在处理不同优先级的业务流量时有优势,能够有效防止高优先级流量因低优先级流量的拥塞而受到影响,从而显著提高网络的服务质量(QoS)和可靠性。

PFC 的工作原理是:当接收方检测到某个优先级的流量队列即将拥塞时,会向发送方发送 PFC 暂停帧(Pause Frame),发送方收到该帧后会暂停发送对应优先级的流量。当接收方的队列拥塞情况缓解后,会发送恢复帧通知发送方继续发送流量。此外,PFC 还支持自动重传机制,当设置的保持时间(Hold Off Time)到达且 PFC 标志仍为高时,会自动再次重发 PFC 帧,以确保流量控制的有效性。

二、基于 IP Core 的 PFC 寄存器配置

(一)光口 mac0 的寄存器配置


以下是针对光口 mac0 进行 PFC 功能配置的详细寄存器信息及操作:

  1. 使能 TX Pause Ports 寄存器
    • 地址:bar4 base address + 0x10000 + 0x1814
    • 配置值:0xff
    • 作用:用于使能 PFC 各端口,开启端口的发送暂停功能。
  2. 使能自动 TX Pause 重传寄存器
    • 地址:bar4 base address + 0x10000 + 0x181C
    • 配置值:0xff
    • 作用:使能各 pfc_port 的 hold off 模式。在该模式下,PFC 的 hold off 计数器开始工作,当计数器达到设定的时间后,会重新发送 PFC 帧,以保证流量控制的持续有效性。
  3. 用流控到低 4 字节目的地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x1834
    • 作用:配置流控帧的低 4 字节目的地址。
  4. 用流控到高 2 字节目的地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x1838
    • 作用:配置流控帧的高 2 字节目的地址。
  5. 用流控到低 4 字节源地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x183C
    • 作用:配置该光口的源 MAC 地址的低 4 字节,读取 TX MAC 寄存器时,要确保其与流控寄存器的 MAC 地址一致。
  6. 用流控到高 2 字节源地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x1840
    • 作用:配置该光口的源 MAC 地址的高 2 字节,同样要保证与流控寄存器的 MAC 地址一致。
  7. TX 流控 feature 配置寄存器
    • 地址:bar4 base address + 0x10000 + 0x1844
    • 配置:将 Bit1 设置为 1
    • 作用:使能发送侧 TX MAC 发送 PFC 帧,允许发送端根据流量情况发送 PFC 暂停帧。
  8. 设置 8 个 channel 的 XOFF 等待时间寄存器
    • 地址范围:bar4 base address + 0x10000 + 0x1880 ~ 0x189C
    • 说明:每个 channel 对应一个 offset 地址,如 PFC pause quanta 0 的 offset 地址为 0x1880,PFC pause quanta 1 的 offset 地址为 0x1884 等。对于 25G 网络,1 对应 8 个时钟周期,时钟频率 clk = 402MHz。该寄存器用于设置每个 channel 的 XOFF 等待时间,当时间到达后会自动解除 XOFF 状态。
  9. 设置 8 个 channel 的 PFC HOLD OFF 保持时间寄存器
    • 地址范围:bar4 base address + 0x10000 + 0x18A0 ~ 0x18BC
    • 说明:每个 channel 对应一个 offset 地址,如 PFC holdoff quanta 0 的 offset 地址为 0x18A0,PFC holdoff quanta 1 的 offset 地址为 0x18A4 等。该寄存器用于设置每个 channel 的 PFC HOLD OFF 保持时间,当时间到达且 PFC 标志仍为高时,会自动再次重发 PFC 帧。
  10. 使能 RX Pause 通道使能寄存器
    • 地址:bar4 base address + 0x10000 + 0x1C14
    • 配置值:0xff
    • 作用:使能接收方的 PFC 暂停通道,允许接收端接收并处理 PFC 暂停帧。
  11. RX 侧低 4 字节匹配 MAC 地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x1C1C
    • 作用:配置接收端的低 4 字节匹配 MAC 地址,该地址可以是本侧 MAC、对端 MAC 或者固定值 01 - 80 - c2 - 00 - 00 - 01。
  12. RX 侧高 2 字节匹配 MAC 地址寄存器
    • 地址:bar4 base address + 0x10000 + 0x1C20
    • 作用:配置接收端的高 2 字节匹配 MAC 地址,与低 4 字节匹配 MAC 地址共同构成完整的目的地址。
  13. RX 侧流控配置寄存器
    • 地址:bar4 base address + 0x10000 + 0x1C24
    • 配置:将 Bit1 设置为 1
    • 作用:对接收侧的流控功能进行配置,开启相关的流控处理机制。

(二)光口 mac1 的寄存器配置


光口 mac1 的寄存器配置与 mac0 基本相同,只是基地址有所不同。按照相同的配置方法对各个寄存器进行设置,即可实现光口 mac1 的 PFC 功能。

三、测试结果


经过上述寄存器配置后,系统可以正常进行 PFC 帧的收发。这表明通过合理配置 IP Core 中的寄存器,成功实现了 PFC 功能,能够有效地对不同优先级的流量进行控制,提高了网络的可靠性和服务质量,满足了实际应用场景对网络性能的要求。

总结,PFC 机制在网络流量控制方面具有重要作用,通过对 IP Core 寄存器的精细配置,可以充分发挥 PFC 的优势,为网络的稳定运行提供有力保障。
 
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0