On Wed, 23 Sep 2026 05:20:51 +0200
Thomas Monjalon <[email protected]> wrote:

> Remove rows which are not useful in the NIC feature overview:
> documentation availability, basic stats and link status.
> The last two are always implemented so they are not really useful
> in the matrix but their description are kept in features.rst.
> 
> Merge Rx/Tx variants when the support is identical:
> descriptor status and runtime queue setup.
> 
> Signed-off-by: Thomas Monjalon <[email protected]>
> ---

Looks good, I checked build.
You should update the fields you are removing in the overview part.

Other changes that would help in this area:
   - have check-doc-vs-code cover all the features
   - make sure AGENTS.md has coverage of the features doc
   - make sure all offloads covered. I notice rx timestamp isn't

Might be good to split up into multiple tables?
   - OS support
   - Arch support
   - Ethdev ops
   - Offloads

PS: AI is good at auditing and refactoring docs like this.


AI review found:
Review: [PATCH 1/3..3/3] doc: overview matrices and NIC feature cleanup
From: Thomas Monjalon <[email protected]>

Series summary

Patch 3 does not apply to main (626b7f1). The ice.ini context changed
in 0cc7493 ("net/ice: enable context desc offloads for vector Tx"),
which flipped Inner L3/L4 checksum from P to Y. Trivial rebase. After
fixing ice.ini by hand, no removed key remains in any ini file.

Post-rebase html build (Sphinx 9.1.0, rtd theme 3.1.0) is clean, no
unknown-feature warnings from conf.py. All generated tables carry the
matrix class. Rx/Tx values were identical in every ini before the
merge (27 descriptor status, 13 runtime queue setup). The single
header row takes row-odd, so tbody tr.row-even selects the same rows
as the old nth-child(2n-1).


Patch 1/3: doc: move CSS of overview matrices

Warning:

- generate_overview_table() still takes table_id, which only existed
  to build the #idN selectors in print_table_css(). All 21 callers in
  setup() still pass it. Drop the parameter and the arguments.

Info:

- The .align-default qualifier is there only to reach specificity
  (0,4,x) and beat rtd rules such as
  ".rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td".
  That class comes from a Sphinx transform added in 2.1. With older
  Sphinx (1.7 on RHEL 8) most matrix rules stop matching and the
  table renders unstyled; the ID selectors had no such dependency.
  Repeating the class (table.matrix.matrix.docutils) gives the same
  specificity without relying on Sphinx internals.


Patch 3/3: doc: simplify NIC feature matrices

Warning:

- doc/guides/nics/overview.rst line 22 still lists "documentation
  availability" among the differences summarized below. No longer
  true once the Usage/Design/Perf doc rows are removed.

Info:

- mana.ini had "Link status = P": mana_dev_link_update() always
  reports up at a fixed 100G since MANA has no carrier state. The
  matrix was the only place this showed; mana.rst does not mention
  it. Worth a line in the mana.rst limitations.

- features.rst Basic stats says "These apply to all drivers." Link
  status is kept for the same reason but has no such note. Add it so
  readers do not go looking for the row in the matrix.

- vdpadevs/features/default.ini still has Usage doc, Design doc and
  Perf doc rows. Same rationale applies; follow-up patch.

- Commit message: "their description are kept" should be "their
  descriptions are kept".

Reply via email to