F-Stack一个基于DPDK的开源和高性能网络框架
基于DPDK23.11需要做如下操作
sed替换:
sed -n '/DEV_RX_OFFLOAD_IPV4_CKSUM/p' drivers/net/macb/*
sed -i 's/ETH_/RTE_ETH_/g' *.c
sed -i 's/DEV_/RTE_ETH_/g' *.c
f-stack适配dpdk20.11
sed -i 's/RTE_MBUF_F_RX_IP_CKSUM_BAD/PKT_RX_IP_CKSUM_BAD/g' *.c
sed -i 's/RTE_MBUF_F_/PKT_/g' *.c
注释掉: pmap_change_prot
编译错误:call-clobbered register used for global register variable
文件freebsd/arm64/include/pcpu.h中x18改为x22
register struct pcpu *pcpup __asm ("x22");
这样改虽然通过编译,但一直有段错误:freebsd/net/netisr.c:1139,所以改为非寄存器变量
f-stack/lib/include/machine/pcpu.h:50:40: error: ‘struct pcpu’ has no member named ‘pc_prvspace修改如下:
-#define PCPU_SET(member,value) (pcpup->pc_ ## member = (value))
+#define PCPU_SET(member,value) (pcpup = (value))
编译错误ffs重定义
+++ b/lib/Makefile
@@ -355,7 +355,7 @@ LIBKERN_SRCS+= \