#该方案是将VPP作为strongswan的一个插件来使用#
PC机:Windows 10 专业版。64位操作系统,Intel® Core™i7-8565U [email protected]基于行64处理器。
Linux内核:Linux 3.10.0-957.el7.x86_64。
一,VPP下载版本为1807: 2019/9/12
VPP的下载编译配置:
下载源码:git clone http://gerrit.fd.io/r/vpp //过程漫长
git checkout stable/1807 ; //切换版本分支
yum install make ;
yum install;
make-guile ;
yum install;
openssh-server;
./extras/vagrant/build.sh ; //过程漫长
make install-dep ; //下载依赖包
make dpdk-install-dev; // 因为版本问题使用这个
make build-release; //执行编译
modprobe uio ;insmod igb_uio.ko; //将驱动模块加载
/*或者用vfio-pci驱动,Linux内核里自带此驱动
modprobe vfio-pci; //加载使用 */
echo1024>/sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages; //设置巨页
mkdir /mnt/huge ; //新建文件夹
mount -t hugetlbfs nodev /mnt/huge; //挂载巨页
cat /proc/meminfo| grep Huge //查看巨页
./dpdk-devbind.py --bind=igb_uio或vfio-pci 02:01.0 ; //绑定PCI
配置startup.conf //添加pci和驱动
启动/vpp –c startup.conf ;//用find寻找startup.conf
启动交互页面/vppctl;
1, strongswan下载:https://github.com/matfabia/strongswan
//在网页切换到 VPP分支再克隆
2, 下载成功,查看并切换到要编译的分支:
3, 编译前,需要安装gperf,如果不安装该工具会导致一些该工具生成的代码缺失导致连接时出错;sudo yum install gperf –y。
4, 配置路径:
ls /home/sdwanuser/vpp/build-root/install-vpp-native/vpp/include/
//此未为vpp的include路径
(1 vi src/libcharon/plugins/socket_vpp/Makefile.am ;
添加路径:
(2) vi src/libcharon/plugins/kernel_vpp/Makefile.am ;
添加路径:
5, 执行脚本
./autogen.sh
./ configure --enable-socket-vpp --enable-kernel-vpp --enable-libipsec
6, make //执行编译
// sudo make install
7, 遇见的的问题
1,执行脚本时发生错误
//也可能未切换到vpp分支就开始编译导致
原因:未安装gmp库 yum install –y gmp-devel
2,make编译报错
找不到相应的库;在vpp中,makepkg-rpm; //将库打包 ,过程漫长
在vpp/build-root下生成的包,加载包;
sudo rpm –i vpp-lib-18.07.1-19~g511ce25.x86_64.rpm
sudo rpm -i vpp-selinux-policy-18.07.1-19~g511ce25.x86_64.rpm
回到strongswan 进行make编译,成功;