Skip to content

kni: add API to set link status on kernel interface

Dan Gora dpdk-dev 7 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v7 Latest5 patches 2 repliesIn review
  2. v65 patches 4 repliesSuperseded
  3. v55 patches 6 repliesSuperseded
Earlier versions · 4
VersionPostedPatchesRepliesStatus
v46 patches4 repliesSuperseded
v36 patches4 repliesSuperseded
v25 patches26 repliesSuperseded
v12 patches5 repliesSuperseded

Patches in v7 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5kni: add API to set link status on kernel interfacelib/librte_kni/rte_kni.c lib/librte_kni/rte_kni.h lib/librte_kni/rte_kni_version.map +1 more+144 -00 replies
2/5kni: set default carrier state of interfacedoc/guides/prog_guide/kernel_nic_interface.rst kernel/linux/kni/kni_dev.h kernel/linux/kni/kni_misc.c +1 more+254 -530 replies
3/5examples/kni: monitor and update link status continuallydoc/guides/sample_app_ug/kernel_nic_interface.rst examples/kni/Makefile examples/kni/main.c+237 -970 replies
4/5examples/kni: add log msgs to show and clear statsexamples/kni/main.c+13 -30 replies
5/5examples/kni: improve zeroing statisticsexamples/kni/main.c+4 -20 replies

Reviews trailers per patch

None of the 5 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchFerruh Yigit
SeriesA-b
1/5
2/5
3/5
4/5
5/5

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v7 thread

Cover letter [PATCH v7 0/5] kni: add API to set link status on kernel interface

Hi All,

Attached is version 7 of a patchset to add a new API function to set the link status on kernel interfaces created with the KNI kernel module.

v7
====
* Add commands to check/clear statistics in kni sample app in KNI sample app documentation.

Quoted 78 lines

v6
====
* Update info about callback functions in KNI library documentation.

* Minor fixup to module parameter formatting in KNI kernel module. (align the "charp" text...)

* Add '-m' flag to KNI sample app command line in KNI sample app documentation.

* Add references to KNI library documentation from KNI sample app documentation (yay Sphinx!)

v5
====
* Update Kernel NIC Interface document with new rte_kni option, move kernel module parameter description here from KNI sample app document, general cleanup.

* Update Kernel NIC Interface sample application (kni) document with new command line parameter, remove documentation for rte_kni kernel module but add reference to it, general cleanup.

* Change link status change sample rate for KNI example app to 500ms from 100ms.

* Fix bug in parameter parsing in v4 in rte_kni kernel module.

* Fix output formatting of optional parameters for rte_kni with modinfo.

* Fix permissions of optional parameters for rte_kni.

* Squash patch to add test for rte_kni_update_link into patch introducing the API function.

v4
====
* Rework rte_kni_update_link to only take linkup/linkdown as parameter, return previous link state, and remove log messages.

* Update patch to set default carrier state to make default carrier state configurable by passing the 'carrier=[on|off]' option to the rte_kni kernel module. This is necessary in order to allow applications which use KNI as pure virtual interfaces without corresponding physical ethernet port to use the interfaces without having to set the carrier state to 'on' via rte_kni_update_link() or by writing to /sys/devices/virtual/net/<ifaceX>/carrier. Note that the default is 'off'.

* Add command line flag '-m' to examples/kni to continuously monitor and update the KNI interface link status according to the link status of the corresponding physical ethernet port.

v3
====
* Use separate function to test rte_kni_update_link() in 'test' app.

* Separate changes to 'test' app into separate patch to facilitate possible merge with https://patches.dpdk.org/patch/44730/

* Remove changes to set KNI interfaces to 'up' in example/kni

v2
====

* Fix bug where "Fixed" and "AutoNeg" were transposed in the link status log message.

* Add rte_kni_update_link() to rte_kni_version.map

* Add rte_kni_update_link() tests to kni_autotest

* Update examples/kni to continuously monitor link status and update the corresponding kernel interface with rte_kni_update_link().

Quoted 8 lines

* Minor improvements to examples/kni: Add log message showing how to show/zero stats. Improve zeroing statistics.

Note that checkpatches.sh compains about patch 1/5, but this appears to be a bug with check-symbol-change or something. If I move the fragment of the patch modifying rte_kni_version.map to the bottom of the patch file, it doesn't complain any more... I just don't really have time to investigate this right now.

thanks
dan

Dan Gora (5):
kni: add API to set link status on kernel interface
kni: set default carrier state of interface examples/kni: monitor and update link status continually examples/kni: add log msgs to show and clear stats examples/kni: improve zeroing statistics

 .../prog_guide/kernel_nic_interface.rst       | 239 +++++++++++++---
 .../sample_app_ug/kernel_nic_interface.rst    | 262 +++++++++++-------
 examples/kni/Makefile                         |   2 +
 examples/kni/main.c                           |  92 +++++-
 kernel/linux/kni/kni_dev.h                    |   3 +
 kernel/linux/kni/kni_misc.c                   |  60 +++-
 kernel/linux/kni/kni_net.c                    |   5 +
 lib/librte_kni/rte_kni.c                      |  41 +++
 lib/librte_kni/rte_kni.h                      |  20 ++
 lib/librte_kni/rte_kni_version.map            |   6 +
 test/test/test_kni.c                          |  77 +++++
 11 files changed, 652 insertions(+), 155 deletions(-)
Signature · 1 line
2.19.0