欢迎来到 DPDK交流社区 ,有什么问题可以尽管在这里提问,您将会收到社区其他成员的回答;也可以将您的总结写在这里,为社区其他成员提供帮助。 (QQ交流群:127163755)

DPDK Release 17.02 版本发布

0 投票

支持了在EAL中对bus的表示 

在EAL中添加了rte_bus结构,从而可以得知设备所连接的总线。通过扩展rte_bus结构以及实现相应的scan和probe函数,就可以在DPDK中添加新的总线。一旦新总线通过所提供的API完成了注册,新的设备就可以通过总线的scan和probe函数完成探测和初始化。因此,除了PCI或VDEV以外的设备也可在DPDK框架内表示出来。

为I/O设备内存读写操作添加通用EAL API  

这些API提供了8位、16位、32位和64位的I/O设备内存的读写操作,并提供了相应的"relaxed" version。Weakly-ordered的架构如ARM,通过PCI总线对设备内存进行读写操作时需要额外的I/O barrier。通过在EAL层引入对I/O设备内存读写操作的抽象,驱动可以以架构无关的方式访问I/O设备的内存。"Relaxed"版本的API没有包含额外的I/O barrier,可以用来访问那些strongly-ordered的控制器的寄存器。

添加了通用的流过滤API (rte_flow)

此API提供了一种通用方法来配置硬件以匹配特定的入口或出口流量,根据任意数量的用户定义的规则更改其行为和查询相关的计数器。和原来的包过滤框架(包括功能和过滤类型)相比,更抽象一些,以便为所有的PMD驱动提供一个统一的行为明确的编程接口。详情请见Generic flow API文档:

http://dpdk.org/doc/guides/prog_guide/rte_flow.html#generic-flow-api  

添加了获取固件版本的API

添加了新函数rte_eth_dev_fw_version_get()来获取指定设备的固件版本。

ixgbe PMD添加了APIs MACsec offload

Ixgbe PMD添加了6个用于提供MACsec offload支持的API,可在rte_pmd_ixgbe.h中找到这些API的声明。

添加了对I219网卡的支持

添加了对I219 Intel 1GbE 网卡的支持。

在i40e上添加了对VF Daemon (VFD)的支持

由于内核PF 驱动不支持多个VF管理功能,这是一个实验性功能用来增强DPDK PF的功能。一些新的API直接在PMD层面实现,没有添加抽象层。有需要的用户可以直接使用。这些控制VF的新API直接来自于PF,包括:

设置VF MAC anti-spoofing;

设置VF VLAN anti-spoofing;

设置TX loopback;

设置VF单播混杂模式;

设置VF多播混杂模式;

设置VF MTU;

获得或重置VF stats;

设置VF MAC地址;

设置VF VLAN stripping;

设置VF VLAN insertion;

设置VF广播模式;

设置VF VLAN 标签;

设置VLAN filter;

VFD还包括VF to PF mailbox管理。PF从VF收到mailbox信息,PF应当调用APP提供的回调函数,从而判断是否应该处理这些消息。这是一个实验性的功能,它可能在没有预先通知的情况下被修改甚至移除。

更新了i40e base驱动

更新了i40e base驱动,包含以下内容:

  • 用i40e_memcpy()取代memcpy()

  • 使用BIT() 宏而不是位字段

  • 实现了“清理所有WoL filter”的功能

  • 支持了per-vlan的广播混杂模式控制

为Solarflare网卡添加了基于libefx库的PMD驱动

添加了一个用于支持Solarflare SFN7xxx and SFN8xxx系列的10/40Gb网卡的PMD驱动。

添加了对Mellanox ConnectX-5网卡的支持(mlx5)

为mlx5 PMD添加了对Mellanox ConnectX-5系列的10/25/40/50/100 Gbps网卡的支持。

virtio-user作为exception path

此前,我们为DPDK添加了一个以vhost-user为后端的虚拟设备virtio-user,用于进程间通信(IPC)以及用户空间的容器网络。

以vhost-kernel为后端,virtio-user也是一种实现exception path (如KNI) 的方案,用来与内核网络协议栈通信。这种方案在以下方面很有优势:

:vhost-net(内核)是upstream的广泛使用的内核模块。

特性:vhost-net原本就是得天独厚的网络解决方案,有很多网络相关的功能,如多队列、TSO、多段mbuf等。

机制与KNI类似,此解决方案将使用一个或多个kthread与用户空间DPDK应用程序发送或接收数据包,这对用户空间轮询线程几乎没有影响(除了它可能需要在必要时进入内核空间唤醒这些kthread)。

性能与KNI相比,iperf性能有比较大的提升,得益于多段mbuf和vhostTSO的性能加速。

添加了对virtio Rx中断的支持

这个特性为绑定VFIO (noiommu模式)模块并使用virtio PMD驱动的virtio pci网卡添加了rx interrupt模式的支持。有了这个功能,virtio PMD可以在轮询模式和中断模式之间切换以实现最佳性能,同时比较省电。可以在传统和现代virtio设备上工作。在此模式下,每个rx队列与一个独立的MSXx中断对应。详情请参阅Virtio中断模式的文档:

http://dpdk.org/doc/guides/nics/virtio.html#virtio-interrupt-mode  

添加了ARMv8 加密PMD

添加了新的加密PMD,提供了针对ARMv8处理器优化的组合模式加密操作。驱动程序可用于提高处理链接操作(例如cipher + HMAC)的性能。

更新了QAT PMD

QAT PMD更新了对以下方面的额外支持:

  • DES算法

  • 支持Scatter-gather list (SGL)

更新了AESNI MB PMD

更新了AES-NI GCM PMD。

AES-NI GCM PMD从MB库迁移到ISA-L库,迁移需要以下额外支持:

  • GMAC算法

  • 256位密钥

  • 无会话模式

  • 异地处理

  • 链接mbuf的分散支持(只有外部和目标mbuf必须是连续的)

添加了弹性流分配器库(rte_efd)

这个新库使用完美散列来确定特定的传入流键的目标或值。它不会将键本身存储用于查找操作,因此查找性能不取决于键大小。此外,这个目标或值可以是任意值(默认为8位)。最后,这个存储需求远小于基于散列的流表,因此,它可以更好地适合CPU缓存,能够扩展到数百万流密钥。

详细信息请参见Programmers Guide文档中的Elastic Flow Distributor Library文档:

http://dpdk.org/doc/guides/prog_guide/efd_lib.html#efd-library 。

转自:DPDK开源社区

完整版本的发布说明,可查看这里

 

 

 

最新提问 2月 23, 2017 分类:行业新闻 | 用户: sysight (9,620 分)

登录 或者 注册 后回答这个问题。

...