From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id D50B35693 for ; Thu, 30 Jun 2016 20:04:55 +0200 (CEST) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP; 30 Jun 2016 11:04:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,553,1459839600"; d="scan'208";a="131413439" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by fmsmga004.fm.intel.com with ESMTP; 30 Jun 2016 11:03:39 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id u5UI3cwP010608; Thu, 30 Jun 2016 19:03:38 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id u5UI3cYw015852; Thu, 30 Jun 2016 19:03:38 +0100 Received: (from jmcnam2@localhost) by sivswdev02.ir.intel.com with id u5UI3cST015847; Thu, 30 Jun 2016 19:03:38 +0100 From: John McNamara To: dev@dpdk.org Cc: John McNamara Date: Thu, 30 Jun 2016 19:03:36 +0100 Message-Id: <1467309817-11739-1-git-send-email-john.mcnamara@intel.com> X-Mailer: git-send-email 1.7.4.1 Subject: [dpdk-dev] [PATCH v1] doc: autogenerate nic overview table from ini files X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jun 2016 18:04:56 -0000 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