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 X710 for 10GbE SFP+ (rev 02) x2
- Mellanox Technologies MT27800 Family [ConnectX-5] x2
- nginx 安装目录 /opt/ff-nginx-dev
编译
$ dnf install -y git ninja-build make cmake meson binutils-devel elfutils-devel numactl-devel openssl-devel libudev-devel kernel-devel bison ncurses-devel flex elfutils-libelf-devel libmnl-static libidn-devel sqlite3-devel libuv-devel libuv-static iproute-devel ncurses-devel bison kernel-rpm-macros rpm-build dwarves libmaxminddb-devel pcre-devel gcc clang gcc-c++ glibc-devel glibc-static python3-devel awk pkg-config
$ git clone https://github.com/F-Stack/f-stack.git
dpdk
$ cd f-stack/dpdk
$ meson -Denable_kmods=true build
$ ninja -C build
$ ninja -C build install
**ALSR
配置禁用
, 多进程模式下必须配置. **
$ echo 0 > /proc/sys/kernel/randomize_va_space
注:
DPDK 默认会安装到 /usr/local/{include,lib64}
目录下;
insmod f-stack/dpdk/build/kernel/linux/igb_uio/igb_uio.ko
insmod f-stack/dpdk/build/kernel/linux/kni/rte_kni.ko carrier=on
dpdk-devbind.py --status
dpdk debug
meson
配置时添加 --buildtype=debug
参数可启用 DPDK debug
. 启用debug
链接时间会比较长, 可通过CTRL+C
后重新 ninja -j1 -C build install
.
$ cd f-stack/dpdk
$ meson --buildtype=debug -Denable_kmods=true build
$ ninja -C build
$ ninja -C build install
**注: buildtype
默认为 release
. 其他可选配置为[plain, debug, debugoptimized, release, minsize, custom]
.
dpdk tune
meson
配置时添加 -machine=XXXX
指定CPU优化参数, 默认为 native
与本地编译环境CPU相同优化. 其他CPU可通过以下命令检查编译器所支持的可选target
:
clang -print-supported-cpus
gcc --help=target/gcc --target-help
$ cd f-stack/dpdk
$ meson --buildtype=debug -Denable_kmods=true -machine=skylake-avx512 build
$ ninja -C build
$ ninja -C build install
f-stack
export FF_PATH=f-stack源代码目录
export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig:/usr/lib/pkgconfig
cd f-stack/lib
make
make install
f-stack debug
打开 Makefile
找到DEUBG
并取消注释后重新 make & make install
:
DEBUG=-O0 -gdwarf-2 -g3 -Wno-format-truncation
relocation R_X86_64_32S against `.rodata’ can not be used when making a PIE object
这是高版本编译器默认开启了-pie
参数导致, google说使用-no-pie
禁用即可. 但是修改后依然报错, 改为-fPIC
后链接通过, 详细问题待有时间再查.
打开 Makefile
在HOST_C=
行之前添加:
diff --git a/lib/Makefile b/lib/Makefile
index 4d841a57..d9b27a02 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -23,7 +23,7 @@ F-STACK_VERSION=1.22
HOST_OS:=$(shell uname -s)
-#DEBUG=-O0 -gdwarf-2 -g3 -Wno-format-truncation
+DEBUG=-O0 -gdwarf-2 -g3 -Wno-format-truncation
FF_KNI=1
#FF_FLOW_ISOLATE=1
@@ -84,6 +84,12 @@ HOST_CFLAGS+= -DINET6
CFLAGS+= -DINET6
endif
+CFLAGS += -fPIC
+HOST_CFLAGS+= -fPIC
+
+#CFLAGS += -no-pie
+#HOST_CFLAGS+= -no-pie
+
HOST_C= ${CC} -c $(HOST_CFLAGS) ${HOST_INCLUDES} ${WERROR} ${PROF} $<
nginx
$ cd f-stack/app/nginx-1.16.1/
$ ./configure --prefix=/opt/ff-nginx-dev --with-ff_module
$ make install
nginx with debug:
$ ./configure --prefix=/opt/ff-nginx-dev --with-ff_module --with-cc-opt=" -m64 -fPIC -O0 -g3 "
运行配置
f-stack 配置
/opt/ff-nginx-dev/conf/f-stack.conf
[dpdk]
DPDK 运行配置
# 与 nginx.conf worker_processes 保持一致
lcore_mask=1
# dpdk eal -n 内存通道参数
channel=2
# 控制 dpdk 启用的 port list
port_list=0
[pcap]
抓包配置, 启用后f-stack
会通过ff_dump_packets
将DPDK RX保存都保存到savepath
目录, 文件名格式为cpu%d_%d.pcap(运行CPU,运行CPU抓包序号)
:
[pcap]
enable = 0
savepath = /data/f-stack/pcap
snaplen= 96
savelen= 16777216
[portX]
配置网卡IP地址、掩码、网关, 启用了几个网卡端口就配置多少个[portX]
:
[port0]
addr=172.16.44.42
netmask=255.255.225.0
broadcast=172.16.44.255
gateway=172.16.44.44
nginx 单进程模式
/opt/ff-nginx-dev/conf/nginx.conf
worker_processes 1;
daemon off;
master_process off;
nginx 多进程模式
示例nginx
启用4 worker
进程.
nginx.conf
:
worker_processes 4;
#daemon off;
#master_process off;
f-stack.conf
:
[dpdk]
# Hexadecimal bitmask of cores to run on.
lcore_mask=f
注: daemon on
模式下 DPDK RTE LOG 输出到syslog
Nginx Testing
/opt/ff-nginx-dev/sbin/nginx
日志
f-stack nginx
启动日志(worker_processes 4
& daemon off
多进程模式):
[root@fc29 conf]# /opt/ff-nginx-dev/sbin/nginx
nginx: [warn] 102400 worker_connections exceed open file resource limit: 1024"}
[dpdk]: lcore_mask=f
[dpdk]: channel=2
[dpdk]: promiscuous=1
[dpdk]: numa_on=1
[dpdk]: tx_csum_offoad_skip=0
[dpdk]: tso=0
[dpdk]: vlan_strip=1
[dpdk]: idle_sleep=0
[dpdk]: pkt_tx_delay=100
[dpdk]: symmetric_rss=0
[dpdk]: port_list=0
[dpdk]: nb_vdev=0
[dpdk]: nb_bond=0
[pcap]: enable=0
[pcap]: snaplen=96
[pcap]: savelen=16777216
[port0]: addr=172.16.44.42
[port0]: netmask=255.255.225.0
[port0]: broadcast=172.16.44.255
[port0]: gateway=172.16.44.44
[freebsd.boot]: hz=100
[freebsd.boot]: fd_reserve=1024
[freebsd.boot]: kern.ipc.maxsockets=262144
[freebsd.boot]: net.inet.tcp.syncache.hashsize=4096
[freebsd.boot]: net.inet.tcp.syncache.bucketlimit=100
[freebsd.boot]: net.inet.tcp.tcbhashsize=65536
[freebsd.boot]: kern.ncallout=262144
[freebsd.boot]: kern.features.inet6=1
[freebsd.boot]: net.inet6.ip6.auto_linklocal=1
[freebsd.boot]: net.inet6.ip6.accept_rtadv=2
[freebsd.boot]: net.inet6.icmp6.rediraccept=1
[freebsd.boot]: net.inet6.ip6.forwarding=0
[freebsd.sysctl]: kern.ipc.somaxconn=32768
[freebsd.sysctl]: kern.ipc.maxsockbuf=16777216
[freebsd.sysctl]: net.link.ether.inet.maxhold=5
[freebsd.sysctl]: net.inet.tcp.fast_finwait2_recycle=1
[freebsd.sysctl]: net.inet.tcp.sendspace=16384
[freebsd.sysctl]: net.inet.tcp.recvspace=8192
[freebsd.sysctl]: net.inet.tcp.cc.algorithm=cubic
[freebsd.sysctl]: net.inet.tcp.sendbuf_max=16777216
[freebsd.sysctl]: net.inet.tcp.recvbuf_max=16777216
[freebsd.sysctl]: net.inet.tcp.sendbuf_auto=1
[freebsd.sysctl]: net.inet.tcp.recvbuf_auto=1
[freebsd.sysctl]: net.inet.tcp.sendbuf_inc=16384
[freebsd.sysctl]: net.inet.tcp.recvbuf_inc=524288
[freebsd.sysctl]: net.inet.tcp.sack.enable=1
[freebsd.sysctl]: net.inet.tcp.blackhole=1
[freebsd.sysctl]: net.inet.tcp.msl=2000
[freebsd.sysctl]: net.inet.tcp.delayed_ack=0
[freebsd.sysctl]: net.inet.udp.blackhole=1
[freebsd.sysctl]: net.inet.ip.redirect=0
[freebsd.sysctl]: net.inet.ip.forwarding=0
f-stack -c1 -n2 --proc-type=primary --log-level=8 EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: Probe PCI driver: net_e1000_igb (8086:1521) device: 0000:02:00.3 (socket 0)
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:05:00.0 (socket 0)
common_mlx5: RTE_MEM is selected.
mlx5_pci: Size 0xFFFF is not power of 2, will be aligned to 0x10000.
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:05:00.1 (socket 0)
mlx5_pci: Size 0xFFFF is not power of 2, will be aligned to 0x10000.
EAL: No legacy callbacks, legacy socket not created
lcore: 0, port: 0, queue: 0
create mbuf pool on socket 0
create ring:dispatch_ring_p0_q0 success, 2047 ring entries are now free!
create ring:dispatch_ring_p0_q1 success, 2047 ring entries are now free!
create ring:dispatch_ring_p0_q2 success, 2047 ring entries are now free!
create ring:dispatch_ring_p0_q3 success, 2047 ring entries are now free!
EAL: Init ip4/ip6 set multi writer add hash table
EAL: Init ip4/ip6 set multi writer add hash table
EAL: Init IP4SET table(262144) on socket-0
EAL: Init IP6SET table(262144) on socket-0
EAL: (14738) rte_hash_create IP4SET & IP6SET succ (0x17bcca840/0x17b4a0c00)EAL: ip4set_htable->tot_ring_cnt 270145 > FF_IPSET_MAX 262144
EAL: ip6set_htable->tot_ring_cnt 270145 > FF_IPSET_MAX 262144
Port 0 MAC: 84 8f 69 fd ff 2d
Port 0 modified RSS hash function based on hardware support,requested:0x3ffffc configured:0x38d34
RX checksum offload supported
TX ip checksum offload supported
TX TCP&UDP checksum offload supported
TSO is disabled
port[0]: rss table size: 128
set port 0 to promiscuous mode ok
Checking link status..............................done
Port 0 Link Up - speed 1000 Mbps - full-duplex
link_elf_lookup_symbol: missing symbol hash table
link_elf_lookup_symbol: missing symbol hash table
Timecounters tick every 10.000 msec
Timecounter "ff_clock" frequency 100 Hz quality 1
f-stack-0: No addr6 config found.
f-stack-0: Ethernet address: 84:8f:69:fd:ff:2d
[dpdk]: lcore_mask=f
[dpdk]: lcore_mask=f
[dpdk]: channel=2
[dpdk]: promiscuous=1
[dpdk]: channel=2
[dpdk]: numa_on=1
[dpdk]: promiscuous=1
[dpdk]: tx_csum_offoad_skip=0
[dpdk]: numa_on=1
[dpdk]: tso=0
[dpdk]: tx_csum_offoad_skip=0
[dpdk]: vlan_strip=1
[dpdk]: tso=0
[dpdk]: idle_sleep=0
[dpdk]: vlan_strip=1
[dpdk]: pkt_tx_delay=100
[dpdk]: idle_sleep=0
[dpdk]: symmetric_rss=0
[dpdk]: pkt_tx_delay=100
[dpdk]: symmetric_rss=0
[dpdk]: port_list=0
[dpdk]: port_list=0
[dpdk]: nb_vdev=0
[dpdk]: nb_vdev=0
[dpdk]: nb_bond=0
[dpdk]: nb_bond=0
[pcap]: enable=0
[pcap]: enable=0
[dpdk]: lcore_mask=f
[pcap]: snaplen=96
[pcap]: snaplen=96
[dpdk]: channel=2
[pcap]: savelen=16777216
[pcap]: savelen=16777216
[port0]: addr=172.16.44.42
[port0]: addr=172.16.44.42
[dpdk]: promiscuous=1
[dpdk]: numa_on=1
[dpdk]: tx_csum_offoad_skip=0
[dpdk]: tso=0
[port0]: netmask=255.255.225.0
[port0]: netmask=255.255.225.0
[dpdk]: vlan_strip=1
[port0]: broadcast=172.16.44.255
[dpdk]: idle_sleep=0
[port0]: broadcast=172.16.44.255
[port0]: gateway=172.16.44.44
[dpdk]: pkt_tx_delay=100
[port0]: gateway=172.16.44.44
[dpdk]: symmetric_rss=0
[freebsd.boot]: hz=100
[dpdk]: port_list=0
[freebsd.boot]: hz=100
[freebsd.boot]: fd_reserve=1024
[freebsd.boot]: fd_reserve=1024
[dpdk]: nb_vdev=0
[freebsd.boot]: kern.ipc.maxsockets=262144
[freebsd.boot]: kern.ipc.maxsockets=262144
[dpdk]: nb_bond=0
[freebsd.boot]: net.inet.tcp.syncache.hashsize=4096
[freebsd.boot]: net.inet.tcp.syncache.hashsize=4096
[pcap]: enable=0
[freebsd.boot]: net.inet.tcp.syncache.bucketlimit=100
[freebsd.boot]: net.inet.tcp.syncache.bucketlimit=100
[pcap]: snaplen=96
[freebsd.boot]: net.inet.tcp.tcbhashsize=65536
[freebsd.boot]: net.inet.tcp.tcbhashsize=65536
[pcap]: savelen=16777216
[freebsd.boot]: kern.ncallout=262144
[freebsd.boot]: kern.ncallout=262144
[port0]: addr=172.16.44.42
[freebsd.boot]: kern.features.inet6=1
[freebsd.boot]: kern.features.inet6=1
[freebsd.boot]: net.inet6.ip6.auto_linklocal=1
[freebsd.boot]: net.inet6.ip6.auto_linklocal=1
[freebsd.boot]: net.inet6.ip6.accept_rtadv=2
[freebsd.boot]: net.inet6.ip6.accept_rtadv=2
[freebsd.boot]: net.inet6.icmp6.rediraccept=1
[freebsd.boot]: net.inet6.icmp6.rediraccept=1
[freebsd.boot]: net.inet6.ip6.forwarding=0
[freebsd.boot]: net.inet6.ip6.forwarding=0
[port0]: netmask=255.255.225.0
[freebsd.sysctl]: kern.ipc.somaxconn=32768
[freebsd.sysctl]: kern.ipc.somaxconn=32768
[port0]: broadcast=172.16.44.255
[freebsd.sysctl]: kern.ipc.maxsockbuf=16777216
[freebsd.sysctl]: kern.ipc.maxsockbuf=16777216
[port0]: gateway=172.16.44.44
[freebsd.sysctl]: net.link.ether.inet.maxhold=5
[freebsd.sysctl]: net.link.ether.inet.maxhold=5
[freebsd.sysctl]: net.inet.tcp.fast_finwait2_recycle=1
[freebsd.sysctl]: net.inet.tcp.fast_finwait2_recycle=1
[freebsd.boot]: hz=100
[freebsd.sysctl]: net.inet.tcp.sendspace=16384
[freebsd.sysctl]: net.inet.tcp.sendspace=16384
[freebsd.sysctl]: net.inet.tcp.recvspace=8192
[freebsd.sysctl]: net.inet.tcp.recvspace=8192
[freebsd.boot]: fd_reserve=1024
[freebsd.sysctl]: net.inet.tcp.cc.algorithm=cubic
[freebsd.sysctl]: net.inet.tcp.cc.algorithm=cubic
[freebsd.boot]: kern.ipc.maxsockets=262144
[freebsd.sysctl]: net.inet.tcp.sendbuf_max=16777216
[freebsd.sysctl]: net.inet.tcp.sendbuf_max=16777216
[freebsd.boot]: net.inet.tcp.syncache.hashsize=4096
[freebsd.boot]: net.inet.tcp.syncache.bucketlimit=100
[freebsd.boot]: net.inet.tcp.tcbhashsize=65536
[freebsd.boot]: kern.ncallout=262144
[freebsd.boot]: kern.features.inet6=1
[freebsd.boot]: net.inet6.ip6.auto_linklocal=1
[freebsd.boot]: net.inet6.ip6.accept_rtadv=2
[freebsd.sysctl]: net.inet.tcp.recvbuf_max=16777216
[freebsd.sysctl]: net.inet.tcp.recvbuf_max=16777216
[freebsd.boot]: net.inet6.icmp6.rediraccept=1
[freebsd.sysctl]: net.inet.tcp.sendbuf_auto=1
[freebsd.sysctl]: net.inet.tcp.sendbuf_auto=1
[freebsd.boot]: net.inet6.ip6.forwarding=0
[freebsd.sysctl]: net.inet.tcp.recvbuf_auto=1
[freebsd.sysctl]: net.inet.tcp.recvbuf_auto=1
[freebsd.sysctl]: net.inet.tcp.sendbuf_inc=16384
[freebsd.sysctl]: kern.ipc.somaxconn=32768
[freebsd.sysctl]: net.inet.tcp.sendbuf_inc=16384
[freebsd.sysctl]: net.inet.tcp.recvbuf_inc=524288
[freebsd.sysctl]: net.inet.tcp.recvbuf_inc=524288
[freebsd.sysctl]: kern.ipc.maxsockbuf=16777216
[freebsd.sysctl]: net.inet.tcp.sack.enable=1
[freebsd.sysctl]: net.inet.tcp.sack.enable=1
[freebsd.sysctl]: net.inet.tcp.blackhole=1
[freebsd.sysctl]: net.link.ether.inet.maxhold=5
[freebsd.sysctl]: net.inet.tcp.blackhole=1
[freebsd.sysctl]: net.inet.tcp.msl=2000
[freebsd.sysctl]: net.inet.tcp.fast_finwait2_recycle=1
[freebsd.sysctl]: net.inet.tcp.msl=2000
[freebsd.sysctl]: net.inet.tcp.delayed_ack=0
[freebsd.sysctl]: net.inet.tcp.sendspace=16384
[freebsd.sysctl]: net.inet.tcp.delayed_ack=0
[freebsd.sysctl]: net.inet.udp.blackhole=1
[freebsd.sysctl]: net.inet.tcp.recvspace=8192
[freebsd.sysctl]: net.inet.udp.blackhole=1
[freebsd.sysctl]: net.inet.ip.redirect=0
[freebsd.sysctl]: net.inet.tcp.cc.algorithm=cubic
[freebsd.sysctl]: net.inet.ip.redirect=0
[freebsd.sysctl]: net.inet.ip.forwarding=0
[freebsd.sysctl]: net.inet.tcp.sendbuf_max=16777216
[freebsd.sysctl]: net.inet.ip.forwarding=0
[freebsd.sysctl]: net.inet.tcp.recvbuf_max=16777216
[freebsd.sysctl]: net.inet.tcp.sendbuf_auto=1
[freebsd.sysctl]: net.inet.tcp.recvbuf_auto=1
[freebsd.sysctl]: net.inet.tcp.sendbuf_inc=16384
[freebsd.sysctl]: net.inet.tcp.recvbuf_inc=524288
[freebsd.sysctl]: net.inet.tcp.sack.enable=1
[freebsd.sysctl]: net.inet.tcp.blackhole=1
[freebsd.sysctl]: net.inet.tcp.msl=2000
[freebsd.sysctl]: net.inet.tcp.delayed_ack=0
[freebsd.sysctl]: net.inet.udp.blackhole=1
[freebsd.sysctl]: net.inet.ip.redirect=0
[freebsd.sysctl]: net.inet.ip.forwarding=0
f-stack -c2 -n2 --proc-type=secondary --log-level=8 EAL: Probing VFIO support...
f-stack -c8 -n2 --proc-type=secondary --log-level=8 EAL: Probing VFIO support...
f-stack -c4 -n2 --proc-type=secondary --log-level=8 EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: VFIO support initialized
EAL: VFIO support initialized
EAL: Probe PCI driver: net_e1000_igb (8086:1521) device: 0000:02:00.3 (socket 0)
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:05:00.0 (socket 0)
EAL: Probe PCI driver: net_e1000_igb (8086:1521) device: 0000:02:00.3 (socket 0)
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:05:00.0 (socket 0)
EAL: Probe PCI driver: net_e1000_igb (8086:1521) device: 0000:02:00.3 (socket 0)
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:05:00.0 (socket 0)
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:05:00.1 (socket 0)
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:05:00.1 (socket 0)
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:05:00.1 (socket 0)
EAL: No legacy callbacks, legacy socket not created
lcore: 2, port: 0, queue: 2
EAL: No legacy callbacks, legacy socket not created
create mbuf pool on socket 0
create ring:dispatch_ring_p0_q0 success, 2047 ring entries are now free!
EAL: No legacy callbacks, legacy socket not created
create ring:dispatch_ring_p0_q1 success, 2047 ring entries are now free!
lcore: 1, port: 0, queue: 1
create ring:dispatch_ring_p0_q2 success, 2047 ring entries are now free!
create ring:dispatch_ring_p0_q3 success, 2047 ring entries are now free!
create mbuf pool on socket 0
create ring:dispatch_ring_p0_q0 success, 2047 ring entries are now free!
create ring:dispatch_ring_p0_q1 success, 2047 ring entries are now free!
lcore: 3, port: 0, queue: 3
create ring:dispatch_ring_p0_q2 success, 2047 ring entries are now free!
create ring:dispatch_ring_p0_q3 success, 2047 ring entries are now free!
create mbuf pool on socket 0
create ring:dispatch_ring_p0_q0 success, 2047 ring entries are now free!
create ring:dispatch_ring_p0_q1 success, 2047 ring entries are now free!
create ring:dispatch_ring_p0_q2 success, 2047 ring entries are now free!
create ring:dispatch_ring_p0_q3 success, 2047 ring entries are now free!
EAL: (14803) rte_memzone_lookup ff_ipset_cfg succ!(0x17becad40)EAL: (14801) rte_memzone_lookup ff_ipset_cfg succ!(0x17becad40)EAL: (14801) rte_hash_find_existing IP4SET & IP6SET succ (0x17bcca840/0x17b4a0c00)EAL: (14803) rte_hash_find_existing IP4SET & IP6SET succ (0x17bcca840/0x17b4a0c00)EAL: (14804) rte_memzone_lookup ff_ipset_cfg succ!(0x17becad40)EAL: (14804) rte_hash_find_existing IP4SET & IP6SET succ (0x17bcca840/0x17b4a0c00)EAL: (14801) rte_memzone_lookup IP4SET_TBL & IP6SET_TBL succ(0x17a219800/0x1799daf40).EAL: (14803) rte_memzone_lookup IP4SET_TBL & IP6SET_TBL succ(0x17a219800/0x1799daf40).EAL: (14804) rte_memzone_lookup IP4SET_TBL & IP6SET_TBL succ(0x17a219800/0x1799daf40).Port 0 MAC: 84 8f 69 fd ff 2d
Port 0 modified RSS hash function based on hardware support,requested:0x3ffffc configured:0x38d34
RX checksum offload supported
TX ip checksum offload supported
TX TCP&UDP checksum offload supported
TSO is disabled
Port 0 MAC: 84 8f 69 fd ff 2d
port[0]: rss table size: 128
Port 0 MAC: 84 8f 69 fd ff 2d
Port 0 modified RSS hash function based on hardware support,requested:0x3ffffc configured:0x38d34
RX checksum offload supported
Port 0 modified RSS hash function based on hardware support,requested:0x3ffffc configured:0x38d34
TX ip checksum offload supported
RX checksum offload supported
TX TCP&UDP checksum offload supported
TX ip checksum offload supported
TSO is disabled
TX TCP&UDP checksum offload supported
port[0]: rss table size: 128
TSO is disabled
port[0]: rss table size: 128
link_elf_lookup_symbol: missing symbol hash table
link_elf_lookup_symbol: missing symbol hash table
link_elf_lookup_symbol: missing symbol hash table
link_elf_lookup_symbol: missing symbol hash table
link_elf_lookup_symbol: missing symbol hash table
link_elf_lookup_symbol: missing symbol hash table
Timecounters tick every 10.000 msec
Timecounters tick every 10.000 msec
Timecounters tick every 10.000 msec
Timecounter "ff_clock" frequency 100 Hz quality 1
Timecounter "ff_clock" frequency 100 Hz quality 1
Timecounter "ff_clock" frequency 100 Hz quality 1
f-stack-0: No addr6 config found.
f-stack-0: Ethernet address: 84:8f:69:fd:ff:2d
f-stack-0: No addr6 config found.
f-stack-0: Ethernet address: 84:8f:69:fd:ff:2d
f-stack-0: No addr6 config found.
f-stack-0: Ethernet address: 84:8f:69:fd:ff:2d
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: Probe PCI driver: net_e1000_igb (8086:1521) device: 0000:02:00.3 (socket 0)
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:05:00.0 (socket 0)
EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:05:00.1 (socket 0)
EAL: No legacy callbacks, legacy socket not created
EAL: (14805) rte_memzone_lookup ff_ipset_cfg succ!(0x17becad40)EAL: (14805) rte_hash_find_existing IP4SET & IP6SET succ (0x17bcca840/0x17b4a0c00)EAL: (14805) rte_memzone_lookup IP4SET_TBL & IP6SET_TBL succ(0x17a219800/0x1799daf40).
f-stack nginx
响应CURL
访问:
# curl 172.16.44.42 -v
* Trying 172.16.44.42:80...
* Connected to 172.16.44.42 (172.16.44.42) port 80 (#0)
> GET / HTTP/1.1
> Host: 172.16.44.42
> User-Agent: curl/7.76.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: core/5.10.7
< Date: Mon, 17 May 2021 01:26:35 GMT
< Content-Type: application/octet-stream
< Content-Length: 602
< Connection: keep-alive
<
<title>Welcome to F-Stack Nginx!</title>
* Connection #0 to host 172.16.44.42 left intact
pad data:0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789[root@fc33 ~]#