From c3f15def2ebe9cc255cf0e5cf32aa171f5b4326d Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Wed, 7 Mar 2018 11:22:30 +0000 Subject: New upstream version 17.11.1 Change-Id: Ida1700b5dac8649fc563670a37278e636bea051c Signed-off-by: Luca Boccassi --- doc/guides/cryptodevs/openssl.rst | 15 +- doc/guides/cryptodevs/qat.rst | 1 + doc/guides/nics/i40e.rst | 23 +++ doc/guides/nics/mlx4.rst | 8 - doc/guides/rel_notes/release_17_11.rst | 255 +++++++++++++++++++++++++++++++ doc/guides/sample_app_ug/ipsec_secgw.rst | 10 +- doc/guides/sample_app_ug/keep_alive.rst | 2 +- 7 files changed, 301 insertions(+), 13 deletions(-) (limited to 'doc') 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 ` 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/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; } -- cgit 1.2.3-korg