Skip to content
33 changes: 30 additions & 3 deletions docs/PFC-test-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,17 @@
- [Test Objective](#test-objective-2)
- [Test Configuration](#test-configuration-2)
- [Test Steps](#test-steps-2)
- [Test Case #3 - GLOBAL PAUSE (IEEE 802.3x link level Flow Control)](#test-case-3---global-pause-ieee-8023x-link-level-flow-control)
- [Test Objective](#test-objective-3)
- [Test Configuration](#test-configuration-3)
- [Test Steps](#test-steps-3)

Revision of the Document

| Rev | Date | Author | Change Description |
|:---:|:---------------|:---------------------|:-----------------------------------|
| 0.1 | Aug-28-2020 | Wei Bai, Microsoft<br> Suvendu Mozumdar, Keysight | Initial version of test plan <br> More test in subsequent version |
|
| 0.1 | Aug-28-2020 | Wei Bai, Microsoft<br> Suvendu Mozumdar, Keysight | Initial version of test plan <br> More test in subsequent version |
| 0.2 | Sep-10-2020 | Wei Bai, Microsoft<br> Suvendu Mozumdar, Keysight | Inclusion of test case - 802.3x GLOBAL PAUSE |

## Overview

Expand Down Expand Up @@ -228,7 +232,7 @@ Verify Device Under Test (DUT) processes the PFC PAUSE frame with lossy prioriti
#### Test Configuration

- On SONiC Device Under Test (DUT) configure a single lossless priority value Pi (0 \<= i \<=
7).
7).
- Configure following traffic items on the Keysight device:
1. Test data traffic: A traffic item from the Keysight Tx port to
the Keysight Rx port with the lossy priorities (DSCP value !=
Expand All @@ -251,3 +255,26 @@ Verify Device Under Test (DUT) processes the PFC PAUSE frame with lossy prioriti
* Keysight Rx port should receive all the 'Background data traffic' as well as 'Test data traffic'. There should not be any loss observed.
5. Stop the PFC PAUSE storm.
6. Repeat the test with a different lossless priority value (!=Pi).

### Test Case #3 - GLOBAL PAUSE (IEEE 802.3x link level Flow Control)

<b>Note</b> : 802.3x link level Flow Control is different than IEEE 802.1Qbb PFC (Priority-based Flow Control)

#### Test Objective
Verify Device Under Test (DUT) processes the GLOBAL PAUSE frame.

#### Test Configuration
- On SONiC Device Under Test (DUT) configure lossless priority of required values Pi ( e.g., 3 and 4. )
- Configure following traffic items on the Keysight device:
1. Test data traffic: A traffic item from the Keysight Tx port to Rx port. The traffic item uses all the 64 DSCP values (0-63). PFC is enabled at all the 8 priorities of Tx port. The traffic demand is 100% line rate.
2. GLOBAL PAUSE storm: Persistent Global pause frames from the Keysight Rx port to the Keysight Tx port. And the inter-frame transmission interval should be smaller than per-frame pause duration.

#### Test Steps

1. Start GLOBAL PAUSE storm.
2. After a fixed duration (eg. 1 sec), start the Test data traffic.
3. Keep the Test data traffic running for a fixed duration (eg 5sec) and then stop the traffic item.
4. Stop the GLOBAL PAUSE storm.
5. Verify the following:
* Keysight Rx port should receive all the 'Test data traffic'. There should not be any loss observed. Throughput should be close to link capacity.
* SONiC Device Under Test (DUT) will discard all Global pause frames. However presently there is no way to check if SONiC will discard all global pause frames.