码迷,mamicode.com
首页 > 其他好文 > 详细

DPDK KNI 接口1

时间:2019-07-20 23:33:28      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:nic   cat   程序   维护   系统   interface   linu   分配   加载   

参考文献:

  DPDK官网

........................................................................................................................................一. DPDK KNI 作用

DPDK Kernel NIC Interface(KNI)允许用户空间应用程序访问Linux *控制面。

使用DPDK KNI的好处是:

  • 比现有的Linux TUN / TAP接口更快(通过消除系统调用和copy_to_user()/copy_from_user()操作)。
  • 允许使用标准Linux网络工具(如ethtool,ifconfig和tcpdump)管理DPDK端口。
  • 允许与内核网络堆栈的接口。

使用DPDK内核NIC接口的应用程序的组件如图所示。

技术图片

 

 

KNI内核可加载模块支持两种类型的设备:

  • 其他设备:
    • 创建网络设备(通过ioctl调用)。
    • 维护所有KNI实例共享的内核线程上下文(模拟网络驱动程序的RX端)。
    • 对于单内核线程模式,维护所有KNI实例共享的内核线程上下文(模拟网络驱动程序的RX端)。
    • 对于多个内核线程模式,为每个KNI实例(模拟新驱动程序的RX侧)维护一个内核线程上下文。

网络设备:

    • 通过实现由struct net_device定义的诸如netdev_ops,header_ops,ethtool_ops之类的几个操作提供的Net功能,包括支持DPDK mbufs和FIFO。
    • 接口名称由用户空间提供。
    • MAC地址可以是真正的NIC MAC地址或随机

 

DPDK缓冲区流
  为了最小化在内核空间中运行的DPDK代码的数量,mbuf mempool仅在用户空间中进行管理。内核模块可以感知mbufs,但是所有mbuf分配和释放操作将仅由DPDK应用程序处理。

 

  • 技术图片

DPDK KNI 接口1

标签:nic   cat   程序   维护   系统   interface   linu   分配   加载   

原文地址:https://www.cnblogs.com/mysky007/p/11219593.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!