-
Notifications
You must be signed in to change notification settings - Fork 2
Description
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:
-
A single interface connected to a link peer which the test cannot
control. -
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.