The :doc:`ibverbs <py-ibverbs>` acceleration has been substantially modified to use a newer version of rdma-core. It will no longer compile against versions of MLNX-OFED prior to 5.0. Compiled code (such as Python wheels) will still run against old versions of MLNX-OFED, but extension features such as multi-packet receive queues and packet timestamps will not work. It is recommended that if you are using ibverbs acceleration with older MLNX-OFED drivers that you stick with spead2 2.x until you're able to upgrade the drivers and spead2 simultaneously.
Other changes:
- Support hardware send rate limiting when using ibverbs. - Discover libibverbs and pcap using pkg-config where possible. - Make :program:`configure` print out the configuration that will be compiled. - Update the Python wheels to use manylinux2014. This uses a newer compiler (potentially giving better performance) and supports :c:func:`sendmmsg`. - Add wheels for Python 3.9. - A number of deprecated functions have been removed. - Avoid ibverbs code creating a send queue for receiver or vice versa. - Rename ``slave`` option to :program:`spead2_bench` to ``agent``.
2.1.2
- Make verbs acceleration work when run against MLNX OFED 5.x, including with Python wheels. Note that it will not use multi-packet receive queues, so receive performance may still be better on MLNX OFED 4.9.
2.1.1
- Update pybind to 2.5.0. - Fix compilation against latest rdma-core. - Some documentation cleanup.
2.1.0
- Support unicast receive with ibverbs acceleration (including in :program:`mcdump`). - Fix :program:`spead2_recv` listening only on loopback when given just a port number. - Support unicast addresses in a few APIs that previously only accepted multicast addresses; in most cases the unicast address must match the interface address. - Add missing ``<map>`` include to ``<spead2/recv_heap.h>``. - Show the values of immediate items in :program:`spead2_recv`. - Fix occasional crash when using thread pool with more than one thread together with ibverbs. - Fix bug in mcdump causing it to hang if the arguments couldn't be parsed (only happened when capturing to file). - Fix :program:`spead2_recv` reporting statistics that may miss out the last batch of packets.
2.0.2
- Log warnings on some internal errors (that hopefully never happen). - Include wheels for Python 3.8. - Build debug symbols for binary wheels (in a separate tarball on Github).
2.0.1
- Fix race condition in TCP receiver (78). - Update vendored pybind11 to 2.4.2.