# clone F-Stack
mkdir -p /data/f-stack
git clone https://github.com/F-Stack/f-stack.git /data/f-stack

# Install libnuma-dev
yum install numactl-devel # on Centos
#sudo apt-get install libnuma-dev # on Ubuntu

pip3 install pyelftools --upgrade
# Install python and modules for running DPDK python scripts
pip3 install pyelftools --upgrade # RedHat/Centos
sudo apt install python # On ubuntu
#sudo pkg install python # On FreeBSD

# Install dependencies (FreeBSD only)
#pkg install meson pkgconf py38-pyelftools

cd f-stack
# Compile DPDK
cd dpdk/
meson -Denable_kmods=true build
ninja -C build
ninja -C build install

 

 

 meson编译报错, 找不到内核源码:
ERROR: Command "/usr/bin/make -sC /lib/modules/5.4.210-1.el7.elrepo.x86_64/build kernelversion" failed with status 2
  yum install kernel-devel-$(uname -r)
# Set hugepage (Linux only)
# single-node system
echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

# or NUMA (Linux only)
echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
echo 1024 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages

# Using Hugepage with the DPDK (Linux only)
mkdir /mnt/huge
mount -t hugetlbfs nodev /mnt/huge

# Close ASLR; it is necessary in multiple process (Linux only)
echo 0 > /proc/sys/kernel/randomize_va_space

# Offload NIC
# For Linux:
modprobe uio
insmod /data/f-stack/dpdk/build/kernel/linux/igb_uio/igb_uio.ko
insmod /data/f-stack/dpdk/build/kernel/linux/kni/rte_kni.ko carrier=on # carrier=on is necessary, otherwise need to be up `veth0` via `echo 1 > /sys/class/net/veth0/carrier`
python dpdk-devbind.py --status
ifconfig eth0 down
python dpdk-devbind.py --bind=igb_uio eth0 # assuming that use 10GE NIC and eth0

# For FreeBSD:
# Refer DPDK FreeBSD guide to set tunables in /boot/loader.conf
# Below is an example used for our testing machine
#echo "hw.nic_uio.bdfs=\"2:0:0\"" >> /boot/loader.conf
#echo "hw.contigmem.num_buffers=1" >> /boot/loader.conf
#echo "hw.contigmem.buffer_size=1073741824" >> /boot/loader.conf
#kldload contigmem
#kldload nic_uio

# On Ubuntu, use gawk instead of the default mawk.
#sudo apt-get install gawk # or execute `sudo update-alternatives --config awk` to choose gawk.

# Install dependencies for F-Stack
sudo apt install gcc make libssl-dev # On ubuntu
#sudo pkg install gcc gmake openssl pkgconf libepoll-shim # On FreeBSD

# Upgrade pkg-config while version < 0.28
#cd /data
#wget https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
#tar xzvf pkg-config-0.29.2.tar.gz
#cd pkg-config-0.29.2
#./configure --with-internal-glib
#make
#make install
#mv /usr/bin/pkg-config /usr/bin/pkg-config.bak
#ln -s /usr/local/bin/pkg-config /usr/bin/pkg-config

# Compile F-Stack
export FF_PATH=/data/f-stack
export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib/pkgconfig
cd /data/f-stack/lib/
make # On Linux
#gmake # On FreeBSD

# Install F-STACK
# libfstack.a will be installed to /usr/local/lib
# ff_*.h will be installed to /usr/local/include
# start.sh will be installed to /usr/local/bin/ff_start
# config.ini will be installed to /etc/f-stack.conf
make install # On Linux
#gmake install # On FreeBSD

 

posted @ 2023-04-26 10:52 紫梦凌云 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 安装Hpyerscan编译的时候报错,发现是gcc版本太低。centos7.9默认yum installgcc g++安装的版本是4.8.5需要升级5以上。 默认使用yum install gcc安装出来的gcc版本是4.8.5,可以升级到8.3.1,需要执行 yum install centos- 阅读全文
posted @ 2022-06-12 17:45 紫梦凌云 阅读(1674) 评论(0) 推荐(1) 编辑
摘要: 日志, 是一个开发必备的东西, 特别是服务器,处理并发的服务器所一定调试要用到的。之前刚开始的时候还曾使用过使用文件io创建, 文件进行记录相关日志, 结果过程中出现的好多问题, 自己给自己弄得焦头烂额,后来主攻了这部分内容,最近在写lua接口的时候不知道怎么用了, 查询日志类型的时候,没有找到正确 阅读全文
posted @ 2022-05-13 10:10 紫梦凌云 阅读(1764) 评论(0) 推荐(0) 编辑
摘要: 这篇文章会尽量以通俗易懂的方式描述iptables的相关概念,请耐心的读完它。 防火墙相关概念 此处先描述一些相关概念。 从逻辑上讲。防火墙可以大体分为主机防火墙和网络防火墙。 主机防火墙:针对于单个主机进行防护。 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局 阅读全文
posted @ 2022-05-07 10:06 紫梦凌云 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 执行顺序 图片来源:https://github.com/openresty/lua-nginx-module#directives 指令解释 init_by_lua*:初始化 nginx 和预加载 lua(nginx 启动和 reload 时执行);init_worker_by_lua*:每个工作 阅读全文
posted @ 2022-05-04 22:03 紫梦凌云 阅读(332) 评论(0) 推荐(0) 编辑
摘要: Nginx是一个高性能的HTTP和反向代理服务器。Nginx access日志记录了web应用的访问记录。大致记录了访问方式(POST/GET)、客户端IP、远程用户、请求时间、请求状态码、访问host地址、请求页面大小、reffer信息、x_forwarded_for地址等等。nginx acce 阅读全文
posted @ 2022-05-04 16:38 紫梦凌云 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 一、爬虫工程师是干嘛的? 1、主要工作内容? 互联网是由一个一个的超链接组成的,从一个网页的链接可以跳到另一个网页,在新的网页里,又有很多链接。理论上讲,从任何一个网页开始,不断点开链接、链接的网页的链接,就可以走遍整个互联网!这个过程是不是像蜘蛛沿着网一样爬?这也是“爬虫”名字的由来。 作为爬虫工 阅读全文
posted @ 2022-04-15 10:14 紫梦凌云 阅读(801) 评论(0) 推荐(0) 编辑
摘要: buffer是指内存地址空间。1、Linux系统默认大小一般为4096(4kb)。其主要用是存储速度不同步或者优先级不同的设备之间传处理数据的区域,可以使进程之间的相互等待变少。例如,当你打开一个编辑器,输入字符,操作系统并不会立即把这个字符直接写入到磁盘,而是先写入到buffer,当写满了一个bu 阅读全文
posted @ 2022-04-12 09:59 紫梦凌云 阅读(114) 评论(0) 推荐(0) 编辑
摘要: ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行/都会有"Header had all ready send by"的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出.当然打开缓冲区 阅读全文
posted @ 2022-04-12 09:47 紫梦凌云 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 设置:localectl set-local LANG=en_US.UTF-8 查看: localectl list-locales 阅读全文
posted @ 2022-04-12 09:41 紫梦凌云 阅读(642) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示