diff options
author | Christian Ehrhardt <christian.ehrhardt@canonical.com> | 2018-06-18 13:36:41 +0200 |
---|---|---|
committer | Christian Ehrhardt <christian.ehrhardt@canonical.com> | 2018-06-19 08:22:47 +0200 |
commit | e4df4d55df003957fc5afd7440e3d3192d7ce218 (patch) | |
tree | 4d87da85a727b31f1a76de49f6c4d31cedda71b7 /doc | |
parent | d038355bf358f713efbb182f174e2a8a09042e2b (diff) |
New upstream version 17.11.3
Change-Id: I2b901aaf362a2b94195665cc890d824b2c3a620e
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/guides/nics/features/mlx5.ini | 1 | ||||
-rw-r--r-- | doc/guides/nics/mlx5.rst | 6 | ||||
-rw-r--r-- | doc/guides/nics/nfp.rst | 43 | ||||
-rw-r--r-- | doc/guides/rel_notes/release_17_11.rst | 215 |
4 files changed, 243 insertions, 22 deletions
diff --git a/doc/guides/nics/features/mlx5.ini b/doc/guides/nics/features/mlx5.ini index c3636391..f8ce0877 100644 --- a/doc/guides/nics/features/mlx5.ini +++ b/doc/guides/nics/features/mlx5.ini @@ -29,6 +29,7 @@ CRC offload = Y VLAN offload = Y L3 checksum offload = Y L4 checksum offload = Y +Timestamp offload = Y Packet type parsing = Y Rx descriptor status = Y Tx descriptor status = Y diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index f9558da8..50fced3f 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -108,7 +108,11 @@ Limitations - Port statistics through software counters only. Flow statistics are supported by hardware counters. - Hardware checksum RX offloads for VXLAN inner header are not supported yet. -- Forked secondary process not supported. +- For secondary process: + + - Forked secondary process not supported. + - All mempools must be initialized before rte_eth_dev_start(). + - Flow pattern without any specific vlan will match for vlan packets as well: When VLAN spec is not specified in the pattern, the matching rule will be created with VLAN as a wild card. diff --git a/doc/guides/nics/nfp.rst b/doc/guides/nics/nfp.rst index 99a3b76e..67e574e0 100644 --- a/doc/guides/nics/nfp.rst +++ b/doc/guides/nics/nfp.rst @@ -34,14 +34,14 @@ NFP poll mode driver library Netronome's sixth generation of flow processors pack 216 programmable cores and over 100 hardware accelerators that uniquely combine packet, flow, security and content processing in a single device that scales -up to 400 Gbps. +up to 400-Gb/s. This document explains how to use DPDK with the Netronome Poll Mode Driver (PMD) supporting Netronome's Network Flow Processor 6xxx (NFP-6xxx) and Netronome's Flow Processor 4xxx (NFP-4xxx). NFP is a SRIOV capable device and the PMD driver supports the physical -function (PF) and virtual functions (VFs). +function (PF) and the virtual functions (VFs). Dependencies ------------ @@ -49,17 +49,18 @@ Dependencies Before using the Netronome's DPDK PMD some NFP configuration, which is not related to DPDK, is required. The system requires installation of **Netronome's BSP (Board Support Package)** along -with some specific NFP firmware application. Netronome's NSP ABI +with a specific NFP firmware application. Netronome's NSP ABI version should be 0.20 or higher. If you have a NFP device you should already have the code and -documentation for doing all this configuration. Contact +documentation for this configuration. Contact **support@netronome.com** to obtain the latest available firmware. -The NFP Linux netdev kernel driver for VFs is part of vanilla kernel -since kernel version 4.5, and support for the PF since kernel version -4.11. Support for older kernels can be obtained on Github at -**https://github.com/Netronome/nfp-drv-kmods** along with build +The NFP Linux netdev kernel driver for VFs has been a part of the +vanilla kernel since kernel version 4.5, and support for the PF +since kernel version 4.11. Support for older kernels can be obtained +on Github at +**https://github.com/Netronome/nfp-drv-kmods** along with the build instructions. NFP PMD needs to be used along with UIO ``igb_uio`` or VFIO (``vfio-pci``) @@ -70,15 +71,15 @@ Building the software Netronome's PMD code is provided in the **drivers/net/nfp** directory. Although NFP PMD has NetronomeĀ“s BSP dependencies, it is possible to -compile it along with other DPDK PMDs even if no BSP was installed before. +compile it along with other DPDK PMDs even if no BSP was installed previously. Of course, a DPDK app will require such a BSP installed for using the NFP PMD, along with a specific NFP firmware application. -Default PMD configuration is at **common_linuxapp configuration** file: +Default PMD configuration is at the **common_linuxapp configuration** file: - **CONFIG_RTE_LIBRTE_NFP_PMD=y** -Once DPDK is built all the DPDK apps and examples include support for +Once the DPDK is built all the DPDK apps and examples include support for the NFP PMD. @@ -91,18 +92,18 @@ for details. Using the PF ------------ -NFP PMD has support for using the NFP PF as another DPDK port, but it does not +NFP PMD supports using the NFP PF as another DPDK port, but it does not have any functionality for controlling VFs. In fact, it is not possible to use the PMD with the VFs if the PF is being used by DPDK, that is, with the NFP PF -bound to ``igb_uio`` or ``vfio-pci`` kernel drivers. Future DPDK version will +bound to ``igb_uio`` or ``vfio-pci`` kernel drivers. Future DPDK versions will have a PMD able to work with the PF and VFs at the same time and with the PF implementing VF management along with other PF-only functionalities/offloads. -The PMD PF has extra work to do which will delay the DPDK app initialization -like checking if a firmware is already available in the device, uploading the -firmware if necessary, and configure the Link state properly when starting or -stopping a PF port. Note that firmware upload is not always necessary which is -the main delay for NFP PF PMD initialization. +The PMD PF has extra work to do which will delay the DPDK app initialization. +This additional effort could be checking if a firmware is already available in +the device, uploading the firmware if necessary or configuring the Link state +properly when starting or stopping a PF port. Note that firmware upload is not +always necessary which is the main delay for NFP PF PMD initialization. Depending on the Netronome product installed in the system, firmware files should be available under ``/lib/firmware/netronome``. DPDK PMD supporting the @@ -114,14 +115,14 @@ PF multiport support -------------------- Some NFP cards support several physical ports with just one single PCI device. -DPDK core is designed with the 1:1 relationship between PCI devices and DPDK +The DPDK core is designed with a 1:1 relationship between PCI devices and DPDK ports, so NFP PMD PF support requires handling the multiport case specifically. During NFP PF initialization, the PMD will extract the information about the number of PF ports from the firmware and will create as many DPDK ports as needed. Because the unusual relationship between a single PCI device and several DPDK -ports, there are some limitations when using more than one PF DPDK ports: there +ports, there are some limitations when using more than one PF DPDK port: there is no support for RX interrupts and it is not possible either to use those PF ports with the device hotplug functionality. @@ -136,7 +137,7 @@ System configuration get the drivers from the above Github repository and follow the instructions for building and installing it. - Virtual Functions need to be enabled before they can be used with the PMD. + VFs need to be enabled before they can be used with the PMD. Before enabling the VFs it is useful to obtain information about the current NFP PCI device detected by the system: diff --git a/doc/guides/rel_notes/release_17_11.rst b/doc/guides/rel_notes/release_17_11.rst index fad7a7eb..39a14fff 100644 --- a/doc/guides/rel_notes/release_17_11.rst +++ b/doc/guides/rel_notes/release_17_11.rst @@ -1090,3 +1090,218 @@ Fixes in 17.11 LTS Release * vhost: handle virtually non-contiguous buffers in Rx-mrg (fixes CVE-2018-1059) * vhost: handle virtually non-contiguous buffers in Tx (fixes CVE-2018-1059) * vhost: introduce safe API for GPA translation (fixes CVE-2018-1059) + +17.11.3 +~~~~~~~ + +* app/crypto-perf: check minimum lcore number +* app/crypto-perf: fix excess crypto device error +* app/crypto-perf: fix IOVA translation +* app/crypto-perf: fix parameters copy +* app/crypto-perf: use strcpy for allocated string +* app/procinfo: fix strncpy usage in args parsing +* app/testpmd: fix burst stats reporting +* app/testpmd: fix command token +* app/testpmd: fix empty list of RSS queues for flow +* app/testpmd: fix forward ports Rx flush +* app/testpmd: fix forward ports update +* app/testpmd: fix removed device link status asking +* app/testpmd: fix slave port detection +* app/testpmd: fix synchronic port hotplug +* app/testpmd: fix valid ports prints +* bus/dpaa: fix resource leak +* bus/fslmc: fix find device start condition +* bus/pci: fix find device implementation +* bus/vdev: fix finding device by name +* cryptodev: fix supported size check +* crypto/dpaa2_sec: fix HMAC supported digest sizes +* crypto/scheduler: fix 64-bit mask of workers cores +* crypto/scheduler: fix memory leak +* crypto/scheduler: fix multicore rings re-use +* crypto/scheduler: fix possible duplicated ring names +* crypto/scheduler: set null pointer after freeing +* crypto/zuc: batch ops with same transform +* crypto/zuc: do not set default op status +* doc: add timestamp offload to mlx5 features +* doc: fix NFP NIC guide grammar +* drivers/net: fix link autoneg value for virtual PMDs +* eal/ppc: remove braces in SMP memory barrier macro +* ethdev: fix port accessing after release +* ethdev: fix queue start +* event/dpaa2: remove link from info structure +* examples/exception_path: limit core count to 64 +* examples/l2fwd-crypto: fix the default aead assignments +* examples/performance-thread: fix return type of threads +* examples/quota_watermark: fix return type of threads +* hash: fix missing spinlock unlock in add key +* ip_frag: fix double free of chained mbufs +* kni: fix build on CentOS 7.4 +* kni: fix build on RHEL 7.5 +* mbuf: fix Tx checksum offload API doc +* mbuf: improve tunnel Tx offloads API doc +* mem: do not use physical addresses in IOVA as VA mode +* mempool: fix leak when no objects are populated +* mempool: fix virtual address population +* mk: fix make defconfig on FreeBSD +* net: add IPv6 header fields macros +* net/bnx2x: do not cast function pointers as a policy +* net/bnx2x: fix for PCI FLR after ungraceful exit +* net/bnx2x: fix KR2 device check +* net/bnx2x: fix memzone name overrun +* net/bnxt: avoid invalid vnic id in set L2 Rx mask +* net/bnxt: fix endianness of flag +* net/bnxt: fix license header +* net/bnxt: fix LRO disable +* net/bnxt: fix Rx checksum flags +* net/bnxt: fix Rx checksum flags for tunnel frames +* net/bnxt: fix Rx drop setting +* net/bnxt: fix Rx mbuf and agg ring leak in dev stop +* net/bnxt: fix usage of vnic id +* net/bnxt: free memory allocated for VF filters +* net/bnxt: set padding flags in Rx descriptor +* net/bonding: clear started state if start fails +* net/bonding: export mode 4 slave info routine +* net/bonding: fix primary slave port id storage type +* net/bonding: fix setting VLAN ID on slave ports +* net/bonding: fix slave activation simultaneously +* net/bonding: free mempool used in mode 6 +* net/dpaa2: fix xstats +* net/dpaa: fix oob access +* net/enic: allocate stats DMA buffer upfront during probe +* net/enic: fix crash on MTU update with non-setup queues +* net/failsafe: fix duplicate event registration +* net/failsafe: fix probe cleanup +* net/failsafe: fix removed sub-device cleanup +* net/i40e: fix DDP profile DEL operation +* net/i40e: fix failing to disable FDIR Tx queue +* net/i40e: fix intr callback unregister by adding retry +* net/i40e: fix link status update +* net/i40e: fix link update no wait +* net/i40e: fix shifts of signed values +* net/ixgbe: enable vector PMD for icc 32 bits +* net/ixgbe: fix busy wait during checking link status +* net/ixgbe: fix DCB configuration +* net/ixgbe: fix intr callback unregister by adding retry +* net/ixgbe: fix too many interrupts +* net/liquidio: fix link state fetching during start +* net/mlx4: avoid constant recreations in function +* net/mlx4: fix a typo in header file +* net/mlx4: fix broadcast Rx +* net/mlx4: fix removal detection of stopped port +* net/mlx4: fix RSS resource leak in case of error +* net/mlx4: fix Rx resource leak in case of error +* net/mlx4: fix single port configuration +* net/mlx4: fix UDP flow rule limitation enforcement +* net/mlx4: store RSS hash result in mbufs +* net/mlx5: add data-plane debug message macro +* net/mlx5: add missing function documentation +* net/mlx5: add packet type index for TCP ack +* net/mlx5: change device reference for secondary process +* net/mlx5: change non failing function return values +* net/mlx5: change pkt burst select function prototype +* net/mlx5: change tunnel flow priority +* net/mlx5: enforce RSS key length limitation +* net/mlx5: fix allocation when no memory on device NUMA node +* net/mlx5: fix build with clang on ARM +* net/mlx5: fix calculation of Tx TSO inline room size +* net/mlx5: fix close after start failure +* net/mlx5: fix count in xstats +* net/mlx5: fix CRC strip capability query +* net/mlx5: fix disabling Tx packet inlining +* net/mlx5: fix double free on error handling +* net/mlx5: fix ethtool link setting call order +* net/mlx5: fix existing file removal +* net/mlx5: fix flow creation with a single target queue +* net/mlx5: fix flow director conversion +* net/mlx5: fix flow director drop rule deletion crash +* net/mlx5: fix flow director mask +* net/mlx5: fix flow director rule deletion crash +* net/mlx5: fix flow validation +* net/mlx5: fix icc build +* net/mlx5: fix invalid flow item check +* net/mlx5: fix IPv6 header fields +* net/mlx5: fix link status behavior +* net/mlx5: fix link status initialization +* net/mlx5: fix link status to use wait to complete +* net/mlx5: fix probe return value polarity +* net/mlx5: fix reception of multiple MAC addresses +* net/mlx5: fix resource leak in case of error +* net/mlx5: fix RSS flow action bounds check +* net/mlx5: fix RSS key length query +* net/mlx5: fix secondary process mempool registration +* net/mlx5: fix socket connection return value +* net/mlx5: fix sriov flag +* net/mlx5: fix synchronization on polling Rx completions +* net/mlx5: improve flow error explanation +* net/mlx5: map UAR address around huge pages +* net/mlx5: mark parameters with unused attribute +* net/mlx5: name parameters in function prototypes +* net/mlx5: normalize function prototypes +* net/mlx5: prefix all functions with mlx5 +* net/mlx5: refuse empty VLAN flow specification +* net/mlx5: remove 32-bit support +* net/mlx5: remove assert un-accessible from secondary process +* net/mlx5: remove control path locks +* net/mlx5: remove excessive data prefetch +* net/mlx5: remove get priv internal function +* net/mlx5: remove kernel version check +* net/mlx5: remove useless empty lines +* net/mlx5: setup RSS regardless of queue count +* net/mlx5: split L3/L4 in flow director +* net/mlx5: standardize on negative errno values +* net/mlx5: use dynamic logging +* net/mlx5: use port id in PMD log +* net/mlx5: warn for unsuccessful memory registration +* net/mlx: control netdevices through ioctl only +* net/mrvl: fix crash when port is closed without starting +* net/mrvl: fix Rx descriptors number +* net/nfp: fix assigning port id in mbuf +* net/nfp: fix barrier location +* net/nfp: fix link speed capabilities +* net/nfp: fix mbufs releasing when stop or close +* net/octeontx: fix null pointer dereference +* net/octeontx: fix uninitialized speed variable +* net/octeontx: fix uninitialized variable in port open +* net/qede/base: fix to support OVLAN mode +* net/qede: fix alloc from socket 0 +* net/qede: fix device stop to remove primary MAC +* net/qede: fix L2-handles used for RSS hash update +* net/qede: fix memory alloc for multiple port reconfig +* net/qede: fix missing loop index in Tx SG mode +* net/qede: fix multicast filtering +* net/qede: fix to prevent overwriting packet type +* net/qede: fix unicast filter routine return code +* net/qede: fix VF port creation sequence +* net/sfc: add missing defines for SAL annotation +* net/sfc: add missing Rx fini on RSS setup fail path +* net/sfc/base: fix comparison always true warning +* net/sfc: fix mbuf data alignment calculation +* net/sfc: fix type of opaque pointer in perf profile handler +* net/sfc: ignore spec bits not covered by mask +* net/sfc: process RSS settings on Rx configure step +* net/szedata2: fix format string for PCI address +* net/szedata2: fix total stats +* net/tap: fix icc build +* net/vhost: fix crash when creating vdev dynamically +* net/vhost: fix invalid state +* net/vhost: initialise device as inactive +* net/vmxnet3: set the queue shared buffer at start +* nfp: allow for non-root user +* nfp: restore the unlink operation +* nfp: unlink the appropriate lock file +* pci: remove duplicated symbol from map file +* test/distributor: fix return type of thread function +* test: fix memory flags test for low NUMA nodes number +* test/mempool: fix autotest retry +* test/pipeline: fix return type of stub miss +* test/pipeline: fix type of table entry parameter +* test/reorder: fix freeing mbuf twice +* vfio: do not needlessly check for IOVA mode +* vhost: check cmsg not null +* vhost: fix compilation issue when vhost debug enabled +* vhost: fix dead lock on closing in server mode +* vhost: fix device cleanup at stop +* vhost: fix message payload union in setting ring address +* vhost: fix offset while mmaping log base address +* vhost: fix realloc failure +* vhost: fix ring index returned to master on stop |