X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fguides%2Frel_notes%2Frelease_16_04.rst;h=67892a8d45b1de3a354d9a6b1b93b5f213aebdf6;hb=bec2f7df9c4509e42c266b164af3ac5998447ffb;hp=0e637c0632b57be1b08e06703b485638e99d1075;hpb=1409f127d7f1a79aa60b7432bc1df3b89a55564e;p=dpdk.git diff --git a/doc/guides/rel_notes/release_16_04.rst b/doc/guides/rel_notes/release_16_04.rst index 0e637c0632..67892a8d45 100644 --- a/doc/guides/rel_notes/release_16_04.rst +++ b/doc/guides/rel_notes/release_16_04.rst @@ -35,6 +35,13 @@ This section should contain new features added in this release. Sample format: Refer to the previous release notes for examples. +* **Added function to check primary process state.** + + A new function ``rte_eal_primary_proc_alive()`` has been added + to allow the user to detect if a primary process is running. + Use cases for this feature include fault detection, and monitoring + using secondary processes. + * **Enabled bulk allocation of mbufs.** A new function ``rte_pktmbuf_alloc_bulk()`` has been added to allow the user @@ -57,23 +64,140 @@ This section should contain new features added in this release. Sample format: * **Added vhost-user live migration support.** +* **Added multicast promiscuous mode support on VF for ixgbe.** + + Added multicast promiscuous mode support on ixgbe VF driver. So all the VFs + can receive the multicast packets. + + Please note if we want to use this promiscuous mode, we need both PF and VF + driver to support it. The reason is this VF feature is configured on PF. + If use kernel PF driver + dpdk VF driver, make sure kernel PF driver support + VF multicast promiscuous mode. If use dpdk PF + dpdk VF, better make sure PF + driver is the same version as VF. + +* **Added support for E-tag on X550.** + + E-tag is defined in 802.1br. Please reference + http://www.ieee802.org/1/pages/802.1br.html. + + This feature is for VF, but the settings are on PF. It means + the CLIs should be used on PF, but some of their effects will be shown on VF. + The forwarding of E-tag packets based on GRP and E-CID_base will have effect + on PF. Theoretically the E-tag packets can be forwarded to any pool/queue. + But normally we'd like to forward the packets to the pools/queues belonging + to the VFs. And E-tag insertion and stripping will have effect on VFs. When + VF receives E-tag packets, it should strip the E-tag. When VF transmits + packets, it should insert the E-tag. Both can be offloaded. + + When we want to use this E-tag support feature, the forwarding should be + enabled to forward the packets received by PF to indicated VFs. And insertion + and stripping should be enabled for VFs to offload the effort to HW. + + * Support E-tag offloading of insertion and stripping. + * Support Forwarding E-tag packets to pools based on + GRP and E-CID_base. + +* **Added support for VxLAN & NVGRE checksum off-load on X550.** + + * Added support for VxLAN & NVGRE RX/TX checksum off-load on + X550. RX/TX checksum off-load is provided on both inner and + outer IP header and TCP header. + * Added functions to support VxLAN port configuration. The + default VxLAN port number is 4789 but this can be updated + programmatically. + +* **Added new X550EM_a devices.** + + Added new X550EM_a devices and their mac types, X550EM_a and X550EM_a_vf. + Updated the code to use the new devices and mac types. + +* **Added x550em_x V2 device support.** + + Only x550em_x V1 was supported before. Now V2 is supported. + A mask for V1 and V2 is defined and used to support both. + +* **Supported link speed auto-negotiation on X550EM_X** + + Normally the auto-negotiation is supported by FW. SW need not care about + that. But on x550em_x, FW doesn't support auto-neg. As the ports of x550em_x + are 10G, if we connect the port with a peer which is 1G, the link will always + be down. + We added the support of auto-neg by SW to avoid this link down issue. + +* **Added sw-firmware sync on X550EM_a.** + + Added support for sw-firmware sync for resource sharing. + Use the PHY token, shared between sw-fw for PHY access on X550EM_a. + +* **Updated the i40e base driver.** + + The i40e base driver was updated with changes including the + following: + + * Use Rx control AQ commands to read/write Rx control registers. + * Add new X722 device IDs, and removed X710 one was never used. + * Expose registers for HASH/FD input set configuring. + +* **Enabled PCI extended tag for i40e.** + + It enabled extended tag by checking and writing corresponding PCI config + space bytes, to boost the performance. In the meanwhile, it deprecated the + legacy way via reading/writing sysfile supported by kernel module igb_uio. + +* **Added i40e support for setting mac addresses.** + +* **Added dump of i40e registers and EEPROM.** + +* **Supported ether type setting of single and double VLAN for i40e** + +* **Added VMDQ DCB mode in i40e.** + + Added support for DCB in VMDQ mode to i40e driver. + +* **Added i40e VEB switching support.** + +* **Added fm10k Rx interrupt support.** + +* **Increased number of next hops for LPM IPv4 to 2^24.** + + The next_hop field is extended from 8 bits to 24 bits for IPv4. + +* **Added support of SNOW 3G (UEA2 and UIA2) for Intel Quick Assist devices.** + + Enabled support for SNOW 3G wireless algorithm for Intel Quick Assist devices. + Support for cipher only, hash only is also provided + along with alg-chaining operations. + +* **Added SNOW3G SW PMD.** + + A new Crypto PMD has been added, which provides SNOW 3G UEA2 ciphering + and SNOW3G UIA2 hashing. + +* **Added AES GCM PMD.** + + Added new Crypto PMD to support AES-GCM authenticated encryption and + authenticated decryption in SW. + +* **Added NULL Crypto PMD** + + Added new Crypto PMD to support null crypto operations in SW. + +* **Added IPsec security gateway example.** + + New application implementing an IPsec Security Gateway. + Resolved Issues --------------- This section should contain bug fixes added to the relevant sections. Sample format: -* **code/section Fixed issue in the past tense with a full stop.** +* **code/section: Fixed issue in the past tense with a full stop.** Add a short 1-2 sentence description of the resolved issue in the past tense. The title should contain the code/lib section like a commit message. Add the entries in alphabetic order in the relevant sections below. -* **examples/vhost: Fixed frequent mbuf allocation failure.** - - vhost-switch often fails to allocate mbuf when dequeue from vring because it - wrongly calculates the number of mbufs needed. - EAL ~~~ @@ -87,6 +211,46 @@ Drivers Fixed issue in ethdev library that the structure for setting fdir's mask and flow entry was not consistent in byte ordering. +* **cxgbe: Fixed crash due to incorrect size allocated for RSS table.** + + Fixed a segfault that occurs when accessing part of port 0's RSS + table that gets overwritten by subsequent port 1's part of the RSS + table due to incorrect size allocated for each entry in the table. + +* **cxgbe: Fixed setting wrong device MTU.** + + Fixed an incorrect device MTU being set due to ethernet header and + CRC lengths being added twice. + +* **ixgbe: Fixed zeroed VF mac address.** + + Resolved an issue where VF mac address is zeroed out in cases where the VF + driver is loaded while the PF interface is down. + The solution is to only set it when we get an ACK from the PF. + +* **ixgbe: Fixed setting flow director flag twice.** + + Resolved an issue where packets were being dropped when switching to perfect + filters mode. + +* **ixgbe: Set MDIO speed after MAC reset.** + + The MDIO clock speed must be reconfigured after the MAC reset. The MDIO clock + speed becomes invalid, therefore the driver reads invalid PHY register values. + The driver now set the MDIO clock speed prior to initializing PHY ops and + again after the MAC reset. + +* **i40e: Generated MAC address for each VFs.** + + It generates a MAC address for each VFs during PF host initialization, + and keeps the VF MAC address the same among different VF launch. + +* **i40e: Fixed failure of reading/writing Rx control registers.** + + Fixed i40e issue of failing to read/write rx control registers when + under stress with traffic, which might result in application launch + failure. + * **aesni_mb: Fixed wrong return value when creating a device.** cryptodev_aesni_mb_init() was returning the device id of the device created, @@ -94,6 +258,11 @@ Drivers This made impossible the creation of more than one aesni_mb device from command line. +* **qat: Fixed AES GCM decryption.** + + Allowed AES GCM on the cryptodev API, but in some cases gave invalid results + due to incorrect IV setting. + Libraries ~~~~~~~~~ @@ -107,6 +276,17 @@ Libraries Examples ~~~~~~~~ +* **l3fwd-power: Fixed memory leak for non-IP packet.** + + Fixed issue in l3fwd-power where, on receiving packets of types + other than IPv4 or IPv6, the mbuf was not released, and caused + a memory leak. + +* **examples/vhost: Fixed frequent mbuf allocation failure.** + + vhost-switch often fails to allocate mbuf when dequeue from vring because it + wrongly calculates the number of mbufs needed. + Other ~~~~~ @@ -131,6 +311,31 @@ This section should contain API changes. Sample format: * Add a short 1-2 sentence description of the API change. Use fixed width quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past tense. +* The functions ``rte_eth_dev_udp_tunnel_add`` and ``rte_eth_dev_udp_tunnel_delete`` + have been renamed into ``rte_eth_dev_udp_tunnel_port_add`` and + ``rte_eth_dev_udp_tunnel_port_delete``. + +* The ``outer_mac`` and ``inner_mac`` fields in structure + ``rte_eth_tunnel_filter_conf`` are changed from pointer to struct in order + to keep code's readability. + +* The fields in ethdev structure ``rte_eth_fdir_masks`` were changed + to be in big endian. + +* A parameter ``vlan_type`` has been added to the function + ``rte_eth_dev_set_vlan_ether_type``. + +* The LPM ``next_hop`` field is extended from 8 bits to 24 bits for IPv4 + while keeping ABI compatibility. + +* A new ``rte_lpm_config`` structure is used so LPM library will allocate + exactly the amount of memory which is necessary to hold application’s rules. + The previous ABI is kept for compatibility. + +* The prototype for the pipeline input port, output port and table action + handlers are updated: the pipeline parameter is added, + the packets mask parameter has been either removed or made input-only. + ABI Changes ----------- @@ -139,8 +344,10 @@ ABI Changes the previous releases and made in this release. Use fixed width quotes for ``rte_function_names`` or ``rte_struct_names``. Use the past tense. -* The fields in ethdev structure ``rte_eth_fdir_masks`` were changed - to be in big endian. +* The RETA entry size in ``rte_eth_rss_reta_entry64`` has been increased + from 8-bit to 16-bit. + +* The cmdline buffer size has been increase from 256 to 512. Shared Library Versions @@ -152,10 +359,10 @@ The libraries prepended with a plus sign were incremented in this version. .. code-block:: diff - libethdev.so.2 + + libethdev.so.3 librte_acl.so.2 librte_cfgfile.so.2 - librte_cmdline.so.1 + + librte_cmdline.so.2 librte_distributor.so.1 librte_eal.so.2 librte_hash.so.2 @@ -168,7 +375,7 @@ The libraries prepended with a plus sign were incremented in this version. librte_mbuf.so.2 librte_mempool.so.1 librte_meter.so.1 - librte_pipeline.so.2 + + librte_pipeline.so.3 librte_pmd_bond.so.1 librte_pmd_ring.so.2 librte_port.so.2