Skip to content

Write some tests for ethtool Pause configuration #12

@lunn

Description

@lunn

Many MAC driver/developers of MAC drivers, get pause wrong. It would
be good to have some tests of the ethtool API exercising this API, for
real MAC drivers.

It probably makes sense to consider two hardware setups:

  1. A single interface connected to a link peer which the test cannot
    control.

  2. A pair of interfaces where the test can control both
    interfaces. This might be one host with a loopback cable between
    two interfaces, or two hosts.

With 1) some basic local API tests can be made, but the full API
cannot be tested. With 2) all negotiation options/forced modes should
be testable.

Testing the MAC correctly send/receives pause frames and acts upon
them is out of scope for this work. This is simply about the
implementation of the ethtool API, and negotiation with the link peer.

Work items:

Write a wall of text for a test specification. Trawl the netdev list
to find the common errors, and ensure the tests will detect them. The
aim should be this test can be become comments in the test
implementation aiding developers to understand why their
implementation fails tests.

Review by subject experts, fixup text, rinse, repeat

Implement the tests, and test on a couple of different hardware
platforms, ideally some that are broken.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions