<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[奋斗中拥有]]></title><description><![CDATA[人生是个积累的过程，总会有摔倒，即使跌倒了，也要懂得抓一把沙子在手里]]></description><link>https://blog.csdn.net/force_eagle</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; force_eagle]]></copyright><item><title><![CDATA[DPDK X710 DDP PPPoE 实践]]></title><link>https://blog.csdn.net/force_eagle/article/details/121513463</link><guid>https://blog.csdn.net/force_eagle/article/details/121513463</guid><author>force_eagle</author><pubDate>Wed, 24 Nov 2021 13:36:20 +0800</pubDate><description><![CDATA[DPDK X710 DDP PPPoE 实践
DPDK version: 21.08
X710 firmware-version: 6.80 0x80003cc1 1.1747.0
# lspci |grep Ethernet |grep X710
04:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ (rev 02)
04:00.1 Ethernet controller: Intel ]]></description><category></category></item><item><title><![CDATA[QEMU/KVM libvirt X710 PCI passthrough & DPDK 网络性能测试]]></title><link>https://blog.csdn.net/force_eagle/article/details/120343244</link><guid>https://blog.csdn.net/force_eagle/article/details/120343244</guid><author>force_eagle</author><pubDate>Fri, 17 Sep 2021 10:23:44 +0800</pubDate><description><![CDATA[QEMU/KVM libvirt X710 PCI passthrough &amp; DPDK 网络性能测试
宿主机(Host) 配置
QEMU/KVM
$ sudo dnf install qemu-kvm libvirt-daemon-driver-qemu libvirt-daemon-kvm libvirt virt-install libguestfs-tools-c kernel-tools dpdk dpdk-tools
$ sudo systemctl start libvirtd
$ s]]></description><category></category></item><item><title><![CDATA[QEMU/KVM PCI Passthrough(82599ES) & DPDK 网络性能测试]]></title><link>https://blog.csdn.net/force_eagle/article/details/120297974</link><guid>https://blog.csdn.net/force_eagle/article/details/120297974</guid><author>force_eagle</author><pubDate>Tue, 14 Sep 2021 22:32:08 +0800</pubDate><description><![CDATA[QEMU/KVM PCI Passthrough(82599ES) &amp; DPDK 网络性能测试
IOMMU &amp; qemu-kvm &amp; hugepages 等具体配置在这里不再重复介绍, 可参考
QEMU/KVM PCI Passthrough(i350) &amp; DPDK 网络性能测试.
这里只上传不同测试场景下性能数据.
测试环境
CPU:
Architecture:                    x86_64
CPU op-mode(s):              ]]></description><category></category></item><item><title><![CDATA[QEMU/KVM PCI Passthrough(i350) & DPDK 网络性能测试]]></title><link>https://blog.csdn.net/force_eagle/article/details/120219204</link><guid>https://blog.csdn.net/force_eagle/article/details/120219204</guid><author>force_eagle</author><pubDate>Fri, 10 Sep 2021 11:59:54 +0800</pubDate><description><![CDATA[qemu-kvm i350 PCI Passthrough &amp; DPDK testpmd 性能测试
硬件要求：

CPU必须支持硬件虚拟化（Intel VT-d or AMD-Vi) 和 IOMMU

主机配置
设置iommu
IOMMU kernel 配置, 确保以下配置项已启用：
Device Drivers ---&gt;
  [*] IOMMU Hardware Support ---&gt;
            Generic IOMMU Pagetable Support ----
]]></description><category></category></item><item><title><![CDATA[DPDK 21.08 hygon (海光) CPU 环境构建]]></title><link>https://blog.csdn.net/force_eagle/article/details/120127063</link><guid>https://blog.csdn.net/force_eagle/article/details/120127063</guid><author>force_eagle</author><pubDate>Mon, 06 Sep 2021 09:33:37 +0800</pubDate><description><![CDATA[DPDK hygon (海光) CPU 环境构建
海光(hygon) CPU 是基于 AMD Zen 1 (znver1)核心设计授权许可,  AMD与国内合资研发的一款 x86_64 CPU. 支持 SSE/SSE2/SSE3/SSE4A/SSE4.1/SSE4.2/AVX/AVX2/RDRND/RDSEED/PCLMUL 指令集.

GCC
GCC 6.3+ 可指定微架构 -march=znver1 优化 hygon 代码:
$ gcc -march=znver1 -E -dM - &lt; /dev/]]></description><category></category></item><item><title><![CDATA[DPDK - 海光(hygon) 3250 l2fwd 性能测试]]></title><link>https://blog.csdn.net/force_eagle/article/details/119895703</link><guid>https://blog.csdn.net/force_eagle/article/details/119895703</guid><author>force_eagle</author><pubDate>Tue, 24 Aug 2021 18:08:52 +0800</pubDate><description><![CDATA[DPDK - 海光(hygon) 3250 8核 l2fwd 性能测试
CPU
# lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                16
On-line CPU(s) list:   0-15
Thread(s) per core:    2
Core(s) per socket:    ]]></description><category></category></item><item><title><![CDATA[SIP - pjsip Linux & Windows 编译安装]]></title><link>https://blog.csdn.net/force_eagle/article/details/119894982</link><guid>https://blog.csdn.net/force_eagle/article/details/119894982</guid><author>force_eagle</author><pubDate>Tue, 24 Aug 2021 17:36:23 +0800</pubDate><description><![CDATA[SIP - pjsip Linux &amp; Windows 编译安装
PJSIP是一个包含了SIP、SDP、RTP、RTCP、STUN、ICE等协议实现的开源库, 并集成了大量的pjsip示例与 softphone pjsua 命令行工具.
Linux 编译&amp;安装
https://github.com/pjsip/pjproject/releases
libx264
$ git clone https://code.videolan.org/videolan/x264.git
$ cd x264]]></description><category></category></item><item><title><![CDATA[SIP - FreeSwitch 安装 & 编译]]></title><link>https://blog.csdn.net/force_eagle/article/details/119893409</link><guid>https://blog.csdn.net/force_eagle/article/details/119893409</guid><author>force_eagle</author><pubDate>Tue, 24 Aug 2021 16:53:09 +0800</pubDate><description><![CDATA[SIP - FreeSwitch 安装 &amp; 编译
FreeSWITCH是一个开源的电话软交换平台, 这里不做详细介绍, 只用于编译&amp;安装测试 SIP 协议.
FreeSWITCH Installation
Windows MSI 安装
https://files.freeswitch.org/windows/installer/x64/
https://files.freeswitch.org/windows/installer/x64/sounds/
CentOS 7 RPM 安装
$ y]]></description><category></category></item><item><title><![CDATA[Go - 访问C动态分配数组]]></title><link>https://blog.csdn.net/force_eagle/article/details/119245808</link><guid>https://blog.csdn.net/force_eagle/article/details/119245808</guid><author>force_eagle</author><pubDate>Fri, 30 Jul 2021 13:47:29 +0800</pubDate><description><![CDATA[Go - 访问C动态分配数组
使用 unsafe 结合类型转换 *(*[6]C.type) 可将C动态分配数组转换为go识别固定数组类型.
示例
*(*[6]C.uint64_t)(unsafe.Pointer(ptr))  转换指针ptr 为固定数组类型:
package main

/*
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdint.h&gt;
#include &lt;string.h&gt;
void* ]]></description><category></category></item><item><title><![CDATA[CentOS7 bcc 与 bpftrace环境搭建]]></title><link>https://blog.csdn.net/force_eagle/article/details/118931073</link><guid>https://blog.csdn.net/force_eagle/article/details/118931073</guid><author>force_eagle</author><pubDate>Tue, 20 Jul 2021 11:31:02 +0800</pubDate><description><![CDATA[CentOS7 安装 bcc 与 bpftrace
kernel
升级CentOS内核, 建议升级到 4.18+. 此次使用内核 5.12.17 作为测试版本.
注:
kernel 5.12 gcc 版本最低要求为 4.9
BPF Features by Linux Kernel Version 列出了每个内核版本所支持的BPF特性
dwarves
git clone https://github.com/acmel/dwarves
mkdir build &amp;&amp; cd build
cmake]]></description><category></category></item><item><title><![CDATA[bpftrace - tcpstates.bt]]></title><link>https://blog.csdn.net/force_eagle/article/details/118815239</link><guid>https://blog.csdn.net/force_eagle/article/details/118815239</guid><author>force_eagle</author><pubDate>Fri, 16 Jul 2021 18:34:57 +0800</pubDate><description><![CDATA[bpftrace - tcpstates.bt
此工具参考bcc-tcpstates编写, 用于实现跟踪系统 TCP 连接状态(TCP状态机)。
通过在内核态动态函数 kprobe:tcp_set_state 插桩监控 sock 状态变化实现:
#!/usr/bin/env bpftrace
#include &lt;net/tcp_states.h&gt;
#include &lt;net/sock.h&gt;
#include &lt;linux/socket.h&gt;
#include &lt;li]]></description><category></category></item><item><title><![CDATA[bpftrace 使用笔记]]></title><link>https://blog.csdn.net/force_eagle/article/details/118814661</link><guid>https://blog.csdn.net/force_eagle/article/details/118814661</guid><author>force_eagle</author><pubDate>Fri, 16 Jul 2021 18:25:27 +0800</pubDate><description><![CDATA[bpftrace 使用笔记
bpftrace 是基于BPF和BCC的开源系统跟踪工具. bpftrace 自带了许多性能工具，同时还提供一个高级编程语言环境，用于创建自定义的工具.
一般Linux发行版都可直接通过安装包安装使用, 我自己的环境由于升级了KERNEL导致不能正常使用, 只能通过源码重新构建使用.
环境准备:
$ uname -a
Linux fc29 5.12.7-300.fc29.x86_64 #1 SMP Fri May 28 13:45:39 CST 2021 x86_64 x86_6]]></description><category></category></item><item><title><![CDATA[f-stack nginx 单进程模式BSD网络初始化流程]]></title><link>https://blog.csdn.net/force_eagle/article/details/117815517</link><guid>https://blog.csdn.net/force_eagle/article/details/117815517</guid><author>force_eagle</author><pubDate>Fri, 11 Jun 2021 14:10:00 +0800</pubDate><description><![CDATA[接f-stack nginx 单进程模式启动流程分析, 添加了BSD 网络初始化以及协议栈说明


]]></description><category></category></item><item><title><![CDATA[DPDK BPF]]></title><link>https://blog.csdn.net/force_eagle/article/details/117365557</link><guid>https://blog.csdn.net/force_eagle/article/details/117365557</guid><author>force_eagle</author><pubDate>Fri, 28 May 2021 16:01:25 +0800</pubDate><description><![CDATA[DPDK BPF
DPDK 自版本 18.05 已集成了 librte_bpf, 主要利用rte_eth_rx_burst/rte_eth_tx_burst 回调函数机制, 执行eBPF字节码. 当前支持以下特性:

base eBPF ISA (except tail-pointer)
JIT (x86_64 and arm64 only)
eBPF code verifier
user-defined helper functions (64-bit only)
RX/TX filter (加载 eBP]]></description><category></category></item><item><title><![CDATA[DPDK AF_XDP]]></title><link>https://blog.csdn.net/force_eagle/article/details/117302414</link><guid>https://blog.csdn.net/force_eagle/article/details/117302414</guid><author>force_eagle</author><pubDate>Wed, 26 May 2021 19:15:50 +0800</pubDate><description><![CDATA[DPDK AF_XDP
AF_XDP 是 kernel v4.18+ 新加入的一个协议族(如AF_INET), 主要使用 XDP 实现(下图是 XDP 的基本原理图).   核心原理是在 kernel NAPI poll 位置(网卡驱动内部实现, 为内核最早RX数据包位置)运行 BPF 程序,  通过不断调用 poll 方法, 最终将数据包送到正确的XDP程序处理.

XDP 支持 3 种工作模式:

Native XDP -运行在网卡驱动实现的 poll 函数中, 需网卡驱动支持;
Offloaded X]]></description><category></category></item><item><title><![CDATA[f-stack nginx 单进程模式启动流程分析]]></title><link>https://blog.csdn.net/force_eagle/article/details/116982887</link><guid>https://blog.csdn.net/force_eagle/article/details/116982887</guid><author>force_eagle</author><pubDate>Tue, 18 May 2021 11:59:20 +0800</pubDate><description><![CDATA[f-stack nginx 单进程模式启动流程分析
本文主要对 f-stack nginx 单进程模式启动流程做基本梳理, 单进程模式主要调用函数 ngx_single_process_cycle , 配置单进程启动 nginx.conf:
daemon off;
master_process off;



]]></description><category></category></item><item><title><![CDATA[f-stack nginx 多进程模式启动 & main_loop 流程分析]]></title><link>https://blog.csdn.net/force_eagle/article/details/116982008</link><guid>https://blog.csdn.net/force_eagle/article/details/116982008</guid><author>force_eagle</author><pubDate>Tue, 18 May 2021 11:38:36 +0800</pubDate><description><![CDATA[f-stack nginx 启动 &amp; main_loop 流程分析
主要对nginx启动后 f-stack 启动流程做一个基本梳理, 包含以下函数的基本流程分析:

ngx_master_process_cycle
ngx_worker_process_cycle
f-statck main_loop



]]></description><category></category></item><item><title><![CDATA[f-stack 编译&测试笔记]]></title><link>https://blog.csdn.net/force_eagle/article/details/116915054</link><guid>https://blog.csdn.net/force_eagle/article/details/116915054</guid><author>force_eagle</author><pubDate>Mon, 17 May 2021 09:36:47 +0800</pubDate><description><![CDATA[f-stack 使用笔记
注:
以下过程在fedora29+/centos8测试通过.

Intel® Xeon® CPU E5-2670 0 @ 2.60GHz x2
DIMM DDR3 Synchronous Registered (Buffered) 1600 MHz (0.6 ns) 16GiB x2
Intel Corporation I350 Gigabit Network Connection (rev 01) x2
Intel Corporation Ethernet Controller ]]></description><category></category></item><item><title><![CDATA[DPDK - mlx5 ConnectX-6 Dx flow 性能问题]]></title><link>https://blog.csdn.net/force_eagle/article/details/116668854</link><guid>https://blog.csdn.net/force_eagle/article/details/116668854</guid><author>force_eagle</author><pubDate>Tue, 11 May 2021 20:37:26 +0800</pubDate><description><![CDATA[DPDK - mlx5 ConnectX-6 Dx flow 性能问题
继测试完Mellanox ConnectX-5 flow 性能问之后, 这次测试Mellanox ConnectX-6 Dx 卡.
结果出乎意料, 比ConnectX-5 好了不少,  但是依然存在性能影响, 三条no match flow 绝杀, 性能从线速收包降到了 115.9Mpps:
flow create 0 ingress pattern eth / ipv4 / udp dst is 53 / end actions co]]></description><category></category></item><item><title><![CDATA[DPDK - mlx5 drop action 性能 patch]]></title><link>https://blog.csdn.net/force_eagle/article/details/116667798</link><guid>https://blog.csdn.net/force_eagle/article/details/116667798</guid><author>force_eagle</author><pubDate>Tue, 11 May 2021 20:24:52 +0800</pubDate><description><![CDATA[DPDK - mlx5 drop action 性能 patch
算吐槽一下吧!
Mellanox CX5 一条简单的 drop flow 在就能导致网卡硬件丢包造成数据包处理瓶颈!
跟了这个问题 2 年多, 这次终于解决了!
flow create 0 ingress pattern eth / ipv4 / udp / end actions drop / end

可惜的是, 这个只是解决了一个问题 ! hw flow 性能问题依然没有解决, 不知道是本身CX5硬件的瓶颈还是 firmware问题, ]]></description><category></category></item></channel></rss>