From: John McNamara <john.mcnamara@intel.com>
To: dev@dpdk.org
Cc: John McNamara <john.mcnamara@intel.com>
Subject: [dpdk-dev] [PATCH v1] doc: autogenerate nic overview table from ini files
Date: Thu, 30 Jun 2016 19:03:36 +0100 [thread overview]
Message-ID: <1467309817-11739-1-git-send-email-john.mcnamara@intel.com> (raw)
This patch converts the NIC feature table in the overview doc into a set of
ini files and adds some functions into the Sphinx conf.py file to convert them
back into an RST table.
The reason for doing this is to make it easier for PMD maintainers to update
the feature matrix that makes up the table and to avoid frequent and hard to
resolve conflicts in doc/guides/nics/overview.rst.
A NIC/PMD feature matrix is now an ini file like the following:
$ head doc/guides/nics/nic_features/i40e.ini
;
; Features of the i40e network driver.
;
[Features]
Speed capabilities =
Link status = Y
Link status event = Y
Queue status event =
Rx interrupt = Y
Queue start/stop = Y
...
The output RST table matches the existing table with the column headers
sorted.
Notes:
* In order to avoid the merge conflict issue noted above the RST table is now
in an external RST include file and excluded from the repo via .gitignore.
* The order of the features in the table is controlled by a 'default.ini'
file. This also determines what are the allowable features in all other ini
files. This also catches typos or non-default new entries.
* Blank entries in the PMD ini files are optional. They will get a default
blank entry in the RST table based on the entries in the default.ini file.
The ini files in this patch were generated programmatically from the
original RST table.
* I tried to put the Python code in a sub-module called from the Sphinx conf.py
but I could only get that to work in Sphinx 1.4.4. So, for now, the code has
been added to conf.py.
* I would like to extend this to produce a pure Html table with rotated column
headers like this: https://css-tricks.com/rotated-table-column-headers/
I tried to get this to work within the current RST + CSS preamble but
failed.
* I would also like to extend this to produce a table, or more likely a number
of tables, that would display the same information in the PDF document
without going off the page.
John McNamara (1):
doc: autogenerate nic overview table from ini files
.gitignore | 2 +
doc/guides/conf.py | 155 +++++++++++++++++++++++++++
doc/guides/nics/nic_features/afpacket.ini | 64 +++++++++++
doc/guides/nics/nic_features/bnx2x.ini | 64 +++++++++++
doc/guides/nics/nic_features/bnx2x_vf.ini | 64 +++++++++++
doc/guides/nics/nic_features/bnxt.ini | 64 +++++++++++
doc/guides/nics/nic_features/bonding.ini | 64 +++++++++++
doc/guides/nics/nic_features/cxgbe.ini | 64 +++++++++++
doc/guides/nics/nic_features/default.ini | 68 ++++++++++++
doc/guides/nics/nic_features/e1000.ini | 64 +++++++++++
doc/guides/nics/nic_features/ena.ini | 64 +++++++++++
doc/guides/nics/nic_features/enic.ini | 64 +++++++++++
doc/guides/nics/nic_features/fm10k.ini | 64 +++++++++++
doc/guides/nics/nic_features/fm10k_vec.ini | 64 +++++++++++
doc/guides/nics/nic_features/fm10k_vf.ini | 64 +++++++++++
doc/guides/nics/nic_features/fm10kvf_vec.ini | 64 +++++++++++
doc/guides/nics/nic_features/i40e.ini | 64 +++++++++++
doc/guides/nics/nic_features/i40e_vec.ini | 64 +++++++++++
doc/guides/nics/nic_features/i40e_vf.ini | 64 +++++++++++
doc/guides/nics/nic_features/i40evf_vec.ini | 64 +++++++++++
doc/guides/nics/nic_features/igb.ini | 64 +++++++++++
doc/guides/nics/nic_features/igb_vf.ini | 64 +++++++++++
doc/guides/nics/nic_features/ixgbe.ini | 64 +++++++++++
doc/guides/nics/nic_features/ixgbe_vec.ini | 64 +++++++++++
doc/guides/nics/nic_features/ixgbe_vf.ini | 64 +++++++++++
doc/guides/nics/nic_features/ixgbevf_vec.ini | 64 +++++++++++
doc/guides/nics/nic_features/mlx4.ini | 64 +++++++++++
doc/guides/nics/nic_features/mlx5.ini | 64 +++++++++++
doc/guides/nics/nic_features/mpipe.ini | 64 +++++++++++
doc/guides/nics/nic_features/nfp.ini | 64 +++++++++++
doc/guides/nics/nic_features/null.ini | 64 +++++++++++
doc/guides/nics/nic_features/pcap.ini | 64 +++++++++++
doc/guides/nics/nic_features/qede.ini | 64 +++++++++++
doc/guides/nics/nic_features/qede_vf.ini | 64 +++++++++++
doc/guides/nics/nic_features/ring.ini | 64 +++++++++++
doc/guides/nics/nic_features/szedata2.ini | 64 +++++++++++
doc/guides/nics/nic_features/thunderx.ini | 64 +++++++++++
doc/guides/nics/nic_features/vhost.ini | 64 +++++++++++
doc/guides/nics/nic_features/virtio.ini | 64 +++++++++++
doc/guides/nics/nic_features/virtio_vec.ini | 64 +++++++++++
doc/guides/nics/nic_features/vmxnet3.ini | 64 +++++++++++
doc/guides/nics/nic_features/xenvirt.ini | 64 +++++++++++
doc/guides/nics/overview.rst | 77 +------------
43 files changed, 2723 insertions(+), 75 deletions(-)
create mode 100644 doc/guides/nics/nic_features/afpacket.ini
create mode 100644 doc/guides/nics/nic_features/bnx2x.ini
create mode 100644 doc/guides/nics/nic_features/bnx2x_vf.ini
create mode 100644 doc/guides/nics/nic_features/bnxt.ini
create mode 100644 doc/guides/nics/nic_features/bonding.ini
create mode 100644 doc/guides/nics/nic_features/cxgbe.ini
create mode 100644 doc/guides/nics/nic_features/default.ini
create mode 100644 doc/guides/nics/nic_features/e1000.ini
create mode 100644 doc/guides/nics/nic_features/ena.ini
create mode 100644 doc/guides/nics/nic_features/enic.ini
create mode 100644 doc/guides/nics/nic_features/fm10k.ini
create mode 100644 doc/guides/nics/nic_features/fm10k_vec.ini
create mode 100644 doc/guides/nics/nic_features/fm10k_vf.ini
create mode 100644 doc/guides/nics/nic_features/fm10kvf_vec.ini
create mode 100644 doc/guides/nics/nic_features/i40e.ini
create mode 100644 doc/guides/nics/nic_features/i40e_vec.ini
create mode 100644 doc/guides/nics/nic_features/i40e_vf.ini
create mode 100644 doc/guides/nics/nic_features/i40evf_vec.ini
create mode 100644 doc/guides/nics/nic_features/igb.ini
create mode 100644 doc/guides/nics/nic_features/igb_vf.ini
create mode 100644 doc/guides/nics/nic_features/ixgbe.ini
create mode 100644 doc/guides/nics/nic_features/ixgbe_vec.ini
create mode 100644 doc/guides/nics/nic_features/ixgbe_vf.ini
create mode 100644 doc/guides/nics/nic_features/ixgbevf_vec.ini
create mode 100644 doc/guides/nics/nic_features/mlx4.ini
create mode 100644 doc/guides/nics/nic_features/mlx5.ini
create mode 100644 doc/guides/nics/nic_features/mpipe.ini
create mode 100644 doc/guides/nics/nic_features/nfp.ini
create mode 100644 doc/guides/nics/nic_features/null.ini
create mode 100644 doc/guides/nics/nic_features/pcap.ini
create mode 100644 doc/guides/nics/nic_features/qede.ini
create mode 100644 doc/guides/nics/nic_features/qede_vf.ini
create mode 100644 doc/guides/nics/nic_features/ring.ini
create mode 100644 doc/guides/nics/nic_features/szedata2.ini
create mode 100644 doc/guides/nics/nic_features/thunderx.ini
create mode 100644 doc/guides/nics/nic_features/vhost.ini
create mode 100644 doc/guides/nics/nic_features/virtio.ini
create mode 100644 doc/guides/nics/nic_features/virtio_vec.ini
create mode 100644 doc/guides/nics/nic_features/vmxnet3.ini
create mode 100644 doc/guides/nics/nic_features/xenvirt.ini
--
2.5.0
next reply other threads:[~2016-06-30 18:04 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-30 18:03 John McNamara [this message]
2016-06-30 18:03 ` John McNamara
2016-06-30 18:25 ` Thomas Monjalon
2016-07-01 1:40 ` Yuanhan Liu
2016-07-08 19:52 ` Mcnamara, John
2016-07-17 12:59 ` [dpdk-dev] [PATCH v2] " John McNamara
2016-07-19 13:08 ` Ferruh Yigit
2016-07-29 11:59 ` [dpdk-dev] [PATCH v3] " John McNamara
2016-07-29 12:02 ` Mcnamara, John
2016-08-01 21:37 ` Thomas Monjalon
2016-08-03 14:32 ` Bruce Richardson
2016-08-03 16:44 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1467309817-11739-1-git-send-email-john.mcnamara@intel.com \
--to=john.mcnamara@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).