intel DPDK桥转发源码阅读

本文深入探讨Intel DPDK如何实现网络数据包的快速转发,重点解析桥接模式的源码流程,包括硬件初始化、参数解析、内存池创建、端口配置、MAC地址设置、设备启动及混杂模式启用等关键步骤。
摘要由CSDN通过智能技术生成

   Intel DPDK 目的是为了解决网络数据包的快速转发。他依赖于三个技术: poll方式的网卡驱动,大内存,无锁操作。

   看看桥模式源码:

       1、rte_eal_init初始化硬件。 

       2、l2fwd_parse_args 解析l2fwd使用的参数,使用了三个参数

                     l2fwd_enabled_port_mask 使用的端口,l2fwd_rx_queue_per_lcore,每一个lcore 

                   的接收队列,timer_period 定时参数。

      3、rte_get_timer_hz() 把时间转化为cycles数。

      4、rte_pktmbuf_pool_create 创建mbuf接收内存池

      5、rte_eth_dev_count()获取端口数目

       6、l2fwd_dst_ports 端口全部初始化为0 然后0-1 2-3 等按照配置编写好固定的转发路径

      7、lcore_queue_conf 每一个核的端口配置。每一个端口对应一个队列,如果

             每一个核有多个接收队列,似乎是要配置多个对应的端口

      8、初始化每一个端口的macd地址,TX 和RX的queue (ring),RX使用l2fwd_pktmbuf_pool来保存数据包,

            TX使用tx_buffer放发送的数据包(通过rte_zmalloc_socket来分配)

     9、rte_eth_dev_start 函数来开始设备

     10、rte_eth_promiscuous_enable 来把接口在混杂模式

      11、rte_each_mp_remote_launch(l2fwd_launch_one_lcore,NULL,CALL_MASTER)来启动收发数据包


 

     

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值