* Added a new function ``rte_raw_cksum_mbuf()`` to process the checksum of
data embedded in an mbuf chain.
+ * Added new Rx checksum flags in mbufs to describe more states: unknown,
+ good, bad, or not present (useful for virtual drivers). This modification
+ was done for IP and L4.
+ * Added a new RX LRO mbuf flag, used when packets are coalesced. This
+ flag indicates that the segment size of original packets is known.
* **Added vhost-user dequeue zero copy support**
Added extended statistics to vhost PMD from per port perspective.
+* **Supported offloads with virtio.**
+
+ * Rx/Tx checksums
+ * LRO
+ * TSO
+
* **Added virtio NEON support for ARM.**
* **Updated the ixgbe base driver.**
* increase mailbox version to ixgbe_mbox_api_13
* add two MAC ops for Hyper-V support
+* **Added API's for VF management to the ixgbe PMD.**
+
+ Eight new API's have been added to the ixgbe PMD for VF management from the PF.
+ The declarations for the API's can be found in ``rte_pmd_ixgbe.h``.
+
+* **Updated the enic driver.**
+
+ * Use interrupt for link status checking instead of polling
+ * More flow director modes on UCS Blade with firmware version >= 2.0(13e)
+ * Full support for MTU update
+ * Support for rte_eth_rx_queue_count function
+
+* **Updated the mlx5 driver.**
+
+ * Add support for RSS hash result
+ * Several performance improvements
+ * Several bug fixes
+
* **Updated the QAT PMD.**
The QAT PMD was updated with following support:
* C3XXX device
* C62XX device
-* **Added libcrypto PMD.**
+* **Added openssl PMD.**
A new crypto PMD has been added, which provides several ciphering and hashing.
All cryptography operations are using Openssl library crypto API.
Drivers
~~~~~~~
+* **enic: Fixed several flow director issues.**
+
+* **enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets.**
+
+* **enic: Fixed high driver overhead when servicing Rx queues beyond the first.**
+
Libraries
~~~~~~~~~
* The ``file_name`` data type of ``struct rte_port_source_params`` and
``struct rte_port_sink_params`` is changed from `char *`` to ``const char *``.
+* **Improved device/driver hierarchy and generalized hotplugging**
+
+ Device and driver relationship has been restructured by introducing generic
+ classes. This paves way for having PCI, VDEV and other device types as
+ just instantiated objects rather than classes in themselves. Hotplugging too
+ has been generalized into EAL so that ethernet or crypto devices can use the
+ common infrastructure.
+
+ * removed ``pmd_type`` as way of segregation of devices
+ * moved ``numa_node`` and ``devargs`` into ``rte_driver`` from
+ ``rte_pci_driver``. These can now be used by any instantiated object of
+ ``rte_driver``.
+ * added ``rte_device`` class and all PCI and VDEV devices inherit from it
+ * renamed devinit/devuninit handlers to probe/remove to make it more
+ semantically correct with respect to device<=>driver relationship
+ * moved hotplugging support to EAL. Hereafter, PCI and vdev can use the
+ APIs ``rte_eal_dev_attach`` and ``rte_eal_dev_detach``.
+ * helpers and support macros have been renamed to make them more synonymous
+ with their device types
+ (e.g. ``PMD_REGISTER_DRIVER`` => ``RTE_PMD_REGISTER_PCI``)
+ * Device naming functions have been generalized from ethdev and cryptodev
+ to EAL. ``rte_eal_pci_device_name`` has been introduced for obtaining
+ unique device name from PCI Domain-BDF description.
+ * Virtual device registration APIs have been added: ``rte_eal_vdrv_register``
+ and ``rte_eal_vdrv_unregister``.
+
ABI Changes
-----------
.. code-block:: diff
- libethdev.so.4
librte_acl.so.2
librte_cfgfile.so.2
librte_cmdline.so.2
- librte_cryptodev.so.1
+ + librte_cryptodev.so.2
librte_distributor.so.1
+ librte_eal.so.3
+ + librte_ethdev.so.5
librte_hash.so.2
librte_ip_frag.so.1
librte_jobstats.so.1
librte_mbuf.so.2
librte_mempool.so.2
librte_meter.so.1
+ librte_net.so.1
librte_pdump.so.1
librte_pipeline.so.3
librte_pmd_bond.so.1
This section is a comment. Make sure to start the actual text at the margin.
+#. Intel(R) Server board S2600WTT
+
+ - Processor: Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
+
+#. Intel(R) Server
+
+ - Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
+
+#. Intel(R) Server
+
+ - Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
+
+#. IBM(R) Power8(R)
+
+ - Machine type-model: 8247-22L
+ - Firmware FW810.21 (SV810_108)
+ - Processor: POWER8E (raw), AltiVec supported
+
Tested NICs
-----------
This section is a comment. Make sure to start the actual text at the margin.
+#. Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
+
+ * Host interface: PCI Express 3.0 x16
+ * Device ID: 15b3:1013
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 12.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1015
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 14.17.1010
+
+#. Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
+
+ * Host interface: PCI Express 3.0 x8
+ * Device ID: 15b3:1015
+ * MLNX_OFED: 3.4-1.0.0.0
+ * Firmware version: 14.17.1010
+
Tested OSes
-----------
* Wind River Linux 8
This section is a comment. Make sure to start the actual text at the margin.
+
+* Red Hat Enterprise Linux Server release 6.7 (Santiago)
+* Red Hat Enterprise Linux Server release 7.0 (Maipo)
+* Red Hat Enterprise Linux Server release 7.2 (Maipo)
+* Wind River Linux 6.0.0.26
+* Ubuntu 14.04
+* Ubuntu 15.04