Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Support for F-Tile HE-HSSI 200G/400G #3037

Merged
merged 44 commits into from
Nov 7, 2023

Conversation

anandhv
Copy link
Contributor

@anandhv anandhv commented Nov 7, 2023

Description

This change adds a new 'command' to the 'hssi' utility (which was originally built using the afu-test framework) to support the 200G/400G HE-HSSI AFU (host exerciser high speed serial interface accelerator functional unit). 'HSSI' is synonymous with 'Ethernet'. The HE-HSSI AFU is only useful when compiled with a FIM that contains the HSSI-SubSystem (HSSI-SS) (i.e. the actual Ethernet interface).

The 200G/400G HE-HSSI AFU differs from the 10G/100G HE-HSSI AFUs in that it contains a new traffic generator IP (TG) to drive the 200G/400G HSSI-SS in the FIM. A new TG is needed to support MAC-segmented signaling on the HSSI-SS, which is required for the faster speeds.

Like other 'commands', the utility looks for the specific AFU-ID of the 200G/400G HE-HSSI AFU and will otherwise error out.

The TG simply reads packet data from a ROM, therefore that data is fixed at compile time. The ROM end-address is different for 200G vs 400G. There is a read-only register in the AFU that is read to discern which speed the given AFU supports.

The ROM contains 32 x 1482-byte packets. The TG has a CSR to specify how many times the ROM shall be read (called the 'ROM loop count') and we use this to control the total number of packets transmitted.

The only argument is --num-packets.

The utility displays the measured throughput and other useful information.

It assumes the 200G AFU variant contains two Ethernet ports, and the 400G variant contains one Ethernet port.

Collateral (docs, reports, design examples, case IDs):

  • Document Update Required? Yes
  • The 'hssi' utility readme has been updated. PR is here.

Tests added:

Tests run:

  • Manually tested against 200G/400G FIM+HE-HSSI on F-Series Dev Kit.

@anandhv anandhv requested a review from a team as a code owner November 7, 2023 19:55
@coveralls
Copy link

Pull Request Test Coverage Report for Build 6789624540

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 68.161%

Totals Coverage Status
Change from base Build 6774453596: 0.0%
Covered Lines: 15754
Relevant Lines: 23113

💛 - Coveralls

@anandhv anandhv merged commit a4be9ef into OFS:master Nov 7, 2023
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants