2018-3-13下午+晚上

下午做的事情:

1:安装bmv2

2:安装p4c-bm

3:安装crcmod

4:下载NDN.p4bishe目录下

5:打补丁

cdmini-ndn(v0.1.1)目录下

zdd@zdd-VirtualBox:~/bishe/mini-ndn$ patch -p1 < ~/bishe/NDN.p4/mini-ndn/mini-ndn.patch  

zdd@zdd-VirtualBox:~/bishe/mini-ndn$ patch -p1 < ~/bishe/NDN.p4/mini-ndn/ndn_dir.patch  


6:将额外的文件从NDN.p4中拷到mini-ndn(v0.1.1)

The
variable $MININDN_DIR is a placeholder for the mini-ndn home
directory in your system.

包括:

$MININDN_DIR/ndn/experiments/my_experiment.py

$MININDN_DIR/ndn/ndnP4_demo.py

$MININDN_DIR/ndn/p4_mininet.py
$MININDN_DIR/p4-switch.conf


7:修改已经拷贝到mini-ndn(v0.1.1)中的p4-switch.conf文件的内容

打开,p4-switch.conf文件,将里面的路径信息修改成本机上的路径信息.

并且将修改后的p4-switch.conf拷贝到/usr/local/etc/mini-ndn


8:翻译规则集

python
createFIBrules.py --fib fib.txt --cmd ndn_commands.partial.txt -c 5

使用后,结果如下:

ReadingFIB entries from fib.txt

Appendingcommands to ndn_commands.partial.txt

Entry:" /snt/sedan/state 1 " maps into:

table_addfib_table set_egr 3 0&&&0 0&&&00x7ede&&&0xffff 0&&&0 0&&&0 =>2 3

table_addfib_table set_egr 4 0&&&0 0&&&00x7ede&&&0xffff 0&&&0 0&&&0 =>2 3

table_addfib_table set_egr 5 0&&&0 0&&&00x7ede&&&0xffff 0&&&0 0&&&0 =>2 3

Entry:" /snt/sedan 2 " maps into:

table_addfib_table set_egr 2 0&&&0 0xe730&&&0xffff0&&&0 0&&&0 0&&&0 => 3 4

table_addfib_table set_egr 3 0&&&0 0xe730&&&0xffff0&&&0 0&&&0 0&&&0 => 3 4

table_addfib_table set_egr 4 0&&&0 0xe730&&&0xffff0&&&0 0&&&0 0&&&0 => 3 4

table_addfib_table set_egr 5 0&&&0 0xe730&&&0xffff0&&&0 0&&&0 0&&&0 => 3 4

Entry:" /snt 3 " maps into:

table_addfib_table set_egr 1 0x9cdd&&&0xffff 0&&&00&&&0 0&&&0 0&&&0 => 4 5

table_addfib_table set_egr 2 0x9cdd&&&0xffff 0&&&00&&&0 0&&&0 0&&&0 => 4 5

table_addfib_table set_egr 3 0x9cdd&&&0xffff 0&&&00&&&0 0&&&0 0&&&0 => 4 5

table_addfib_table set_egr 4 0x9cdd&&&0xffff 0&&&00&&&0 0&&&0 0&&&0 => 4 5

table_addfib_table set_egr 5 0x9cdd&&&0xffff 0&&&00&&&0 0&&&0 0&&&0 => 4 5


9:激动,紧张,忐忑,要做最后一步实验了

sudominindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment –p4

报出信息:

Usage:minindn [template_file] [ -t | --testbed ]

Ifno template_file is given, ndn_utils/default-topology.conf (givensample file)

willbe used.

If--testbed is used, minindn will run the NDN Project Testbed.

minindn:error: no such option: --p4


有两种解决方法:

第一种,备份一个:ndn_utils/default-topology.conf文件,然后将/home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf文件的内容覆盖ndn_utils/default-topology.conf中的内容

第二种:先查看一下minindn的使用办法

先暂时采用第二种方法.



我查看了一下,

youwill not be able to successfully run the experiment without passingto minindn the "--p4" option. You may look at the code inthe "bin/minindn" script to see that the option is used toload the programmable P4switch class for the switches in your mininettopology. Without that option, a normal switch, which is not able toexecute your p4 program, will be loaded instead.


我在整个目录下搜索minindn的文件,发现只有两个地方有叫做minindn的文件,

第一个文件在/home/zdd/bishe/mini-ndn-0.1.1/bin,我打开这个minindn.py文件,发现它里面的内容修改了:可以看到增加了--p4的参数

parser.add_option("--p4",action="store_true", dest="p4", default=False,

help="--p4istantiates P4-compatible software switches in your topology")

parser.add_option("--p4-dir",action="store", dest="p4Dir",default="/usr/local/etc/mini-ndn/",

help="Specifythe full path directory where the p4-related config files aresearched for; the default is /usr/local/etc/mini-ndn/")

另一个文件是在/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7文件夹中,而且这个文件还是上锁的,打开这个文件的内容:

发现里面是没有加上p4的任何信息的,


现在使用diff来比较一下两个文件的差异


diff/home/zdd/bishe/mini-ndn-0.1.1/bin/minindn/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7/minindn >~/bishe/lastone

总体感觉下来,感觉,前一个文件minindn是加上了p4,而后一个文件没有加上p4.


接下来,再比较一下,一个新的mini-ndn0.1.1中的bin/minindn(没有打过补丁的)/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7/minindn的区别


diff/home/zdd/压缩包/mini-ndn-0.1.1/bin/minindn/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7/minindn >~/bishe/lastone2

发现lastone2中的文件,是一片空白.也就是说,这两个文件是一模一样的.

这样的话,我先将/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7/minindn备份一份,然后将

/home/zdd/压缩包/mini-ndn-0.1.1/bin/minindn/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7中拷贝一份.



然后试着运行sudominindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment –p4

然后还是得到下面的信息:

zdd@zdd-VirtualBox:~$sudo minindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment --p4

[sudo]password for zdd:

Usage:minindn [template_file] [ -t | --testbed ]

Ifno template_file is given, ndn_utils/default-topology.conf (givensample file)

willbe used.

If--testbed is used, minindn will run the NDN Project Testbed.

minindn:error: no such option: --p4



这次我在整个计算机中搜索叫做minindn的文件,

发现在/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts文件夹中也包含minindn文件,看一下这个文件是否打过补丁.


diff/home/zdd/压缩包/mini-ndn-0.1.1/bin/minindn/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn> ~/bishe/lastone3


发现这个/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn也是没有打过补丁的.

那么继续备份一份,然后尝试一下

复制,丢弃,备份完了之后,再尝试一下:

sudominindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment –p4


这次运行完了之后,终于出现了不同的提示信息:

zdd@zdd-VirtualBox:~$sudo minindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment --p4

Traceback(most recent call last):

File"/usr/local/bin/minindn", line 5, in <module>

pkg_resources.run_script('Mini-NDN==0.1.1','minindn')

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line528, in run_script

self.require(requires)[0].run_script(script_name,ns)

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line1394, in run_script

execfile(script_filename,namespace, namespace)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 73, in <module>

fromndn.p4_mininet import P4Switch

ImportError:No module named p4_mininet


看来文件是改对了,但是还存在一些问题,ImportError:No module named p4_mininet

查了一下ImportError:No module named p4_mininet的解决方案:


先搜索p4_mininet.py文件,发现/home/zdd/bishe/bmv2/mininet中有,/home/zdd/bishe/mini-ndn-0.1.1/ndn也有.而且两个文件的内容还不一样.


先处理/home/zdd/bishe/bmv2/mininet的文件吧


解决方案链接:https://cnblogs.com/qq952693358/p/6195041.html



再试一次P4实验:

Traceback(most recent call last):

File"/usr/local/bin/minindn", line 5, in <module>

pkg_resources.run_script('Mini-NDN==0.1.1','minindn')

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line528, in run_script

self.require(requires)[0].run_script(script_name,ns)

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line1394, in run_script

execfile(script_filename,namespace, namespace)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 73, in <module>

fromndn.p4_mininet import P4Switch

ImportError:No module named p4_mininet


结果还是一样,

那接下来就处理一下/home/zdd/bishe/mini-ndn-0.1.1/ndn中的文件吧



处理了之后,还是不行

查看了一下minindn中的源码

fromndn import ExperimentManager

fromndn.ndn_host import NdnHost, CpuLimitedNdnHost

fromndn.conf_parser import parse_hosts, parse_switches, parse_links

fromndn.p4_mininet import P4Switch


发现同时导入了好几个包conf_parser,ndn_host都在下面这个文件夹中.

/home/zdd/bishe/mini-ndn-0.1.1/build/lib.linux-x86_64-2.7/ndn


唯独p4_mininet没在,先试一下,p4_mininet手动拷进去


考进去了,但是还是出现了那样的问题:

Traceback(most recent call last):

File"/usr/local/bin/minindn", line 5, in <module>

pkg_resources.run_script('Mini-NDN==0.1.1','minindn')

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line528, in run_script

self.require(requires)[0].run_script(script_name,ns)

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line1394, in run_script

execfile(script_filename,namespace, namespace)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 73, in <module>

fromndn.p4_mininet import P4Switch

ImportError:No module named p4_mininet




#fromndn.p4_mininet import P4Switch ,将这句话试着去掉ndn.p4_mininet,改成p4_mininet




晚上解决:



切换到mini-ndnv0.1.1目录下,使用./install.sh-i重新将mini-ndn进行安装了一下.


zdd@zdd-VirtualBox:~$sudo minindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment

[sudo]password for zdd:

Noresults folder specified; experiment results will remain in theworking directory

cp:无法获取"/usr/local/etc/ndn/nfd.conf"的文件状态(stat):没有那个文件或目录

Parseof /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf done.

***Creating network

***Adding controller

***Adding hosts:

ab

***Adding switches:

s1

***Adding links:

***Configuring hosts

a*** defaultIntf: warning: a has no interfaces

b*** defaultIntf: warning: b has no interfaces

Setuptime: 0

***Starting controller

c0

***Starting 1 switches

s1...

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

Loadingexperiment: P4_NDN_experiment

Failedto get nfd-status after 10 attempts on host a

Traceback(most recent call last):

File"/usr/local/bin/minindn", line 5, in <module>

pkg_resources.run_script('Mini-NDN==0.1.1','minindn')

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line528, in run_script

self.require(requires)[0].run_script(script_name,ns)

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line1394, in run_script

execfile(script_filename,namespace, namespace)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 428, in <module>

execute(options)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 406, in execute

experiment.start()

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/ndn/experiments/my_experiment.py",line 30, in start

self.setup()

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/ndn/experiments/my_experiment.py",line 51, in setup

raiseAssertionError(res1)

AssertionError:ERROR: error while connecting to the forwarder (No such file ordirectory)



重新安装了mini-ndnv0.1.1,然后运行sudominindn,发现报出下面的错误:


cp:无法获取"/usr/local/etc/ndn/nfd.conf"的文件状态(stat):没有那个文件或目录

Parseof /usr/local/etc/mini-ndn/default-topology.conf done.

***Creating network

***Adding controller

***Adding hosts:

ab c d

***Adding switches:

***Adding links:

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(a,b) (10ms delay) *** Error: RTNETLINK answers: No such file ordirectory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(a,c) (10ms delay) *** Error: RTNETLINK answers: No such file ordirectory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(b,d)

***Configuring hosts

ab c d

Setuptime: 0

***Starting controller

c0

***Starting 0 switches

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

***Starting CLI:

mininet>

感觉,好像是NFD也没有装好,NLSR也没有装好,

使用sudocp /usr/local/etc/ndn/nfd.conf.sample.usr/local/etc/ndn/nfd.conf,nfd.conf.sample文件复制一份,命名为/usr/local/etc/ndn/nfd.conf放到同一个目录下,


cdmini-ndn0.1.1

sudopython setup.py clean

sudopython setup.py install


再运行sudominindn:出现下面的情况:

Parseof /usr/local/etc/mini-ndn/default-topology.conf done.

***Creating network

***Adding controller

Traceback(most recent call last):

File"/usr/local/bin/minindn", line 5, in <module>

pkg_resources.run_script('Mini-NDN==0.1.1','minindn')

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line528, in run_script

self.require(requires)[0].run_script(script_name,ns)

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line1394, in run_script

execfile(script_filename,namespace, namespace)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 428, in <module>

execute(options)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 295, in execute

net= Mininet(topo,host=NdnHost,link=TCLink)

File"build/bdist.linux-x86_64/egg/mininet/net.py", line 172, in__init__

File"build/bdist.linux-x86_64/egg/mininet/net.py", line 442, inbuild

File"build/bdist.linux-x86_64/egg/mininet/net.py", line 409, inbuildFromTopo

File"build/bdist.linux-x86_64/egg/mininet/net.py", line 261, inaddController

File"build/bdist.linux-x86_64/egg/mininet/node.py", line 1519,in DefaultController

File"build/bdist.linux-x86_64/egg/mininet/node.py", line 1360,in __init__

File"build/bdist.linux-x86_64/egg/mininet/node.py", line 1378,in checkListening

Exception:Please shut down the controller which is running on port 6633:

激活Internet连接(服务器和已建立连接的)

tcp 0 0 0.0.0.0:6633 0.0.0.0:* LISTEN 14990/controller

tcp 0 0 127.0.0.1:56158 127.0.0.1:6633 TIME_WAIT -


出现错误:Exception:Please shut down the controller which is running on port 6633:



上个问题消失了,但是又出现了这个问题:

zdd@zdd-VirtualBox:~$sudo minindn

Parseof /usr/local/etc/mini-ndn/default-topology.conf done.

***Creating network

***Adding controller

***Adding hosts:

ab c d

***Adding switches:

***Adding links:

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(a,b) (10ms delay) *** Error: RTNETLINK answers: No such file ordirectory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(a,c) (10ms delay) *** Error: RTNETLINK answers: No such file ordirectory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(b,d)

***Configuring hosts

ab c d

Setuptime: 0

***Starting controller

c0

***Starting 0 switches

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

***Starting CLI:

mininet>


打算重新装一下NLSR




下午做的事情:

1:安装bmv2

2:安装p4c-bm

3:安装crcmod

4:下载NDN.p4bishe目录下

5:打补丁

cdmini-ndn(v0.1.1)目录下

zdd@zdd-VirtualBox:~/bishe/mini-ndn$ patch -p1 < ~/bishe/NDN.p4/mini-ndn/mini-ndn.patch  

zdd@zdd-VirtualBox:~/bishe/mini-ndn$ patch -p1 < ~/bishe/NDN.p4/mini-ndn/ndn_dir.patch  


6:将额外的文件从NDN.p4中拷到mini-ndn(v0.1.1)

The
variable $MININDN_DIR is a placeholder for the mini-ndn home
directory in your system.

包括:

$MININDN_DIR/ndn/experiments/my_experiment.py

$MININDN_DIR/ndn/ndnP4_demo.py

$MININDN_DIR/ndn/p4_mininet.py
$MININDN_DIR/p4-switch.conf


7:修改已经拷贝到mini-ndn(v0.1.1)中的p4-switch.conf文件的内容

打开,p4-switch.conf文件,将里面的路径信息修改成本机上的路径信息.

并且将修改后的p4-switch.conf拷贝到/usr/local/etc/mini-ndn


8:翻译规则集

python
createFIBrules.py --fib fib.txt --cmd ndn_commands.partial.txt -c 5

使用后,结果如下:

ReadingFIB entries from fib.txt

Appendingcommands to ndn_commands.partial.txt

Entry:" /snt/sedan/state 1 " maps into:

table_addfib_table set_egr 3 0&&&0 0&&&00x7ede&&&0xffff 0&&&0 0&&&0 =>2 3

table_addfib_table set_egr 4 0&&&0 0&&&00x7ede&&&0xffff 0&&&0 0&&&0 =>2 3

table_addfib_table set_egr 5 0&&&0 0&&&00x7ede&&&0xffff 0&&&0 0&&&0 =>2 3

Entry:" /snt/sedan 2 " maps into:

table_addfib_table set_egr 2 0&&&0 0xe730&&&0xffff0&&&0 0&&&0 0&&&0 => 3 4

table_addfib_table set_egr 3 0&&&0 0xe730&&&0xffff0&&&0 0&&&0 0&&&0 => 3 4

table_addfib_table set_egr 4 0&&&0 0xe730&&&0xffff0&&&0 0&&&0 0&&&0 => 3 4

table_addfib_table set_egr 5 0&&&0 0xe730&&&0xffff0&&&0 0&&&0 0&&&0 => 3 4

Entry:" /snt 3 " maps into:

table_addfib_table set_egr 1 0x9cdd&&&0xffff 0&&&00&&&0 0&&&0 0&&&0 => 4 5

table_addfib_table set_egr 2 0x9cdd&&&0xffff 0&&&00&&&0 0&&&0 0&&&0 => 4 5

table_addfib_table set_egr 3 0x9cdd&&&0xffff 0&&&00&&&0 0&&&0 0&&&0 => 4 5

table_addfib_table set_egr 4 0x9cdd&&&0xffff 0&&&00&&&0 0&&&0 0&&&0 => 4 5

table_addfib_table set_egr 5 0x9cdd&&&0xffff 0&&&00&&&0 0&&&0 0&&&0 => 4 5


9:激动,紧张,忐忑,要做最后一步实验了

sudominindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment –p4

报出信息:

Usage:minindn [template_file] [ -t | --testbed ]

Ifno template_file is given, ndn_utils/default-topology.conf (givensample file)

willbe used.

If--testbed is used, minindn will run the NDN Project Testbed.

minindn:error: no such option: --p4


有两种解决方法:

第一种,备份一个:ndn_utils/default-topology.conf文件,然后将/home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf文件的内容覆盖ndn_utils/default-topology.conf中的内容

第二种:先查看一下minindn的使用办法

先暂时采用第二种方法.



我查看了一下,

youwill not be able to successfully run the experiment without passingto minindn the "--p4" option. You may look at the code inthe "bin/minindn" script to see that the option is used toload the programmable P4switch class for the switches in your mininettopology. Without that option, a normal switch, which is not able toexecute your p4 program, will be loaded instead.


我在整个目录下搜索minindn的文件,发现只有两个地方有叫做minindn的文件,

第一个文件在/home/zdd/bishe/mini-ndn-0.1.1/bin,我打开这个minindn.py文件,发现它里面的内容修改了:可以看到增加了--p4的参数

parser.add_option("--p4",action="store_true", dest="p4", default=False,

help="--p4istantiates P4-compatible software switches in your topology")

parser.add_option("--p4-dir",action="store", dest="p4Dir",default="/usr/local/etc/mini-ndn/",

help="Specifythe full path directory where the p4-related config files aresearched for; the default is /usr/local/etc/mini-ndn/")

另一个文件是在/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7文件夹中,而且这个文件还是上锁的,打开这个文件的内容:

发现里面是没有加上p4的任何信息的,


现在使用diff来比较一下两个文件的差异


diff/home/zdd/bishe/mini-ndn-0.1.1/bin/minindn/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7/minindn >~/bishe/lastone

总体感觉下来,感觉,前一个文件minindn是加上了p4,而后一个文件没有加上p4.


接下来,再比较一下,一个新的mini-ndn0.1.1中的bin/minindn(没有打过补丁的)/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7/minindn的区别


diff/home/zdd/压缩包/mini-ndn-0.1.1/bin/minindn/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7/minindn >~/bishe/lastone2

发现lastone2中的文件,是一片空白.也就是说,这两个文件是一模一样的.

这样的话,我先将/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7/minindn备份一份,然后将

/home/zdd/压缩包/mini-ndn-0.1.1/bin/minindn/home/zdd/bishe/mini-ndn-0.1.1/build/scripts-2.7中拷贝一份.



然后试着运行sudominindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment –p4

然后还是得到下面的信息:

zdd@zdd-VirtualBox:~$sudo minindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment --p4

[sudo]password for zdd:

Usage:minindn [template_file] [ -t | --testbed ]

Ifno template_file is given, ndn_utils/default-topology.conf (givensample file)

willbe used.

If--testbed is used, minindn will run the NDN Project Testbed.

minindn:error: no such option: --p4



这次我在整个计算机中搜索叫做minindn的文件,

发现在/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts文件夹中也包含minindn文件,看一下这个文件是否打过补丁.


diff/home/zdd/压缩包/mini-ndn-0.1.1/bin/minindn/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn> ~/bishe/lastone3


发现这个/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn也是没有打过补丁的.

那么继续备份一份,然后尝试一下

复制,丢弃,备份完了之后,再尝试一下:

sudominindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment –p4


这次运行完了之后,终于出现了不同的提示信息:

zdd@zdd-VirtualBox:~$sudo minindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment --p4

Traceback(most recent call last):

File"/usr/local/bin/minindn", line 5, in <module>

pkg_resources.run_script('Mini-NDN==0.1.1','minindn')

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line528, in run_script

self.require(requires)[0].run_script(script_name,ns)

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line1394, in run_script

execfile(script_filename,namespace, namespace)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 73, in <module>

fromndn.p4_mininet import P4Switch

ImportError:No module named p4_mininet


看来文件是改对了,但是还存在一些问题,ImportError:No module named p4_mininet

查了一下ImportError:No module named p4_mininet的解决方案:


先搜索p4_mininet.py文件,发现/home/zdd/bishe/bmv2/mininet中有,/home/zdd/bishe/mini-ndn-0.1.1/ndn也有.而且两个文件的内容还不一样.


先处理/home/zdd/bishe/bmv2/mininet的文件吧


解决方案链接:https://cnblogs.com/qq952693358/p/6195041.html



再试一次P4实验:

Traceback(most recent call last):

File"/usr/local/bin/minindn", line 5, in <module>

pkg_resources.run_script('Mini-NDN==0.1.1','minindn')

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line528, in run_script

self.require(requires)[0].run_script(script_name,ns)

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line1394, in run_script

execfile(script_filename,namespace, namespace)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 73, in <module>

fromndn.p4_mininet import P4Switch

ImportError:No module named p4_mininet


结果还是一样,

那接下来就处理一下/home/zdd/bishe/mini-ndn-0.1.1/ndn中的文件吧



处理了之后,还是不行

查看了一下minindn中的源码

fromndn import ExperimentManager

fromndn.ndn_host import NdnHost, CpuLimitedNdnHost

fromndn.conf_parser import parse_hosts, parse_switches, parse_links

fromndn.p4_mininet import P4Switch


发现同时导入了好几个包conf_parser,ndn_host都在下面这个文件夹中.

/home/zdd/bishe/mini-ndn-0.1.1/build/lib.linux-x86_64-2.7/ndn


唯独p4_mininet没在,先试一下,p4_mininet手动拷进去


考进去了,但是还是出现了那样的问题:

Traceback(most recent call last):

File"/usr/local/bin/minindn", line 5, in <module>

pkg_resources.run_script('Mini-NDN==0.1.1','minindn')

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line528, in run_script

self.require(requires)[0].run_script(script_name,ns)

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line1394, in run_script

execfile(script_filename,namespace, namespace)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 73, in <module>

fromndn.p4_mininet import P4Switch

ImportError:No module named p4_mininet




#fromndn.p4_mininet import P4Switch ,将这句话试着去掉ndn.p4_mininet,改成p4_mininet




晚上解决:



切换到mini-ndnv0.1.1目录下,使用./install.sh-i重新将mini-ndn进行安装了一下.


zdd@zdd-VirtualBox:~$sudo minindn /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf--experiment=P4_NDN_experiment

[sudo]password for zdd:

Noresults folder specified; experiment results will remain in theworking directory

cp:无法获取"/usr/local/etc/ndn/nfd.conf"的文件状态(stat):没有那个文件或目录

Parseof /home/zdd/bishe/NDN.p4/mini-ndn/p4.ndn.basic.conf done.

***Creating network

***Adding controller

***Adding hosts:

ab

***Adding switches:

s1

***Adding links:

***Configuring hosts

a*** defaultIntf: warning: a has no interfaces

b*** defaultIntf: warning: b has no interfaces

Setuptime: 0

***Starting controller

c0

***Starting 1 switches

s1...

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

Loadingexperiment: P4_NDN_experiment

Failedto get nfd-status after 10 attempts on host a

Traceback(most recent call last):

File"/usr/local/bin/minindn", line 5, in <module>

pkg_resources.run_script('Mini-NDN==0.1.1','minindn')

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line528, in run_script

self.require(requires)[0].run_script(script_name,ns)

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line1394, in run_script

execfile(script_filename,namespace, namespace)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 428, in <module>

execute(options)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 406, in execute

experiment.start()

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/ndn/experiments/my_experiment.py",line 30, in start

self.setup()

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/ndn/experiments/my_experiment.py",line 51, in setup

raiseAssertionError(res1)

AssertionError:ERROR: error while connecting to the forwarder (No such file ordirectory)



重新安装了mini-ndnv0.1.1,然后运行sudominindn,发现报出下面的错误:


cp:无法获取"/usr/local/etc/ndn/nfd.conf"的文件状态(stat):没有那个文件或目录

Parseof /usr/local/etc/mini-ndn/default-topology.conf done.

***Creating network

***Adding controller

***Adding hosts:

ab c d

***Adding switches:

***Adding links:

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(a,b) (10ms delay) *** Error: RTNETLINK answers: No such file ordirectory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(a,c) (10ms delay) *** Error: RTNETLINK answers: No such file ordirectory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(b,d)

***Configuring hosts

ab c d

Setuptime: 0

***Starting controller

c0

***Starting 0 switches

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

***Starting CLI:

mininet>

感觉,好像是NFD也没有装好,NLSR也没有装好,

使用sudocp /usr/local/etc/ndn/nfd.conf.sample.usr/local/etc/ndn/nfd.conf,nfd.conf.sample文件复制一份,命名为/usr/local/etc/ndn/nfd.conf放到同一个目录下,


cdmini-ndn0.1.1

sudopython setup.py clean

sudopython setup.py install


再运行sudominindn:出现下面的情况:

Parseof /usr/local/etc/mini-ndn/default-topology.conf done.

***Creating network

***Adding controller

Traceback(most recent call last):

File"/usr/local/bin/minindn", line 5, in <module>

pkg_resources.run_script('Mini-NDN==0.1.1','minindn')

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line528, in run_script

self.require(requires)[0].run_script(script_name,ns)

File"/usr/lib/python2.7/dist-packages/pkg_resources.py", line1394, in run_script

execfile(script_filename,namespace, namespace)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 428, in <module>

execute(options)

File"/usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg/EGG-INFO/scripts/minindn",line 295, in execute

net= Mininet(topo,host=NdnHost,link=TCLink)

File"build/bdist.linux-x86_64/egg/mininet/net.py", line 172, in__init__

File"build/bdist.linux-x86_64/egg/mininet/net.py", line 442, inbuild

File"build/bdist.linux-x86_64/egg/mininet/net.py", line 409, inbuildFromTopo

File"build/bdist.linux-x86_64/egg/mininet/net.py", line 261, inaddController

File"build/bdist.linux-x86_64/egg/mininet/node.py", line 1519,in DefaultController

File"build/bdist.linux-x86_64/egg/mininet/node.py", line 1360,in __init__

File"build/bdist.linux-x86_64/egg/mininet/node.py", line 1378,in checkListening

Exception:Please shut down the controller which is running on port 6633:

激活Internet连接(服务器和已建立连接的)

tcp 0 0 0.0.0.0:6633 0.0.0.0:* LISTEN 14990/controller

tcp 0 0 127.0.0.1:56158 127.0.0.1:6633 TIME_WAIT -


出现错误:Exception:Please shut down the controller which is running on port 6633:

上个问题消失了,但是又出现了这个问题:

zdd@zdd-VirtualBox:~$sudo minindn

Parseof /usr/local/etc/mini-ndn/default-topology.conf done.

***Creating network

***Adding controller

***Adding hosts:

ab c d

***Adding switches:

***Adding links:

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(a,b) (10ms delay) *** Error: RTNETLINK answers: No such file ordirectory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(a,c) (10ms delay) *** Error: RTNETLINK answers: No such file ordirectory

(10msdelay) *** Error: RTNETLINK answers: No such file or directory

(b,d)

***Configuring hosts

ab c d

Setuptime: 0

***Starting controller

c0

***Starting 0 switches

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

Idon't start the NLSR daemon on the host

***Starting CLI:

mininet>

打算重新装一下NLSR


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值