Priority-based Flow Control (PFC)
Priority-based flow control (PFC), based on the IEEE 802.1Qbb standard, is a link-level flow control mechanism that extends the capabilities of IEEE 802.3x-based Ethernet flow control. With the 802.3x standard, when a receiving interface experiences congestion, it can send a pause frame to the transmitting interface to suspend the flow of traffic for all priority values. PFC operates using a similar pause frame, but unlike 802.3x, the PFC pause frame can encode a different pause time for each of the eight different 802.1p CoS values. Instead of suspending traffic for all priority values at once, PFC suspends the flow of traffic for individual priority values. The pause time is measured in quanta, which is the time to transmit 512 bits (and where a quanta value of 0 indicates to unpause).
The main application of PFC is to support Fibre channel over Ethernet (FCoE). With FCoE, the FC-2 Fibre Channel layer assumes a lossless medium. When a receiving interface exceeds its buffer threshold, the interface sends pause frames to the transmitter to stop it from sending more FCoE frames.
SR Linux supports only statically-enabled PFC, and only for unicast traffic. SR Linux also supports the Data Center Bridging Capability Exchange (DCBX) protocol for the exchange of PFC data between peers to identify misconfigurations. However, autonegotiation of PFC settings using DCBX is not supported.
The PFC feature can be enabled on a per-interface and per-priority basis.
On an interface, PFC and traditional 802.3x-based Ethernet flow control (interface ethernet flow-control) are mutually exclusive.
Basic operation
- When an interface receives a packet at ingress, it is assigned a specific PFC queue based on mapping from the incoming packet's FC or dot1p value.
- The PFC feature monitors for congestion on the interface ingress buffers at the level of each PFC queue.
- When PFC detects congestion in a PFC queue based on exceeding the mbs (on 7220 IXR) or pfc-on-threshold (defined as a percentage of MBS on 7250 IXR), it signals the upstream traffic-transmitting interface to pause sending traffic of that particular priority.
- On the traffic-transmitting interface, a PFC priority can be associated with a single unicast egress queue. So when the traffic-transmitting interface receives a PFC pause frame from the traffic-receiving interface, it pauses traffic on the egress queue associated with that PFC priority.
The following sections provide platform-specific implementation details for PFC.
PFC on 7250 IXR platforms
The following sections describe PFC operation on 7250 IXR-6e/10e/18e/X1b/X3b platforms.
Ingress PFC operation on the traffic-receiving interface (7250 IXR)
On 7250 IXR-6e/10e/18e/X1b/X3b platforms, the operation of PFC on a traffic-receiving interface is a function of the following elements:
Mapping of forwarding classes to PFC queues
The incoming packets are mapped to one of eight PFC queues based on the forwarding class index of the packet, as determined by the applicable subinterface-level classification policy. The following table shows the default mapping of forwarding class index values to PFC queue values.
| Forwarding class index | PFC queue |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
You can also display this mapping using the info from state qos interfaces interface <interface> pfc pfc-queue pfc* forwarding-class command.
In addition, the PFC queues are associated one-to-one with the PFC priority values; that is, PFC queue 0 is associated with priority 0, PFC queue 1 is associated with priority 1, and so on.
Receive buffer sections
The interface buffer serves eight PFC queues, each having a length equal to the maximum burst size (MBS), as defined in the PFC queue settings of the buffer allocation profile.
Pause frame generation thresholds (percentage of MBS)
The system generates PFC pause frames for a PFC queue after the queue length reaches the pfc-on-threshold value, and stops generating PFC pause frames after the queue length falls under the pfc-off-threshold value. Both values are defined in the buffer allocation profile as a percentage of the PFC queue MBS.
Egress PFC operation on the traffic-transmitting interface (7250 IXR)
On 7250 IXR-6e/10e/18e/X1b/X3b platforms, the operation of PFC on the traffic-transmitting (and therefore PFC pause frame-receving) interface is a function of the following elements:
Pause frame priority to egress queue mapping
The mapping of PFC pause frame priorities to egress queues is configurable in the PFC mapping profile. This profile determines which egress queues react to which PFC pause frame priorities. A single PFC pause frame priority can be configured per egress queue. When the transmitting system receives a PFC pause frame from a downstream receiver, it stops transmitting from the applicable queue. If the given egress queue is configured to react to a PFC priority of 1, it does so as long as the PFC pause frame contains a PFC priority of 1, whether or not traffic of other priorities is present in the queue.
Deadlock recovery
SR Linux also supports a deadlock recovery mechanism, which prevents permanent shutdown of the egress interface based on deadlock timers configured in the PFC mapping profile. When the deadlock timers are configured, if a queue receives PFC pause frames that prevent it from forwarding traffic for longer than the defined detection period, the system ignores the PFC pause frames on the queue and resumes forwarding traffic for a defined recovery period.
PFC on 7220 IXR platforms
The following sections describe PFC operation on 7220 IXR-H4/H5/D4/D5platforms.
Ingress PFC operation on the traffic-receiving interface (7220 IXR)
On 7220 IXR-H4/H5/D4/D5 platforms, the operation of PFC on a traffic-receiving interface is a function of the following elements:
Mapping of dot1p or forwarding class values to PFC queues
The PFC mapping profile maps ingress packets into one of eight PFC queues based on the packet's dot1p value (for tagged frames) or forwarding class (for untagged frames), as determined by the applicable subinterface classification policy. Multiple dot1p values or forwarding classes can be mapped into a single PFC queue. However, dot1p and forwarding class settings are mutually exclusive within a single PFC mapping profile.
Receive buffer allocation
The main difference in PFC operation between the 7250 IXR platforms and the 7220 IXR platforms is the size of the receive buffer. 7220 IXR-H4/H5/D4/D5 platforms have a smaller buffering capacity than the 7250 IXR platforms. As a result, the PFC queues share the interface buffer dynamically.
The buffer allocation profile includes the following options for allocating available buffer space to the PFC queues:
- The maximum-burst-size command allocates the maximum amount of shared buffer memory available for an individual PFC queue.
- The maximum-pfc-reserved-share-percentage command (or alternatively, maximum-pfc-reserved-share-bytes) defines the maximum level the PFC queue can take from the PFC reserved buffer per forwarding complex, to prevent starvation of other PFC queues.
PFC buffer reservation
On 7220 IXR-H4/H5/D4/D5 platforms, a PFC buffer reservation section is required for PFC queues to accommodate in-flight frames (the frames which are received after the PFC pause frame has been generated to the sender, but the sender has not yet reacted to it). The PFC buffer reservation section is implemented on each forwarding complex using the qos linecard forwarding-complex input pfc-buffer-reservation command. You must provision this buffer space to accommodate for in-flight frames depending on the number of PFC-enabled queues and their respective speed.
Pause frame generation based on MBS
In the PFC mapping profile, a single PFC pause frame priority can be mapped per individual PFC queue. When a PFC queue is congested (queue size reaches the MBS, as defined in the buffer allocation profile), the system generates a PFC pause frame indicating the priority that is experiencing the congestion. When the queue size falls below MBS, the system stops generating the PFC pause frames.
Egress PFC operation on the traffic-transmitting interface (7220 IXR)
On 7220 IXR-H4/H5/D4/D5 platforms, the operation of PFC on the traffic-transmitting (and therefore PFC pause frame-receiving) interface is a function of the following elements:
Pause frame priority to egress queue mapping
The mapping of PFC pause frame priorities to egress queues is configurable using a PFC mapping profile. This profile determines which egress queues react to which PFC pause frame priorities. A single PFC pause frame priority can be configured per egress queue. When the transmitting system receives a PFC pause from a downstream receiver, it stops transmitting from the applicable queue. If the egress queue is configured to react to a PFC priority of 1, it does so as long as the PFC pause frame contains the PFC priority of 1, whether or not traffic of other priorities is present in the queue. All traffic in the egress queue remains paused until either the pause time expires or the interface receives an unpause message from the downstream receiver.
Deadlock recovery
SR Linux supports a deadlock recovery mechanism, which prevents permanent shutdown of the egress queue based on deadlock timers configured in the PFC mapping profile. When the deadlock timers are configured, if a queue receives PFC pause frames that prevent it from forwarding traffic for longer than the defined detection period, the system ignores the PFC pause frames on the queue and resumes forwarding traffic for a defined recovery period.
PFC configuration
The following table describes the configuration elements available for the PFC feature.
| Element | Description |
|---|---|
|
PFC queue name and index |
Defines a custom PFC queue name and index (similar to custom egress queue configuration) |
|
PFC mapping profile |
|
|
Buffer allocation profile |
|
|
Ingress PFC administrative state (interface-level) |
Determines whether PFC is enabled at ingress on the interface |
|
PFC buffer reservation |
Defines the PFC buffer reservation per forwarding complex (on 7220 IXR-H4/H5/D4/D5) |
At ingress, the PFC feature can be enabled per interface only (using the interface pfc-enable command), while at egress, PFC can be enabled or disabled for each egress queue using a PFC mapping profile, which is then applied to an interface.
Default PFC mapping profile
By default, PFC is disabled on SR Linux interfaces. However, a default PFC mapping profile named default is attached to all interfaces. As a result, if the PFC feature is enabled at the interface level, the default profile is available to support the feature.
The PFC behavior can be altered using a custom-defined PFC mapping profile. When a new PFC mapping profile is created, all parameters are initially populated with the same values as the default profile.
To view the default profile, use the info from state qos pfc-mapping-profile default command.
Default PFC buffer allocation profile
The system also provides a default buffer allocation profile (pfc-default). To view this profile, use the info from state qos buffer-management buffer-allocation-profile pfc-default command.
Configuring PFC queue name and index (ingress)
To configure a custom PFC queue name and associate it with an index, use the qos queues pfc-queue command.
Configure a PFC queue
--{ + candidate shared default }--[ ]--
# info with-context qos queues pfc-queue pfc-0
qos {
queues {
pfc-queue pfc-0 {
queue-index 0
}
}
}
Configuring PFC mapping profiles
To configure a PFC mapping profile, use the qos pfc-mapping-profile command, which defines PFC settings using the following contexts:
-
pfc-priority — configures the administrative state of the PFC priorities.
-
received-pfc-pause-frames — configures the egress (PFC pause frame receiver) parameters.
- received-traffic (configurable on 7220 IXR-H4/H5/D4/D5
only)
— configures the ingress (traffic receiver) parameters. At
ingress, PFC can be enabled per interface only. Note: On 7250 IXR-6e/10e/18e/X1b/X3b platforms, the ingress mapping of forwarding class indexes to PFC queues is static, therefore this option is not available. See Ingress PFC operation on the traffic-receiving interface (7250 IXR).
Configure a PFC mapping profile (7250 IXR-6e/10e/18e/X1b/X3b)
The following example shows the PFC mapping profile configuration on 7250 IXR-6e/10e/18e/X1b/X3b platforms, including the following egress parameters (under received-pfc-pause-frames):
- deadlock — specifies the deadlock state and timers
- queue — specifies the PFC priority associated with the egress queue (referenced queue is the egress queue, not the PFC queue)
--{ + candidate shared default }--[ ]--
# info with-context qos pfc-mapping-profile custom-pfc-mapping-profile
qos {
pfc-mapping-profile custom-pfc-mapping-profile {
pfc-priority 0 {
pfc-enable true
}
received-pfc-pause-frames {
deadlock {
enable true
detection-timer 750
recovery-timer 750
}
queue unicast-0 {
pfc-pause-frame-priority 0
}
}
}
}
Configure a PFC mapping profile (7220 IXR-H4/H5/D4/D5)
The following example shows the PFC mapping profile configuration on 7220 IXR-H4/H5/D4/D5 platforms, including the following ingress parameter (under received-traffic):
- pfc-queue — defines the PFC queue mapping to PFC priority and to dot1p or forwarding class values
The example also configures the following egress settings (under received-pfc-pause-frames):
- deadlock — specifies the deadlock state and timers
- queue — specifies the PFC priority associated with the egress queue
--{ * candidate shared default }--[ ]--
# info with-context qos pfc-mapping-profile custom-pfc-mapping-profile
qos {
pfc-mapping-profile custom-pfc-mapping-profile {
pfc-priority 0 {
pfc-enable true
}
received-traffic {
unicast-mapping {
pfc-queue pfc-0 {
forwarding-class fc0
pfc-pause-frame-priority 0
}
}
}
received-pfc-pause-frames {
deadlock {
enable true
detection-timer 750
recovery-timer 750
}
queue unicast-0 {
pfc-pause-frame-priority 0
}
}
}
}
Applying a PFC mapping profile to an interface
To apply a PFC mapping profile to an interface, use the qos interfaces interface pfc pfc-mapping-profile command.
Apply a PFC mapping profile to an interface
--{ + candidate shared default }--[ ]--
# info with-context qos interfaces interface eth-1/4
qos {
interfaces {
interface eth-1/4 {
interface-ref {
interface ethernet-1/4
}
pfc {
pfc-mapping-profile custom-pfc-mapping-profile
}
}
}
}
Configuring a buffer allocation profile for PFC
A buffer allocation profile can define settings for either PFC queues (as shown in this procedure) or for egress queues (see Buffer allocation profile). Because the buffer allocation profile can be applied to an interface under different contexts (input for PFC queues and output for egress queues), SR Linux blocks the configuration of PFC queues and egress queues in the same profile.
To configure a buffer allocation profile for PFC, use the qos buffer-management buffer-allocation-profile command.
Configure a buffer allocation profile for PFC (7250 IXR-6e/10e/18e/X1b/X3b)
The following example shows the buffer allocation profile configuration on 7250 IXR-6e/10e/18e/X1b/X3b platforms, including the following PFC queue ingress settings:
- maximum-burst-size — MBS
- pfc-on-threshold, pfc-off-threshold — PFC thresholds (on and off)
The 7250 IXR platforms support only one custom non-default buffer allocation profile.
--{ + candidate shared default }--[ ]--
# info with-context qos buffer-management buffer-allocation-profile custom-pfc-buffer-profile
qos {
buffer-management {
buffer-allocation-profile custom-pfc-buffer-profile {
queues {
pfc-queue pfc-0 {
maximum-burst-size 102400
pfc-on-threshold 100
pfc-off-threshold 80
}
}
}
}
}
Configure a buffer allocation profile for PFC (7220 IXR-H4/H5/D4/D5)
The following example shows the buffer allocation profile configuration on 7220 IXR-H4/H5/D4/D5 platforms, including the following PFC queue ingress settings:
- maximum-burst-size — MBS
- maximum-pfc-reserved-share-percentage — Maximum level the PFC queue can take from the PFC reserved buffer per forwarding complex
--{ candidate shared default }--[ qos buffer-management ]--
# info with-context qos buffer-management buffer-allocation-profile custom-pfc-buffer-profile
qos {
buffer-management {
buffer-allocation-profile custom-pfc-buffer-profile {
queues {
pfc-queue pfc-0 {
maximum-burst-size 102400
maximum-pfc-reserved-share-percentage 10
}
}
}
}
}
Applying a PFC buffer allocation profile to an interface
To apply a buffer allocation to an interface, use the qos interfaces interface input pfc-buffer-allocation-profile command.
Apply buffer allocation profile for PFC
--{ candidate shared default }--[ ]--
#info with-context qos interfaces interface eth-1/4
qos {
interfaces {
interface eth-1/4 {
interface-ref {
interface ethernet-1/4
}
input {
pfc-buffer-allocation-profile custom-pfc-buffer-profile
}
}
}
}
Enabling ingress PFC on an interface
Ingress PFC refers to the ability of an interface to react to received PFC frames. With ingress PFC enabled, when the interface receives a PFC pause frame, it pauses the transmission of traffic from the egress queue associated with that priority. If ingress PFC is not enabled and the interface receives a pause frame, it continues to transmit traffic as normal.
--{ + candidate shared default }--[ ]--
# info with-context interface ethernet-1/4 ethernet flow-control
interface ethernet-1/4 {
ethernet {
flow-control {
receive false
}
}
}
To enable ingress PFC on an interface, use the pfc-enable true command.
Enable ingress PFC on an interface
--{ candidate shared default }--[ ]--
# info with-context qos interfaces interface eth-1/4
qos {
interfaces {
interface eth-1/4 {
interface-ref {
interface ethernet-1/4
}
pfc {
pfc-enable true
}
}
}
}
Configuring the PFC buffer reservation (7220 IXR-H4/H5/D4/D5)
On 7220 IXR-H4/H5/D4/D5 platforms, to configure the PFC buffer reservation section, use the qos linecard forwarding-complex input pfc-buffer-reservation command. This command defines the buffer reservation section as a percentage of the total buffer available.
Configure PFC buffer reservation (7220 IXR-H4/H5/D4/D5)
--{ * candidate shared default }--[ ]--
# info with-context qos linecard 1 forwarding-complex 0 input pfc-buffer-reservation
qos {
linecard 1 {
forwarding-complex 0 {
input {
pfc-buffer-reservation 1
}
}
}
}
On 7250 IXR-6e/10e/18e/X1b/X3b platforms, the PFC buffer reservation section is set to a fixed, non-configurable size; therefore, this configuration does not apply.
Displaying PFC headroom buffer utilization (7220 IXR-H4/H5/D4/D5)
On 7220 IXR-H4/H5/D4/D5 platforms, you can display the PFC headroom buffer utilization using the info from state platform linecard forwarding-complex buffer-memory pfc-headroom-buffer command with one of the following options:
- used — displays the used PFC headroom buffer space
- free — displays the free PFC headroom buffer space
Display PFC headroom buffer utilization (7220 IXR-H4/H5/D4/D5)
--{ candidate shared default }--[ ]--
# info with-context from state platform linecard 1 forwarding-complex 0 buffer-memory pfc-headroom-buffer
platform {
linecard 1 {
forwarding-complex 0 {
buffer-memory {
pfc-headroom-buffer {
used 160782
free 0
}
}
}
}
}
Displaying per-interface PFC buffer usage
To display buffer usage per PFC interface, use the info from state qos interfaces interface pfc command.
Display per-interface PFC buffer usage (7220 IXR)
--{ candidate shared default }--[ ]--
# info from state qos interfaces interface ethernet-1/1 pfc
pfc-mapping-profile 1
pfc-enable true
source-pfc-mac 00:00:5e:00:53:4B
deadlock-detection-timer 0
statistics {
total-pfc-pause-frames-received 0
total-pfc-pause-frames-generated 1294985
total-packet-pfc-discards 0
pfc-priority 0 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 1298805
pfc-transitions 0
deadlock-recovery-occurrences 0
}
...
pfc-priority 7 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 1298798
pfc-transitions 0
deadlock-recovery-occurrences 0
}
}
pfc-queue pfc-0 {
pfc-enable true
pfc-maximum-burst-size 4738116
pfc-maximum-pfc-reserved-share 3048
pfc-buffer-used 4738116
pfc-reserved-buffer-used 3048
}
...
pfc-queue pfc-7 {
pfc-enable true
pfc-maximum-burst-size 6409182
pfc-maximum-pfc-reserved-share 1016
pfc-buffer-used 6409182
pfc-reserved-buffer-used 762
}
Display per-interface PFC buffer usage (7250 IXR)
--{ candidate shared default }--[ ]--
# info from state qos interfaces interface ethernet-1/1 pfc
pfc-mapping-profile 1
pfc-enable true
source-pfc-mac 00:00:5e:00:53:38
deadlock-detection-timer 0
statistics {
total-pfc-pause-frames-received 0
total-pfc-pause-frames-generated 1447818
total-packet-pfc-discards 0
pfc-priority 0 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 1447722
pfc-transitions 0
deadlock-recovery-occurrences 0
}
...
pfc-priority 7 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 1447718
pfc-transitions 0
deadlock-recovery-occurrences 0
}
}
pfc-queue pfc-0 {
pfc-enable true
forwarding-class fc0
pfc-on-threshold-bytes 204544
pfc-off-threshold-bytes 196352
pfc-maximum-burst-size 206592
pfc-buffer-used 224640
peak-pfc-buffer-used 224640
}
...
pfc-queue pfc-7 {
pfc-enable true
forwarding-class fc7
pfc-on-threshold-bytes 94464
pfc-off-threshold-bytes 13824
pfc-maximum-burst-size 113664
pfc-buffer-used 103680
peak-pfc-buffer-used 103680
}
Displaying per-queue PFC buffer usage
To display buffer usage per PFC queue on an interface, use the info from state qos interfaces interface pfc pfc-queue command with one of the following options:
- pfc-buffer-used – displays the PFC buffer usage by PFC queue
- pfc-maximum-burst-size – displays the actual maximum burst size of the PFC queue
- pfc-maximum-pfc-reserved-share (7220 IXR only) – displays the actual maximum share the PFC queue can take from the PFC reserved buffer configured for a given forwarding complex
- pfc-reserved-buffer-used (7220 IXR only) – displays the reserve PFC buffer usage by PFC queue
- forwarding-class (7250 IXR only) – displays the forwarding class mapped to the specified PFC queue
- peak-pfc-buffer-used (7250 IXR only) – displays the peak value for PFC buffer usage by PFC queue (the highest value since the last reboot)
- pfc-off-threshold-bytes (7250 IXR only) – displays the actual off-threshold of the PFC queue
- pfc-on-threshold-bytes (7250 IXR only) – displays the actual on-threshold of the PFC queue
Display per-queue PFC buffer usage (7220 IXR)
# info from state qos interfaces interface ethernet-1/1 pfc pfc-queue pfc-0
pfc-enable true
pfc-maximum-burst-size 4738116
pfc-maximum-pfc-reserved-share 3048
pfc-buffer-used 4738116
pfc-reserved-buffer-used 3048
Display per-queue PFC buffer usage (7250 IXR)
# info from state qos interfaces interface ethernet-1/1 pfc pfc-queue pfc-0
pfc-enable true
forwarding-class fc0
pfc-on-threshold-bytes 204544
pfc-off-threshold-bytes 196352
pfc-maximum-burst-size 206592
pfc-buffer-used 256608
peak-pfc-buffer-used 256608
Displaying PFC statistics
To display PFC statistics, use the info from state command.
Display PFC statistics
The following example displays PFC statistics for 7250 IXR platforms. On 7220 IXR-H4/H5/D4/D5 platforms, the output differs in that the pfc-on-threshold-bytes and pfc-off-threshold-bytes fields do not apply.
--{ + candidate shared default }--[ ]--
# info with-context from state qos interfaces interface eth-1/4 pfc
qos {
interfaces {
interface eth-1/4 {
pfc {
pfc-mapping-profile 1
source-pfc-mac A8:24:B8:82:E7:70
oper-state up
deadlock-detection-timer 0
statistics {
total-pfc-pause-frames-received 0
total-pfc-pause-frames-generated 9906478
total-packet-pfc-discards 0
pfc-priority 0 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 9906478
pfc-transitions 0
}
pfc-priority 1 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 0
pfc-transitions 0
}
pfc-priority 2 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 0
pfc-transitions 0
}
pfc-priority 3 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 0
pfc-transitions 0
}
pfc-priority 4 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 0
pfc-transitions 0
}
pfc-priority 5 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 0
pfc-transitions 0
}
pfc-priority 6 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 0
pfc-transitions 0
}
pfc-priority 7 {
pfc-pause-frames-received 0
pfc-pause-frames-generated 0
pfc-transitions 0
}
}
pfc-queue pfc-0 {
pfc-on-threshold-bytes 230400
pfc-off-threshold-bytes 179456
pfc-maximum-burst-size 256000
pfc-maximum-pfc-reserved-share 10485760
forwarding-class [
fc0
]
}
pfc-queue pfc-1 {
pfc-on-threshold-bytes 230400
pfc-off-threshold-bytes 179456
pfc-maximum-burst-size 256000
pfc-maximum-pfc-reserved-share 10485760
forwarding-class [
fc1
]
}
pfc-queue pfc-2 {
pfc-on-threshold-bytes 230400
pfc-off-threshold-bytes 179456
pfc-maximum-burst-size 256000
pfc-maximum-pfc-reserved-share 10485760
forwarding-class [
fc2
]
}
pfc-queue pfc-3 {
pfc-on-threshold-bytes 230400
pfc-off-threshold-bytes 179456
pfc-maximum-burst-size 256000
pfc-maximum-pfc-reserved-share 10485760
forwarding-class [
fc3
]
}
pfc-queue pfc-4 {
pfc-on-threshold-bytes 230400
pfc-off-threshold-bytes 179456
pfc-maximum-burst-size 256000
pfc-maximum-pfc-reserved-share 10485760
forwarding-class [
fc4
]
}
pfc-queue pfc-5 {
pfc-on-threshold-bytes 230400
pfc-off-threshold-bytes 179456
pfc-maximum-burst-size 256000
pfc-maximum-pfc-reserved-share 10485760
forwarding-class [
fc5
]
}
pfc-queue pfc-6 {
pfc-on-threshold-bytes 230400
pfc-off-threshold-bytes 179456
pfc-maximum-burst-size 256000
pfc-maximum-pfc-reserved-share 10485760
forwarding-class [
fc6
]
}
pfc-queue pfc-7 {
pfc-on-threshold-bytes 230400
pfc-off-threshold-bytes 179456
pfc-maximum-burst-size 256000
pfc-maximum-pfc-reserved-share 10485760
forwarding-class [
fc7
]
}
}
}
}
}