f-stack 编译&测试笔记

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 后链接通过, 详细问题待有时间再查.

打开 MakefileHOST_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 ~]# 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值