P4隧道实验basic_tunnel中的问题记录
报错1: P4 switch s1 did not start correctly.
报错截图如下:
原因:
我们可以查看该实验logs文件下的日志,其中描述了该错误导致的原因大概有以下三点:
1、权限不够
2、依赖没装全
3、端口9090被占用
其中我的问题是由于端口9090被占用导致的,因此需要手动关闭占用该端口的进程,其过程代码如下:
查看占用9090端口的进程号PID
netstat -apn | grep 9090
关闭占用9090端口的进程
kill -9 PID
备注:make run之前需要make clean清除之前的编译文件。
参考链接:
basic run “make run” error "P4 switch s1 did not start correctly.
报错2: Could not find ‘MyIngress.myTunnel_exact’ of type tables
报错截图如下:
原因:
日志里并没有说是什么错,在网上找到了相关的解决方案,原因是basic_tunnel.p4文件中给的代码不齐全,需要你参考solution文件夹中的basic_tunnel.p4文件来解决(直接复制粘贴也行)。
备注:make run之前需要make clean清除之前的编译文件。
参考链接:
p4学习笔记-2(实施基本隧道)