aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2018-03-07 11:22:30 +0000
committerLuca Boccassi <luca.boccassi@gmail.com>2018-03-07 11:23:17 +0000
commitc3f15def2ebe9cc255cf0e5cf32aa171f5b4326d (patch)
tree8c8fc77df57bca8c0bfe4d0e8797879e12c6d6f9 /doc
parent169a9de21e263aa6599cdc2d87a45ae158d9f509 (diff)
New upstream version 17.11.1upstream/17.11.1
Change-Id: Ida1700b5dac8649fc563670a37278e636bea051c Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/guides/cryptodevs/openssl.rst15
-rw-r--r--doc/guides/cryptodevs/qat.rst1
-rw-r--r--doc/guides/nics/i40e.rst23
-rw-r--r--doc/guides/nics/mlx4.rst8
-rw-r--r--doc/guides/rel_notes/release_17_11.rst255
-rw-r--r--doc/guides/sample_app_ug/ipsec_secgw.rst10
-rw-r--r--doc/guides/sample_app_ug/keep_alive.rst2
7 files changed, 301 insertions, 13 deletions
diff --git a/doc/guides/cryptodevs/openssl.rst b/doc/guides/cryptodevs/openssl.rst
index 243ea36a..61a4da35 100644
--- a/doc/guides/cryptodevs/openssl.rst
+++ b/doc/guides/cryptodevs/openssl.rst
@@ -44,6 +44,7 @@ Features
OpenSSL PMD has support for:
Supported cipher algorithms:
+
* ``RTE_CRYPTO_CIPHER_3DES_CBC``
* ``RTE_CRYPTO_CIPHER_AES_CBC``
* ``RTE_CRYPTO_CIPHER_AES_CTR``
@@ -51,6 +52,7 @@ Supported cipher algorithms:
* ``RTE_CRYPTO_CIPHER_DES_DOCSISBPI``
Supported authentication algorithms:
+
* ``RTE_CRYPTO_AUTH_AES_GMAC``
* ``RTE_CRYPTO_AUTH_MD5``
* ``RTE_CRYPTO_AUTH_SHA1``
@@ -66,6 +68,7 @@ Supported authentication algorithms:
* ``RTE_CRYPTO_AUTH_SHA512_HMAC``
Supported AEAD algorithms:
+
* ``RTE_CRYPTO_AEAD_AES_GCM``
* ``RTE_CRYPTO_AEAD_AES_CCM``
@@ -77,17 +80,23 @@ To compile openssl PMD, it has to be enabled in the config/common_base file
and appropriate openssl packages have to be installed in the build environment.
The newest openssl library version is supported:
+
* 1.0.2h-fips 3 May 2016.
+
Older versions that were also verified:
+
* 1.0.1f 6 Jan 2014
* 1.0.1 14 Mar 2012
For Ubuntu 14.04 LTS these packages have to be installed in the build system:
-sudo apt-get install openssl
-sudo apt-get install libc6-dev-i386 (for i686-native-linuxapp-gcc target)
+
+.. code-block:: console
+
+ sudo apt-get install openssl
+ sudo apt-get install libc6-dev-i386 # for i686-native-linuxapp-gcc target
This code was also verified on Fedora 24.
-This code was NOT yet verified on FreeBSD.
+This code has NOT been verified on FreeBSD yet.
Initialization
--------------
diff --git a/doc/guides/cryptodevs/qat.rst b/doc/guides/cryptodevs/qat.rst
index cb17b6b3..581cd2f7 100644
--- a/doc/guides/cryptodevs/qat.rst
+++ b/doc/guides/cryptodevs/qat.rst
@@ -78,6 +78,7 @@ Hash algorithms:
* ``RTE_CRYPTO_AUTH_ZUC_EIA3``
Supported AEAD algorithms:
+
* ``RTE_CRYPTO_AEAD_AES_GCM``
diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index cd468748..71d95611 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -134,6 +134,17 @@ Driver compilation and testing
Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
for details.
+- ``Support multiple driver`` (default ``disable``)
+
+ There was a multiple driver support issue during use of 700 series Ethernet
+ Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
+ parameter ``support-multi-driver`` is introduced, for example::
+
+ -w 84:00.0,support-multi-driver=1
+
+ With the above configuration, DPDK PMD will not change global registers, and
+ will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
+ DPDK and Linux Kernel.
SR-IOV: Prerequisites and sample Application Notes
--------------------------------------------------
@@ -483,6 +494,18 @@ Vlan strip of VF
The VF vlan strip function is only supported in the i40e kernel driver >= 2.1.26.
+Global configuration warning
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+I40E PMD will set some global registers to enable some function or set some
+configure. Then when using different ports of the same NIC with Linux kernel
+and DPDK, the port with Linux kernel will be impacted by the port with DPDK.
+For example, register I40E_GL_SWT_L2TAGCTRL is used to control L2 tag, i40e
+PMD uses I40E_GL_SWT_L2TAGCTRL to set vlan TPID. If setting TPID in port A
+with DPDK, then the configuration will also impact port B in the NIC with
+kernel driver, which don't want to use the TPID.
+So PMD reports warning to clarify what is changed by writing global register.
+
High Performance of Small Packets on 40G NIC
--------------------------------------------
diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index 22341b90..cab45dfe 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -92,14 +92,6 @@ These options can be modified in the ``.config`` file.
adds additional run-time checks and debugging messages at the cost of
lower performance.
-- ``CONFIG_RTE_LIBRTE_MLX4_DEBUG_BROKEN_VERBS`` (default **n**)
-
- Mellanox OFED versions earlier than 4.2 may return false errors from
- Verbs object destruction APIs after the device is plugged out.
- Enabling this option replaces assertion checks that cause the program
- to abort with harmless debugging messages as a workaround.
- Relevant only when CONFIG_RTE_LIBRTE_MLX4_DEBUG is enabled.
-
- ``CONFIG_RTE_LIBRTE_MLX4_TX_MP_CACHE`` (default **8**)
Maximum number of cached memory pools (MPs) per TX queue. Each MP from
diff --git a/doc/guides/rel_notes/release_17_11.rst b/doc/guides/rel_notes/release_17_11.rst
index 016a08c8..77f2ea06 100644
--- a/doc/guides/rel_notes/release_17_11.rst
+++ b/doc/guides/rel_notes/release_17_11.rst
@@ -820,3 +820,258 @@ Tested Platforms
* Host interface: PCI Express 3.0 x16
* Device ID: 15b3:1017
* Firmware version: 16.21.1000
+
+Fixes in 17.11 LTS Release
+--------------------------
+
+17.11.1
+~~~~~~~
+
+* app/procinfo: add compilation option in config
+* app/testpmd: fix crash of txonly with multiple segments
+* app/testpmd: fix flow director filter
+* app/testpmd: fix flowgen forwarding offload flags
+* app/testpmd: fix invalid Rx queue number setting
+* app/testpmd: fix invalid Tx queue number setting
+* app/testpmd: fix port configuration print
+* app/testpmd: fix port id allocation
+* app/testpmd: fix port index in RSS forward config
+* app/testpmd: fix port topology in RSS forward config
+* app/testpmd: fix port validation
+* app/testpmd: remove xenvirt again
+* bus/dpaa: fix ARM big endian build
+* bus/dpaa: fix build when assert enabled
+* bus/dpaa: fix default IOVA mode
+* bus/fslmc: fix build with latest glibc
+* bus/fslmc: fix the cplusplus macro closure
+* bus/pci: fix interrupt handler type
+* bus/pci: forbid IOVA mode if IOMMU address width too small
+* bus/vdev: continue probing after a device failure
+* cmdline: avoid garbage in unused fields of parsed result
+* cmdline: fix dynamic tokens parsing
+* cryptodev: add missing CPU flag string
+* cryptodev: fix function prototype
+* cryptodev: fix session pointer cast
+* crypto/dpaa2_sec: fix enum conversion for GCM
+* crypto: fix pedantic compilation
+* crypto/qat: fix allocation check and leak
+* crypto/qat: fix null auth algo overwrite
+* crypto/qat: fix out-of-bounds access
+* crypto/qat: fix parameter type
+* crypto/scheduler: fix strncpy
+* doc: fix format in OpenSSL installation guide
+* doc: fix lists of supported crypto algorithms
+* drivers: change the deprecated memseg physaddr to IOVA
+* eal/arm64: remove the braces in memory barrier macros
+* eal/ppc64: revert arch-specific TSC freq query
+* eal/ppc: remove the braces in memory barrier macros
+* ethdev: fix link autonegotiation value
+* ethdev: fix missing imissed counter in xstats
+* ethdev: fix port data reset timing
+* ethdev: fix port id allocation
+* eventdev: fix doxygen comments
+* eventdev: set error code in port link/unlink functions
+* event/octeontx: fix Rx adapter port id mapping
+* event/sw: fix debug logging config option
+* event/sw: fix queue memory leak and multi-link bug
+* examples/bond: check mbuf allocation
+* examples/bond: fix vdev name
+* examples/ip_pipeline: fix timer period unit
+* examples/ipsec-secgw: fix corner case for SPI value
+* examples/ipsec-secgw: fix missing ingress flow attribute
+* examples/ipsec-secgw: fix SPI byte order in flow item
+* examples/ipsec-secgw: fix usage of incorrect port
+* examples/l3fwd-power: fix frequency detection
+* examples/l3fwd-power: fix Rx without interrupt
+* examples/vhost: fix sending ARP packet to self
+* examples/vhost: fix startup check
+* flow_classify: fix ISO C in exported header
+* igb_uio: allow multi-process access
+* keepalive: fix state alignment
+* kni: fix build dependency
+* kni: fix build with kernel 4.15
+* lib: fix missing includes in exported headers
+* log: fix memory leak in regexp level set
+* lpm: fix ARM big endian build
+* malloc: fix end for bounded elements
+* malloc: protect stats with lock
+* mbuf: fix NULL freeing when debug enabled
+* mbuf: fix performance of freeing with non atomic refcnt
+* member: fix ISO C in exported header
+* member: fix memory leak on error
+* mempool: fix first memory area notification
+* mempool: fix physical contiguous check
+* mempool/octeontx: fix improper memory barrier
+* mempool/octeontx: fix memory area registration
+* mempool/octeontx: fix natural alignment being optimized out
+* memzone: fix leak on allocation error
+* mk: fix external build
+* mk: remove TILE-Gx machine type
+* mk: support renamed Makefile in external project
+* net/bnxt: fix check for ether type
+* net/bnxt: fix double increment of idx during Tx ring alloc
+* net/bnxt: fix duplicate filter pattern creation error
+* net/bnxt: fix duplicate pattern for 5tuple filter
+* net/bnxt: fix group info usage
+* net/bnxt: fix link speed setting with autoneg off
+* net/bnxt: fix number of pools for RSS
+* net/bnxt: fix return code in MAC address set
+* net/bnxt: fix Rx checksum flags
+* net/bnxt: fix size of Tx ring in HW
+* net/bnxt: free the aggregation ring
+* net/bnxt: parse checksum offload flags
+* net/bonding: check error of MAC address setting
+* net/bonding: fix activated slave in 8023ad mode
+* net/bonding: fix bonding in 8023ad mode
+* net/bonding: fix setting slave MAC addresses
+* net/dpaa: fix FW version code
+* net/dpaa: fix potential memory leak
+* net/dpaa: fix the mbuf packet type if zero
+* net/dpaa: fix uninitialized and unused variables
+* net/e1000: fix null pointer check
+* net/e1000: fix VF Rx interrupt enabling
+* net/ena: do not set Tx L4 offloads in Rx path
+* net/enic: fix crash due to static max number of queues
+* net/enic: fix L4 Rx ptype comparison
+* net/failsafe: fix invalid free
+* net/failsafe: fix Rx safe check compiler hint
+* net: fix ESP header byte ordering definition
+* net/fm10k: fix logical port delete
+* net/i40e: add debug logs when writing global registers
+* net/i40e: add FDIR NVGRE parameter check
+* net/i40e: check multi-driver option parsing
+* net/i40e: exclude LLDP packet count
+* net/i40e: fix ARM big endian build
+* net/i40e: fix FDIR input set conflict
+* net/i40e: fix FDIR rule confiliction issue
+* net/i40e: fix flag for MAC address write
+* net/i40e: fix flow director Rx resource defect
+* net/i40e: fix interrupt conflict with multi-driver
+* net/i40e: fix ISO C in exported header
+* net/i40e: fix memory leak
+* net/i40e: fix multiple DDP packages conflict
+* net/i40e: fix multiple driver support
+* net/i40e: fix packet type for X722
+* net/i40e: fix port segmentation fault when restart
+* net/i40e: fix Rx interrupt
+* net/i40e: fix setting MAC address of VF
+* net/i40e: fix setting of MAC address on i40evf
+* net/i40e: fix VF reset stats crash
+* net/i40e: fix VF Rx interrupt enabling
+* net/i40e: fix VLAN offload setting
+* net/i40e: fix VLAN offload setting issue
+* net/i40e: fix VSI MAC filter on primary address change
+* net/i40e: warn when writing global registers
+* net/igb: fix Tx queue number assignment
+* net/ixgbe: fix ARM big endian build
+* net/ixgbe: fix max queue number for VF
+* net/ixgbe: fix parsing FDIR NVGRE issue
+* net/ixgbe: fix reset error handling
+* net/ixgbe: fix the failure of number of Tx queue check
+* net/ixgbe: fix tunnel filter fail problem
+* net/ixgbe: fix VF Rx interrupt enabling
+* net/ixgbe: fix wrong PBA setting
+* net/mlx4: fix drop flow resources leak
+* net/mlx4: fix Rx offload non-fragmented indication
+* net/mlx4: fix Tx packet drop application report
+* net/mlx4: fix unnecessary include
+* net/mlx4: revert workaround for broken Verbs
+* net/mlx5: cleanup allocation of ethtool stats
+* net/mlx5: fix calculation of flow ID flag
+* net/mlx5: fix deadlock of link status alarm
+* net/mlx5: fix flow item validation
+* net/mlx5: fix flow priority on queue action
+* net/mlx5: fix flow RSS configuration
+* net/mlx5: fix handling link status event
+* net/mlx5: fix HW checksum offload for outer IP
+* net/mlx5: fix link state on device start
+* net/mlx5: fix memory region boundary checks
+* net/mlx5: fix memory region cache last index
+* net/mlx5: fix memory region cache lookup
+* net/mlx5: fix memory region lookup
+* net/mlx5: fix Memory Region registration
+* net/mlx5: fix missing attribute size for drop action
+* net/mlx5: fix missing RSS capability
+* net/mlx5: fix overflow of Memory Region cache
+* net/mlx5: fix overwriting bit-fields in SW Rx queue
+* net/mlx5: fix port stop by verify flows are still present
+* net/mlx5: fix return value of start operation
+* net/mlx5: fix RSS key configuration
+* net/mlx5: fix secondary process verification
+* net/mlx5: fix Tx checksum offloads
+* net/mlx5: fix UAR remapping on non configured queues
+* net/mlx5: fix un-supported RSS hash fields use
+* net/mlx5: fix VLAN configuration after port stop
+* net/mlx5: remove parser/flow drop queue
+* net/mlx5: use PCI address as port name
+* net/mrvl: fix HIF objects allocation
+* net/mrvl: fix multiple probe
+* net/mrvl: fix oversize bpool handling
+* net/mrvl: fix shadow queue tail and size calculations
+* net/mrvl: keep shadow Txqs inside PMD Txq
+* net/nfp: fix CRC strip check behaviour
+* net/nfp: fix jumbo settings
+* net/nfp: fix MTU settings
+* net/octeontx: add channel to port id mapping
+* net/pcap: fix the NUMA id display in logs
+* net/qede/base: fix VF LRO tunnel configuration
+* net/qede: check tunnel L3 header
+* net/qede: fix clearing of queue stats
+* net/qede: fix few log messages
+* net/qede: fix MTU set and max Rx length
+* net/qede: fix to enable LRO over tunnels
+* net/qede: fix to reject config with no Rx queue
+* net/qede: fix tunnel header size in Tx BD configuration
+* net/qede: replace config option with run-time arg
+* net/sfc: do not hold management event queue lock while MCDI
+* net/sfc: fix DMA memory leak after kvarg processing failure
+* net/sfc: fix flow RSS check in error handling
+* net/sfc: fix incorrect bitwise ORing of L3/L4 packet types
+* net/sfc: fix initialization of flow structure
+* net/sfc: fix label name to be consistent
+* net/sfc: fix main MAC address handling
+* net/sfc: fix multicast address list copy memory leak
+* net/sfc: stop periodic DMA if MAC stats upload fails
+* net/szedata2: fix check of mmap return value
+* net/tap: fix cleanup on allocation failure
+* net/tap: remove unused kernel version definitions
+* net/thunderx: fix multi segment Tx function return
+* net/virtio: fix incorrect cast
+* net/virtio: fix memory leak when reinitializing device
+* net/virtio: fix queue flushing with vector Rx enabled
+* net/virtio: fix Rx and Tx handler selection for ARM32
+* net/virtio: fix typo in LRO support
+* net/virtio: fix vector Rx flushing
+* net/virtio-user: fix crash as features change
+* pdump: fix error check when creating/canceling thread
+* pmdinfogen: fix cross compilation for ARM big endian
+* security: fix device operation type
+* security: fix enum start value
+* security: fix pedantic compilation
+* service: fix lcore role after delete
+* service: fix number mapped cores count
+* service: fix possible mem leak on initialize
+* service: fix service core launch
+* test/bitmap: fix memory leak
+* test/crypto: fix missing include
+* test/eventdev: use CPU event type
+* test/memzone: fix freeing test
+* test/memzone: fix NULL freeing
+* test/memzone: fix wrong test
+* test: register test as failed if setup failed
+* test/reorder: fix memory leak
+* test/ring: fix memory leak
+* test/ring_perf: fix memory leak
+* test/table: fix memory leak
+* test/table: fix uninitialized parameter
+* test/timer_perf: fix memory leak
+* timer: fix reset on service cores
+* usertools/devbind: fix kernel module reporting
+* vfio: fix enabled check on error
+* vhost: fix crash
+* vhost: fix dequeue zero copy with virtio1
+* vhost: fix error code check when creating thread
+* vhost: fix IOTLB pool out-of-memory handling
+* vhost: fix mbuf free
+* vhost: protect active rings from async ring changes
+* vhost: remove pending IOTLB entry if miss request failed
diff --git a/doc/guides/sample_app_ug/ipsec_secgw.rst b/doc/guides/sample_app_ug/ipsec_secgw.rst
index d6cfdbf7..ae18acdd 100644
--- a/doc/guides/sample_app_ug/ipsec_secgw.rst
+++ b/doc/guides/sample_app_ug/ipsec_secgw.rst
@@ -61,6 +61,12 @@ In case of complete protocol offload, the processing of headers(ESP and outer
IP header) is done by the hardware and the application does not need to
add/remove them during outbound/inbound processing.
+For inline offloaded outbound traffic, the application will not do the LPM
+lookup for routing, as the port on which the packet has to be forwarded will be
+part of the SA. Security parameters will be configured on that port only, and
+sending the packet on other ports could result in unencrypted packets being
+sent out.
+
The Path for IPsec Inbound traffic is:
* Read packets from the port.
@@ -543,7 +549,9 @@ where each options means:
``<port_id>``
* Port/device ID of the ethernet/crypto accelerator for which the SA is
- configured. This option is used when *type* is NOT *no-offload*
+ configured. For *inline-crypto-offload* and *inline-protocol-offload*, this
+ port will be used for routing. The routing table will not be referred in
+ this case.
* Optional: No, if *type* is not *no-offload*
diff --git a/doc/guides/sample_app_ug/keep_alive.rst b/doc/guides/sample_app_ug/keep_alive.rst
index 9b8be489..6c131a86 100644
--- a/doc/guides/sample_app_ug/keep_alive.rst
+++ b/doc/guides/sample_app_ug/keep_alive.rst
@@ -168,5 +168,5 @@ The rte_keepalive_mark_alive function simply sets the core state to alive.
static inline void
rte_keepalive_mark_alive(struct rte_keepalive *keepcfg)
{
- keepcfg->state_flags[rte_lcore_id()] = ALIVE;
+ keepcfg->live_data[rte_lcore_id()].core_state = RTE_KA_STATE_ALIVE;
}