终于把实验跑出来了,开心-2018年3-14号上午工作日志

第一部分、安装mini-ndn v0.1.1


最新版的mininet
https://github.com/mininet/mininet

1、想要正确地安装mini-ndnv0.1.1,必须下载与其相对应的NFD,NLSR,ndn-tools,ndn-cxx,mininet的正确版本。
Mini-ndn v0.1.1,NFD-v0.3.4,NLSR-v0.2.1,ndn-cxx-0.3.4,ndn-tools-v0.2,mininet-v2.2.1。

https://github.com/named-data/mini-ndn/tree/v0.1.1
https://github.com/named-data/NFD/tree/NFD-0.3.4
https://github.com/named-data/NLSR/tree/NLSR-0.2.1
https://github.com/named-data/ndn-cxx/tree/ndn-cxx-0.3.4
https://github.com/named-data/ndn-tools/tree/ndn-tools-0.2
https://github.com/mininet/mininet/tree/2.2.1

2、修改mini-ndn中的install.sh和mininet/util/中的install.sh(怎么修改参照以前的文章)
3、sudo apt-get install python-setuptools
4、cd到mini-ndn目录下,使用sudo ./install.sh
5、手动将缺少的几个文件拷贝到相应的文件夹(这块应该是cp复制出错了,那么手动将要复制的文件弄到对应的文件夹下)
6、cd 到mininet目录下,使用sudo ./util/install.sh -fnv进行安装
7、sudo python setup.py install,安装后的信息如下:
running install
running bdist_egg
running egg_info
creating Mini_NDN.egg-info
writing Mini_NDN.egg-info/PKG-INFO
writing top-level names to Mini_NDN.egg-info/top_level.txt
writing dependency_links to Mini_NDN.egg-info/dependency_links.txt
writing manifest file 'Mini_NDN.egg-info/SOURCES.txt'
reading manifest file 'Mini_NDN.egg-info/SOURCES.txt'
writing manifest file 'Mini_NDN.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/ndn
copying ndn/__init__.py -> build/lib.linux-x86_64-2.7/ndn
copying ndn/nlsr.py -> build/lib.linux-x86_64-2.7/ndn
copying ndn/experiment_manager.py -> build/lib.linux-x86_64-2.7/ndn
copying ndn/conf_parser.py -> build/lib.linux-x86_64-2.7/ndn
copying ndn/ndn_host.py -> build/lib.linux-x86_64-2.7/ndn
copying ndn/gui.py -> build/lib.linux-x86_64-2.7/ndn
copying ndn/nfd.py -> build/lib.linux-x86_64-2.7/ndn
copying ndn/ndn_application.py -> build/lib.linux-x86_64-2.7/ndn
creating build/lib.linux-x86_64-2.7/ndn/experiments
copying ndn/experiments/__init__.py -> build/lib.linux-x86_64-2.7/ndn/experiments
copying ndn/experiments/multiple_failure_experiment.py -> build/lib.linux-x86_64-2.7/ndn/experiments
copying ndn/experiments/experiment.py -> build/lib.linux-x86_64-2.7/ndn/experiments
copying ndn/experiments/failure_experiment.py -> build/lib.linux-x86_64-2.7/ndn/experiments
copying ndn/experiments/mcn_failure_experiment.py -> build/lib.linux-x86_64-2.7/ndn/experiments
copying ndn/experiments/pingall_experiment.py -> build/lib.linux-x86_64-2.7/ndn/experiments
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/ndn
copying build/lib.linux-x86_64-2.7/ndn/__init__.py -> build/bdist.linux-x86_64/egg/ndn
copying build/lib.linux-x86_64-2.7/ndn/nlsr.py -> build/bdist.linux-x86_64/egg/ndn
copying build/lib.linux-x86_64-2.7/ndn/experiment_manager.py -> build/bdist.linux-x86_64/egg/ndn
copying build/lib.linux-x86_64-2.7/ndn/conf_parser.py -> build/bdist.linux-x86_64/egg/ndn
copying build/lib.linux-x86_64-2.7/ndn/ndn_host.py -> build/bdist.linux-x86_64/egg/ndn
copying build/lib.linux-x86_64-2.7/ndn/gui.py -> build/bdist.linux-x86_64/egg/ndn
creating build/bdist.linux-x86_64/egg/ndn/experiments
copying build/lib.linux-x86_64-2.7/ndn/experiments/__init__.py -> build/bdist.linux-x86_64/egg/ndn/experiments
copying build/lib.linux-x86_64-2.7/ndn/experiments/multiple_failure_experiment.py -> build/bdist.linux-x86_64/egg/ndn/experiments
copying build/lib.linux-x86_64-2.7/ndn/experiments/experiment.py -> build/bdist.linux-x86_64/egg/ndn/experiments
copying build/lib.linux-x86_64-2.7/ndn/experiments/failure_experiment.py -> build/bdist.linux-x86_64/egg/ndn/experiments
copying build/lib.linux-x86_64-2.7/ndn/experiments/mcn_failure_experiment.py -> build/bdist.linux-x86_64/egg/ndn/experiments
copying build/lib.linux-x86_64-2.7/ndn/experiments/pingall_experiment.py -> build/bdist.linux-x86_64/egg/ndn/experiments
copying build/lib.linux-x86_64-2.7/ndn/nfd.py -> build/bdist.linux-x86_64/egg/ndn
copying build/lib.linux-x86_64-2.7/ndn/ndn_application.py -> build/bdist.linux-x86_64/egg/ndn
byte-compiling build/bdist.linux-x86_64/egg/ndn/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/nlsr.py to nlsr.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/experiment_manager.py to experiment_manager.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/conf_parser.py to conf_parser.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/ndn_host.py to ndn_host.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/gui.py to gui.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/experiments/__init__.py to __init__.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/experiments/multiple_failure_experiment.py to multiple_failure_experiment.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/experiments/experiment.py to experiment.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/experiments/failure_experiment.py to failure_experiment.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/experiments/mcn_failure_experiment.py to mcn_failure_experiment.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/experiments/pingall_experiment.py to pingall_experiment.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/nfd.py to nfd.pyc
byte-compiling build/bdist.linux-x86_64/egg/ndn/ndn_application.py to ndn_application.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
installing scripts to build/bdist.linux-x86_64/egg/EGG-INFO/scripts
running install_scripts
running build_scripts
creating build/scripts-2.7
copying bin/minindn -> build/scripts-2.7
copying bin/minindnedit -> build/scripts-2.7
creating build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/minindn -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
copying build/scripts-2.7/minindnedit -> build/bdist.linux-x86_64/egg/EGG-INFO/scripts
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/minindn to 755
changing mode of build/bdist.linux-x86_64/egg/EGG-INFO/scripts/minindnedit to 755
copying Mini_NDN.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Mini_NDN.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Mini_NDN.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying Mini_NDN.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
ndn.experiment_manager: module references __file__
creating dist
creating 'dist/Mini_NDN-0.1.1-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing Mini_NDN-0.1.1-py2.7.egg
creating /usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg
Extracting Mini_NDN-0.1.1-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Adding Mini-NDN 0.1.1 to easy-install.pth file
Installing minindn script to /usr/local/bin
Installing minindnedit script to /usr/local/bin
 
Installed /usr/local/lib/python2.7/dist-packages/Mini_NDN-0.1.1-py2.7.egg
Processing dependencies for Mini-NDN==0.1.1
Finished processing dependencies for Mini-NDN==0.1.1

8、输入sudo minindn --experiment=pingall –nPings=50进行验证
(1)grep -c content /tmp/*/ping-data/*.txt. Each file should report a count of 50
(2)grep -c timeout /tmp/*/ping-data/*.txt. Each file should report a count of  0


第二部分、安装bmv2

1、git clone https://github.com/p4lang/behavioral-model bmv2
2、cd bmv2
3、./install_deps.sh
4、
./autogen.sh
./configure
make
sudo make install
5、sudo ldconfig
6、运行单元测试  sudo make check(走到这步了,p4c-bm,crcmod都已经装好了)
7、运行集成测试
第一个终端下输入:
cd mininet   注意,这个mininet目录是bmv2目录下的mininet目录 
sudo python 1sw_demo.py --behavioral-exe ../targets/simple_router/simple_router --json ../targets/simple_router/simple_router.json 
第二个终端下输入:
cd targets/simple_router 
./runtime_CLI < commands.txt
在一个终端下输入pingall,得到
*** Ping: testing ping reachability 
h1 -> h2  
h2 -> h1  
*** Results: 0% dropped (2/2 received) 

第三部分、安装p4c-bm

1、git clone https://github.com/p4lang/p4c-bm
2、cd p4c-bm
3、sudo pip install -r requirements.txt
4、sudo pip install -r requirements_v1_1.txt
5、sudo python setup.py install
6、使用测试 :p4c-bmv2 -h

第四部分、安装crcmod库

sudo apt-get install python-crcmod

第五部分、验证一下,前面都装好了吗

1、通过nfd-start,nfd-stop检查nfd好着没
输入nfd-start,出现下面的信息:
zdd@zdd-VirtualBox:~$ 1520987797.081157 FATAL: [NFD] Failed to read configuration file: /usr/local/etc/ndn/nfd.conf
解决办法:sudo cp /usr/local/etc/ndn/nfd.conf.sample /usr/local/etc/ndn/nfd.conf,将nfd.conf.sample拷贝一份到相同的目录下,改名叫做nfd.conf
之后nfd启动成功的信息:
zdd@zdd-VirtualBox:~$ 1520988006.784466 INFO: [StrategyChoice] setDefaultStrategy /localhost/nfd/strategy/best-route/%FD%03
1520988006.797870 INFO: [InternalFace] registering callback for /localhost/nfd/fib
1520988006.797904 INFO: [InternalFace] registering callback for /localhost/nfd/faces
1520988006.797917 INFO: [InternalFace] registering callback for /localhost/nfd/strategy-choice
1520988006.797927 INFO: [InternalFace] registering callback for /localhost/nfd/status
1520988006.797939 INFO: [FaceTable] Added face id=1 remote=internal:// local=internal://
1520988006.800109 WARNING: [CommandValidator] Wildcard identity is intended for demo purpose only and SHOULD NOT be used in production environment
1520988006.800128 INFO: [CommandValidator] Giving privilege "faces" to identity wildcard
1520988006.800139 INFO: [CommandValidator] Giving privilege "fib" to identity wildcard
1520988006.800149 INFO: [CommandValidator] Giving privilege "strategy-choice" to identity wildcard
1520988006.800263 INFO: [StrategyChoice] changeStrategy(/ndn/broadcast) from /localhost/nfd/strategy/best-route/%FD%03 to /localhost/nfd/strategy/multicast/%FD%01
1520988006.800369 INFO: [StrategyChoice] changeStrategy(/localhost) from /localhost/nfd/strategy/best-route/%FD%03 to /localhost/nfd/strategy/multicast/%FD%01
1520988006.800467 INFO: [StrategyChoice] changeStrategy(/localhost/nfd) from /localhost/nfd/strategy/multicast/%FD%01 to /localhost/nfd/strategy/best-route/%FD%03
1520988006.800579 INFO: [TablesConfigSection] Setting CS max packets to 65536
1520988006.801186 INFO: [MulticastUdpFace] [id=-1,local=udp4://10.0.2.15:56363,remote=udp4://224.0.23.170:56363] Creating face
1520988006.803089 INFO: [FaceTable] Added face id=256 remote=udp4://224.0.23.170:56363 local=udp4://10.0.2.15:56363
1520988006.804366 INFO: [EthernetFace] [id=-1,local=dev://eth0,remote=ether://[01:00:5e:00:17:aa]] Creating face on eth0/08:00:27:86:8a:dd
1520988006.814756 INFO: [FaceTable] Added face id=257 remote=ether://[01:00:5e:00:17:aa] local=dev://eth0
1520988006.816254 WARNING: [CommandValidator] Wildcard identity is intended for demo purpose only and SHOULD NOT be used in production environment
1520988006.816260 INFO: [CommandValidator] Giving privilege "faces" to identity wildcard
1520988006.816301 INFO: [CommandValidator] Giving privilege "fib" to identity wildcard
1520988006.816311 INFO: [CommandValidator] Giving privilege "strategy-choice" to identity wildcard
1520988006.816358 INFO: [FaceTable] Added face id=255 remote=null:// local=null://
1520988006.817695 INFO: [FaceTable] Added face id=254 remote=contentstore:// local=contentstore://
1520988006.819255 INFO: [PrivilegeHelper] dropped to effective uid=0 gid=0
1520988006.819491 WARNING: [EthernetFace] [id=257,local=dev://eth0,remote=ether://[01:00:5e:00:17:aa]] Read timeout
1520988006.820265 INFO: [UnixStreamFace] [id=-1,local=unix:///run/nfd.sock,remote=fd://24] Creating face
1520988006.823064 INFO: [FaceTable] Added face id=258 remote=fd://24 local=unix:///run/nfd.sock
1520988006.828161 INFO: [RemoteRegistrator] Load remote_register section in rib section
1520988006.829162 INFO: [RemoteRegistrator] Load remote_register section in rib section
1520988006.829181 INFO: [RibManager] Listening on: /localhost/nfd/rib
1520988006.835471 INFO: [RibManager] Start monitoring face create/destroy events
1520988006.838250 INFO: [RemoteRegistrator] local registration only for /localhost/nfd/rib

2、通过sudo mn –test=pingall检查mininet好着没
3、给mini-ndn打补丁之前记得备份,原先的文件。
作者解释了一下,
这个NDN.p4 demo 为了演示的目的,通过打补丁patch使得在每个节点上没有启动nlsr,之前的提示信息是:i don't start the application,现在的提示信息是:i don't start the NLSR daemon on the host。
所以当使用NDN.p4中的patch文件修改mini-ndn v0.1.1中的文件后,你使用:sudo minindn会出现以下的信息:
Parse of /usr/local/etc/mini-ndn/default-topology.conf done.
*** Creating network
*** Adding controller
*** Adding hosts:
a b c d
*** Adding switches:

*** Adding links:
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(a, b) (10ms delay) *** Error: RTNETLINK answers: No such file or directory
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(a, c) (10ms delay) *** Error: RTNETLINK answers: No such file or directory
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(b, d)
*** Configuring hosts
a b c d
Setup time: 0
*** Starting controller
c0
*** Starting 0 switches

I don't start the NLSR daemon on the host
I don't start the NLSR daemon on the host
I don't start the NLSR daemon on the host
I don't start the NLSR daemon on the host
*** Starting CLI:
mininet>
这是昨天晚上的疑惑,现在已经解决了。

第六部分、打补丁(之前记得备份mini-ndn整个文件夹)

1、下载NDN.p4到mini-ndn同级目录下

2、cd mini-ndn(v0.1.1)目录下
3、zdd@zdd-VirtualBox:~/bishe/mini-ndn$ patch -p1 < ~/bishe/NDN.p4/mini-ndn/mini-ndn.patch 
4、zdd@zdd-VirtualBox:~/bishe/mini-ndn$ patch -p1 < ~/bishe/NDN.p4/mini-ndn/ndn_dir.patch 

5、打完补丁后,重新安装mini-ndn,重新安装之前,sudo minindn的输入如下
Parse of /usr/local/etc/mini-ndn/default-topology.conf done.
*** Creating network
*** Adding controller
*** Adding hosts:
a b c d  
*** Adding switches:
 
*** Adding links:
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(a, b) (10ms delay) *** Error: RTNETLINK answers: No such file or directory
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(a, c) (10ms delay) *** Error: RTNETLINK answers: No such file or directory
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(b, d)  
*** Configuring hosts
a b c d  
Setup time: 8
*** Starting controller
c0  
*** Starting 0 switches
 
*** Starting CLI:
mininet>  

5、reisntall mini-ndn,通过:cd到mini-ndn目录下,然后 ./install.sh -i

6、重新安装之后,sudo minindn的输出如下:
Parse of /usr/local/etc/mini-ndn/default-topology.conf done.
*** Creating network
*** Adding controller
*** Adding hosts:
a b c d  
*** Adding switches:
 
*** Adding links:
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(a, b) (10ms delay) *** Error: RTNETLINK answers: No such file or directory
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(a, c) (10ms delay) *** Error: RTNETLINK answers: No such file or directory
(10ms delay) *** Error: RTNETLINK answers: No such file or directory
(b, d)  
*** Configuring hosts
a b c d  
Setup time: 0
*** Starting controller
c0  
*** Starting 0 switches
 
I don't start the NLSR daemon on the host
I don't start the NLSR daemon on the host
I don't start the NLSR daemon on the host
I don't start the NLSR daemon on the host
*** Starting CLI:
mininet>  

提示:I don't start the NLSR daemon on the host的原因已经很清楚了,就是因为patch的时候,将节点的nlsr不进行启动。
7、将NDN.p4中对应的文件拷贝到mini-ndn(v0.1.1)中
8、修改p4-switch.conf中的路径,并将它拷贝到/usr/local/etc/mini-ndn中。

9:

sudocp /usr/local/etc/ndn/nfd.conf.sample /usr/local/etc/ndn/nfd.conf


10、在NDN.p4目录下运行

python createFIBrules.py --fib fib.txt --cmd ndn_commands.partial.txt -c 5
11、运行实验:

sudo minindn ~/bishe/mini-ndn/p4.ndn.basic.conf –experiment=P4_NDN_experiment –p4


得到下面的输出结果:
Parse of /home/zdd/bishe/mini-ndn/p4.ndn.basic.conf done.
*** Creating network
*** Adding controller
*** Adding hosts:
a b  
*** Adding switches:
s1  
*** Adding links:
(a, s1) (b, s1)  
*** Configuring hosts
a b  
Setup time: 0
Reading config file  /usr/local/etc/mini-ndn//p4-switch.conf
/home/zdd/bishe/bmv2/targets/simple_switch/simple_switch /home/zdd/bishe/bmv2/targets/simple_switch/runtime_CLI /home/zdd/bishe/NDN.p4/p4src/ndn_router.json l3 9090 True True /home/zdd/bishe/NDN.p4/ndn_commands.partial.txt
P4 setting for host a
Starting NFD on host aa
P4 setting for host b
Starting NFD on host bb
*** Starting controller
c0  
*** Starting 1 switches
s1 Starting P4 switch s1
/home/zdd/bishe/bmv2/targets/simple_switch/simple_switch -i 1@s1-eth1 -i 2@s1-eth2 --pcap --thrift-port 9090 --nanolog ipc:///tmp/bm-0-log.ipc --log-console --device-id 0 /home/zdd/bishe/NDN.p4/p4src/ndn_router.json
Disable IPv6 forwarding on the P4Switch
switch has been started
Filling switch tables using /home/zdd/bishe/NDN.p4/ndn_commands.partial.txt
Control utility for runtime P4 table manipulation
RuntimeCmd: Setting default action of count_table
action:              storeNumOfComponents
runtime data:        00
RuntimeCmd: Adding entry to exact match table count_table
match key:           VALID-    VALID-    VALID-    VALID-    VALID-
action:              storeNumOfComponents
runtime data:        01
Entry has been added with handle 0
RuntimeCmd: Adding entry to exact match table count_table
match key:           VALID-    VALID-    VALID-    VALID-    VALID-
action:              storeNumOfComponents
runtime data:        02
Entry has been added with handle 1
RuntimeCmd: Adding entry to exact match table count_table
match key:           VALID-    VALID-    VALID-    VALID-    VALID-
action:              storeNumOfComponents
runtime data:        03
Entry has been added with handle 2
RuntimeCmd: Adding entry to exact match table count_table
match key:           VALID-    VALID-    VALID-    VALID-    VALID-
action:              storeNumOfComponents
runtime data:        04
Entry has been added with handle 3
RuntimeCmd: Adding entry to exact match table count_table
match key:           VALID-    VALID-    VALID-    VALID-    VALID-
action:              storeNumOfComponents
runtime data:        05
Entry has been added with handle 4
RuntimeCmd: Setting default action of hashName_table
action:              computeStoreTablesIndex
runtime data:         
RuntimeCmd: Adding entry to exact match table pit_table
match key:           EXACT-05
action:              readPitEntry
runtime data:         
Entry has been added with handle 0
RuntimeCmd: Adding entry to exact match table pit_table
match key:           EXACT-06
action:              cleanPitEntry
runtime data:         
Entry has been added with handle 1
RuntimeCmd: Setting default action of fib_table
action:              _drop
runtime data:         
RuntimeCmd: Adding entry to exact match table updatePit_table
match key:           EXACT-01
action:              updatePit_entry
runtime data:         
Entry has been added with handle 0
RuntimeCmd: Adding entry to exact match table updatePit_table
match key:           EXACT-00
action:              _drop
runtime data:         
Entry has been added with handle 1
RuntimeCmd: Adding entry to exact match table routeData_table
match key:           EXACT-01
action:              setOutputIface
runtime data:        00:00
Entry has been added with handle 0
RuntimeCmd: Adding entry to exact match table routeData_table
match key:           EXACT-02
action:              setOutputIface
runtime data:        00:01
Entry has been added with handle 1
RuntimeCmd: Setting default action of routeData_table
action:              _drop
runtime data:         
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-03    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00TERNARY-7e:de &&& ff:ff    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:02
Entry has been added with handle 0
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-04    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00TERNARY-7e:de &&& ff:ff    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:02
Entry has been added with handle 1
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-05    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00TERNARY-7e:de &&& ff:ff    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:02
Entry has been added with handle 2
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-02    TERNARY-00:00 &&& 00:00    TERNARY-e7:30 &&& ff:ffTERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:03
Entry has been added with handle 3
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-03    TERNARY-00:00 &&& 00:00    TERNARY-e7:30 &&& ff:ffTERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:03
Entry has been added with handle 4
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-04    TERNARY-00:00 &&& 00:00    TERNARY-e7:30 &&& ff:ffTERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:03
Entry has been added with handle 5
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-05    TERNARY-00:00 &&& 00:00    TERNARY-e7:30 &&& ff:ffTERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:03
Entry has been added with handle 6
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-01    TERNARY-9c:dd &&& ff:ff    TERNARY-00:00 &&& 00:00TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:04
Entry has been added with handle 7
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-02    TERNARY-9c:dd &&& ff:ff    TERNARY-00:00 &&& 00:00TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:04
Entry has been added with handle 8
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-03    TERNARY-9c:dd &&& ff:ff    TERNARY-00:00 &&& 00:00TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:04
Entry has been added with handle 9
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-04    TERNARY-9c:dd &&& ff:ff    TERNARY-00:00 &&& 00:00TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:04
Entry has been added with handle 10
RuntimeCmd: Adding entry to ternary match table fib_table
match key:           EXACT-05    TERNARY-9c:dd &&& ff:ff    TERNARY-00:00 &&& 00:00TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00    TERNARY-00:00 &&& 00:00
action:              set_egr
runtime data:        00:04
Entry has been added with handle 11
RuntimeCmd:  
 
 
I don't start the NLSR daemon on the host
I don't start the NLSR daemon on the host
*** Starting CLI:
mininet>  

要哭了,终于跑出来了。
但是还不是很能明白这个实验的输出是什么意思,问题待定。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值