11-PFC配置
本章节下载: 11-PFC配置 (245.63 KB)
目 录
PFC(Priority-based Flow Control,基于优先级的流量控制)功能是一种精细的流量控制机制,可以满足以太网流量传输的无丢包要求,通过以太网提供无损服务。
PFC功能基于802.1p优先级对报文进行流量控制。如图1-1所示,PFC允许在一条以太网链路上创建8个虚拟通道,并为每条虚拟通道指定一个802.1p优先等级。在不影响其他通道流量转发的情况下,任意一条虚拟通道都可以单独暂停和重启。通过此机制可以实现同一接口上多种类型流量共存、多种流量共享链路。
图1-1 PFC工作原理
当本端发生拥塞时,设备会根据本端收到报文的802.1p优先级进行判别,从而确定对报文的处理方式:
· 如果收到报文的802.1p优先级开启了PFC功能,则接收该报文,并向对端发送PFC PAUSE帧,通知对端设备暂时停止发送该类报文。对端设备在接收到PFC PAUSE帧后,将暂时停止向本端发送该类报文。当拥塞仍然存在时,此过程将重复进行,直至拥塞解除。
· 如果收到报文的802.1p优先级未开启PFC功能,则直接将报文丢弃。
无论端口是否配置PFC功能,端口都可以接收PFC PAUSE帧。但只有PFC功能处于开启状态时,才对收到的PFC PAUSE进行处理。所以,必须保证本端和对端的PFC功能都处于开启状态,PFC功能才能生效。
为了避免报文在传输过程中因拥塞而发生丢包,请在报文流经的所有端口上都进行相同的PFC功能配置。
用户不可在接口下同时配置PFC功能和流量控制功能,这两个功能相互冲突。有关流量控制功能的详细介绍,请参见“接口管理配置指导”中的“以太网接口”。
(1) 进入系统视图。
system-view
(2) 开启所有接口的PFC功能。
priority-flow-control { auto | enable [ receive | send ] }
缺省情况下,PFC功能处于关闭状态。
(3) 开启所有接口的指定802.1p优先级的PFC功能。
priority-flow-control no-drop dot1p dot1p-list
缺省情况下,所有接口下802.1p优先级的PFC功能都处于关闭状态。
(4) 进入以太网接口视图。
interface interface-type interface-number
(5) 配置PFC功能的开启模式。
priority-flow-control { auto | enable [ receive | send ] }
缺省情况下,PFC功能处于关闭状态。
(6) 开启指定802.1p优先级的PFC功能。
priority-flow-control no-drop dot1p dot1p-list
缺省情况下,所有802.1p优先级的PFC功能都处于关闭状态。
接口的存储空间分为以下几种:
· Headroom存储空间。
· Shared存储空间。
· Guaranteed存储空间。
为了灵活控制PFC功能,设备提供对PFC门限进行配置,合理利用接口存储空间。目前提供以下门限设置:
· Headroom缓存门限:Headroom存储空间中某802.1p优先级报文的最大使用cell资源。当达到使用的cell资源后,该接口会丢弃收到的报文。
· 反压帧触发门限:Shared存储空间中某802.1p优先级报文在该存储空间的使用cell资源上限。达到上限后,会触发PFC功能。反压帧触发门限又分为动态反压帧触发门限和静态反压帧触发门限:
¡ 动态反压帧触发门限:设置可用cell资源的百分比。
¡ 静态反压帧触发门限:设置可用cell资源为固定值。
· 反压帧停止门限与触发门限间的偏移量:当触发反压帧触发门限后,当某802.1p优先级报文使用的cell资源减小了一个固定值时,不会再触发PFC功能。
· PFC预留门限:Guaranteed存储空间中为某802.1p优先级报文预留的cell资源。
开启指定802.1p优先级的PFC功能后,会为PFC的各种门限设置一个缺省值,此缺省值在一般的组网环境下是效果较好的参数组合,不建议用户自行调整使用。
配置PFC门限前必须开启指定802.1p优先级的PFC功能。
取消接口下PFC门限配置时,接口下的PFC门限配置会被恢复成只执行priority-flow-control no-drop dot1p后的状态。
本功能不支持预配置。有关预配置的详细介绍,请参见“基础配置指导”中的“预配置”。
(1) 进入系统视图。
system-view
(2) 配置服务池(Service Pool)的可使用的Headroom缓冲区资源上限。
priority-flow-control poolid service-pool-id headroom headroom-number
缺省情况下,未配置服务池的可使用的Headroom缓冲区资源上限。
(3) (可选)配置802.1p优先级的PFC功能的显示风格。
priority-flow-control config-style { individual | unified }
缺省情况下,PFC功能的显示风格为一体化显示风格。
(4) 进入以太网接口视图。
interface interface-type interface-number
(5) 配置PFC门限。
priority-flow-control no-drop dot1p dot1p-list [ pause-threshold { threshold-value | ratio threshold-ratio } [ headroom headroom-value | pause-threshold-offset offset-value | reserved-buffer reserved-value ] * ]
缺省情况下,所有802.1p优先级的PFC功能都处于关闭状态。
(6) (可选)配置Headroom缓存门限。
priority-flow-control dot1p dot1p headroom headroom-number
缺省情况下,未配置Headroom缓存门限。
多次执行本命令或者priority-flow-control no-drop dot1p (Ethernet interface view)命令,配置同一802.1p优先级的Headroom缓存门限,最后一次执行的命令中指定的headroom-number值生效。
(7) (可选)配置反压帧触发门限。
¡ 配置动态反压帧触发门限。
priority-flow-control dot1p dot1p ingress-buffer dynamic ratio
缺省情况下,未配置动态反压帧触发门限。
¡ 配置静态反压帧触发门限。
priority-flow-control dot1p dot1p ingress-buffer static threshold
缺省情况下,未配置静态反压帧触发门限。
(8) (可选)配置反压帧停止门限与触发门限间的偏移量。
priority-flow-control dot1p dot1p ingress-threshold-offset offset-number
缺省情况下,未配置反压帧停止门限与触发门限间的偏移量。
(9) (可选)配置PFC预留门限。
priority-flow-control dot1p dot1p reserved-buffer reserved-number
缺省情况下,未配置PFC预留门限。
多次执行本命令或者priority-flow-control no-drop dot1p (Ethernet interface view)命令,配置同一802.1p优先级的PFC预留门限,最后一次执行的命令中指定的reserved-number值生效。
当指定优先级的报文形成环路时,会导致数据缓冲区内报文无法转发,此时设备进入PFC死锁状态。
通过配置本功能,可以定期检测设备是否处于PFC死锁状态。在PFC死锁检测周期内,如果接口一直处于PFC XOFF状态,则设备进入PFC死锁状态。此时设备自动恢复时会在延迟周期结束后解除PFC死锁状态,恢复PFC功能和PFC死锁检测功能。在PFC死锁检测自动恢复的延迟周期内,设备将关闭PFC功能和PFC死锁检测功能,以便报文能够正常转发。
PFC死锁状态解除后,用户可采用自动或手工方式来恢复PFC死锁检测功能。恢复PFC死锁检测功能会让PFC功能继续生效。所以,通常情况下,使用自动恢复方式即可。当报文环路无法消除,设备频繁处于PFC死锁状态时,用户可以使用手工恢复方式,并尽快排除故障,再执行priority-flow-control deadlock recover命令,恢复PFC死锁检测功能和PFC功能。
指定的CoS值必须在priority-flow-control no-drop dot1p命令配置的802.1p优先级内。不同的CoS值对应不同的802.1p优先级,可以通过display qos map-table dot1p-lp命令查看。
用户需要在接口下开启PFC功能和指定802.1p优先级的PFC功能。
(1) 进入系统视图。
system-view
(2) 配置PFC死锁检测定时器的精度。
priority-flow-control deadlock precision { high | normal | low }
缺省情况下,PFC死锁检测定时器的精度为普通精度。
(3) 配置PFC死锁检测的周期。
priority-flow-control deadlock cos cos-value interval interval [ pause-recover ]
缺省情况下,未配置PFC死锁检测的周期。
(4) 配置PFC死锁检测自动恢复的延迟周期。
priority-flow-control deadlock auto-recover cos cos-value delay delay-time
缺省情况下,未配置PFC死锁检测的恢复周期。
(5) 配置设备在自动恢复PFC死锁检测的延迟时间内对报文的处理动作。
priority-flow-control deadlock auto-recover action { discard | forwarding }
缺省情况下,设备在自动恢复PFC死锁检测的延迟时间内转发收到的数据报文。
(6) 配置在指定周期内发生PFC死锁的上限次数。
priority-flow-control deadlock threshold cos cos-value period period count count
缺省情况下,未配置指定周期内发生PFC死锁的上限次数。
(7) 进入以太网接口视图。
interface interface-type interface-number
(8) 配置PFC死锁检测功能的恢复方式。
priority-flow-control deadlock recover-mode { auto | manual }
缺省情况下,PFC死锁检测功能恢复方式为自动恢复方式。
(9) 开启PFC死锁检测功能。
priority-flow-control deadlock enable
缺省情况下,PFC死锁检测功能处于关闭状态。
(10) (可选)手工恢复PFC死锁检测功能。
priority-flow-control deadlock recover
配置PFC死锁检测功能的恢复方式为manual时,只有配置本命令才能恢复PFC死锁检测功能。
用户可根据实际组网情况,配置接口入方向或者出方向PFC报文的预警门限。预警门限用于PFC报文传输速率处于正常范围内,但需要提醒用户提前关注的情况。
当接口接收或发送PFC报文的速率达到预警门限时,系统会生成Trap和日志信息来提醒用户,以提前发现网络中的一些异常问题。例如:
· 对端设备网卡故障,不停地持续高速发送PFC帧,可以配置入方向预警门限进行监控。
· 本设备故障后不停发送PFC帧,可以配置出方向预警门限进行监控。
· 如果有双向监控需求的,可以在入和出方向都配置预警门限进行监控。
仅当PFC功能处于开启状态时,才会统计该接口接收和发送的PFC帧数量,本功能配置的预警门限才能生效。
(1) 进入系统视图。
system-view
(2) 进入以太网接口视图。
interface interface-type interface-number
(3) 配置入方向PFC报文的预警门限。
priority-flow-control early-warning dot1p dot1p-list inpps pps-value缺省情况下,未配置入方向PFC报文的预警门限。
(4) 配置出方向PFC报文的预警门限。
priority-flow-control early-warning dot1p dot1p-list outpps pps-value缺省情况下,未配置出方向PFC报文的预警门限。
可在任意视图下执行以下命令:
· 显示接口的PFC信息。
display priority-flow-control interface [ interface-type [ interface-number ] ]
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!