- BMv2 supported
- Python 3.10 or above
- All needed python packets installed
-
Run Planter with
-m(manually config) mode with program after-d:(changgang-python3.10) changgang@changgangsmbp2 DINC % python3 DINC.py -m -d ./src/sample/Planter_DT/DT_performance_Iris.p4 -
The distributing strategy is generated by DINC in this process:
,---, ,---, ,--.'| ,----.. .' .' `\ ,`--.' | ,--,: : | / / \ ,---.' \ | : : ,`--.'`| ' : | : : | | .`\ | : | ' | : : | | . | ;. / : : | ' | | : | : | \ | : . ; /--` | ' ' ; : ' ' ; | : ' '; | ; | ; ' | ; . | | | | ' ' ;. ; | : | | | : | ' ' : ; | | | \ | . | '___ ' : | / ; | | ' ' : | ; .' ' ; : .'| | | '` ,/ ' : | | | '`--' ' | '/ : ; : .' ; |.' ' : | | : / | ,.' '---' ; |.' \ \ .' '---' '---' `---` DINC version 0 + Where is your DINC folder? (default = /Users/changgang/Documents/GitHub/DINC) + Which network topology do you want to use? (default = Fat-Tree | options = -h) -h What option is available: Folded-Clos, BT-All, Fat-Tree, BT-ASP, BT, Folded-Clos-All, Folded-Clos-ASP. + Which network topology do you want to use? (default = Fat-Tree | options = -h) Fat-Tree + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/topologies/Fat-Tree + Where is the depth of your network? (default = 3) + Where is the branch number on each node of your network? (default = 2) + If you want to display your network topology? (default = False) + Which are input devices (please check the reference graph in the previous step)? (default = [2, 3, 5, 6]) + Which are output devices (please check the reference graph in the previous step)? (default = [0]) + Which resources should be considered? (default = [stage, memory]) + Which resources should be considered? (default = [5, 5, 5, 5, 5, 5, 5]) + Which resources should be considered? (default = [5, 5, 5, 5, 5, 5, 5]) + What architectures would you like to use? (default = ['v1model', 'v1model', 'v1model', 'v1model', 'v1model', 'v1model', 'v1model']) + What use cases would you like to use? (default = ['standard_block', 'standard_block', 'standard_block', 'standard_block', 'standard_block', 'standard_block', 'standard_block']) + What targets would you like to use? (default = ['bmv2', 'bmv2', 'bmv2', 'bmv2', 'bmv2', 'bmv2', 'bmv2']) + Where is your P4 file? (default = ./src/sample/Planter_DT/DT_performance_Iris.p4) + What method would you like to use to slice your P4 file? (default = Manually | options = -h) + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/slicing/Manually + Where is the stater marker in your P4 code? (default = @!) + Where is the end marker in your P4 code? (default = !@) + What is the element position information marked in your P4 code? (default = [slice, position]) - Remove file: /Users/changgang/Documents/GitHub/DINC/src/temp/P4/E1_control.p4 - Remove file: /Users/changgang/Documents/GitHub/DINC/src/temp/P4/E0_control-apply.p4 - Remove file: /Users/changgang/Documents/GitHub/DINC/src/temp/P4/E0_control.p4 - Remove file: /Users/changgang/Documents/GitHub/DINC/src/temp/P4/E1_control-apply.p4 + What solver would you like to use? (default = ILP | options = -h) + What variation of solver would you like to choose? (default = Type_1 | options = -h) + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/solver/ILP/Type_1 fun: 38.0 message: 'Optimization terminated successfully. (HiGHS Status 7: Optimal)' mip_dual_bound: 38.0 mip_gap: 0.0 mip_node_count: 0 status: 0 success: True x: array([0., 0., 1., 0., 1., 0., 1., 0., 0., 1., 0., 0., 0., 1., 0., 1., 0., 0., 1., 0., 0.]) Optimization finished, the result can be found in the directory: ./src/logs/DT_performance_Iris_Fat-Tree_3depth_2branch.pdf + If you want to test the ILP solver? (default = False) True + If you want detailed test info? (default = False) The used number of nodes is 7 out of 7 Execution time for round 10 test is: 0.001190s Everage execution time is 0.001782393455505371s with standard deviation 0.0008575664111038881s Path 4/4 latency is 3 out of 3 hops DINC deployment has 4 paths with average latency: 3.0 out of 3.0 hops The hop number CDF is: [0. 0. 1.] Orignial segmentation number is 3, total used segmentation is 7
Till now, the result used in the paper has already been generated and we can choose to exit the framework with CTRL+C at this stage.
-
The P4 code for each node will be generated by DINC under the following process:
+ What generator would you like to use? (default = exact | options = -h) + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/code_generator/exact - Remove file: /Users/changgang/Documents/GitHub/DINC/P4/Node_2.p4 - Remove file: /Users/changgang/Documents/GitHub/DINC/P4/Node_0.p4 - Remove file: /Users/changgang/Documents/GitHub/DINC/P4/Node_1.p4 before remove input m [['bit<32>', 'feature2', 32], ['bit<32>', 'feature3', 32]] output m [['bit<3>', 'code_f2', 3], ['bit<3>', 'code_f3', 3]] input m [['bit<32>', 'feature2', 32], ['bit<32>', 'feature3', 32]] output m [['bit<3>', 'code_f2', 3], ['bit<3>', 'code_f3', 3]] + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 0 -> Node_0.p4...Done - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 1 -> Node_1.p4...Done - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 2 -> Node_2.p4...Done - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 3 -> Node_3.p4...Done - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 4 -> Node_4.p4...Done - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 5 -> Node_5.p4...Done - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 6 -> Node_6.p4...Done - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/architecture/v1model P4 Generation Finished! - Remove the following path: /Users/changgang/Documents/GitHub/DINC/src/code_generator/exact -
The testing process in DINC can be triggered with the following process:
+ Would you like to test current strategy? (default = Y) + What testing mode would you like to use? (default = BMv2 | options = -h) + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/test/BMv2 All P4 files will be regenerated with v1model architecture to meet the testing environment requirements! Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/code_generator/v1model before remove input m [['bit<32>', 'feature2', 32], ['bit<32>', 'feature3', 32]] output m [['bit<3>', 'code_f2', 3], ['bit<3>', 'code_f3', 3]] input m [['bit<32>', 'feature2', 32], ['bit<32>', 'feature3', 32]] output m [['bit<3>', 'code_f2', 3], ['bit<3>', 'code_f3', 3]] + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 0 -> s0.p4...Done - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 1 -> s1.p4...Done - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 2 -> s2.p4...Done - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 3 -> s3.p4...Done - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 4 -> s4.p4...Done - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 5 -> s5.p4...Done - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block + Add the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model > Generating p4 files with v1model and standard_block for node 6 -> s6.p4...Done - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/use_cases/standard_block - Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/architecture/v1model P4 Generation Finished! Remove the following path: /home/jesu3779/Documents/GitHub/DINC/src/code_generator/v1model P4 Generation Finished + Where is your BMv2 folder? (default = /home/jesu3779/mysde/behavioral-model-1.15.0) - Please input your password for 'sudo' command: Dump the targets info to /home/jesu3779/Documents/GitHub/DINC/src/test/BMv2/test_environment/temp/BMv2_network_config.json + Test scripts are generated! Join all subprocess together ... sudo mn -c *** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes killall controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec ivs ryu-manager 2> /dev/null killall -9 controller ofprotocol ofdatapath ping nox_corelt-nox_core ovs-openflowd ovs-controllerovs-testcontroller udpbwtest mnexec ivs ryu-manager 2> /dev/null pkill -9 -f "sudo mnexec" *** Removing junk from /tmp rm -f /tmp/vconn* /tmp/vlogs* /tmp/*.out /tmp/*.log *** Removing old X11 tunnels *** Removing excess kernel datapaths ps ax | egrep -o 'dp[0-9]+' | sed 's/dp/nl:/' *** Removing OVS datapaths ovs-vsctl --timeout=1 list-br ovs-vsctl --timeout=1 list-br *** Removing all links of the pattern foo-ethX ip link show | egrep -o '([-_.[:alnum:]]+-eth[[:digit:]]+)' ip link show *** Killing stale mininet node processes pkill -9 -f mininet: *** Shutting down stale tunnels pkill -9 -f Tunnel=Ethernet pkill -9 -f .ssh/mn rm -f ~/.ssh/mn/* *** Cleanup complete. rm -f *.pcap rm -rf build pcaps logs ['s0', 's1', 's2', 's3', 's4', 's5', 's6'] 0 1 s0 s1 1 1 0 4 s0 s4 2 1 1 2 s1 s2 2 1 1 3 s1 s3 3 1 4 5 s4 s5 2 1 4 6 s4 s6 3 1 *** Creating network *** Adding hosts: h0 h2 h3 h5 h6 *** Adding switches: s0 s1 s2 s3 s4 s5 s6 *** Adding links: (h0, s0) (h2, s2) (h3, s3) (h5, s5) (h6, s6) (s0, s1) (s0, s4) (s1, s2) (s1, s3) (s4, s5) (s4, s6) *** Configuring hosts h0 h2 h3 h5 h6 *** Starting controller *** Starting 7 switches s0 Starting P4 switch s0. /home/jesu3779/mysde/behavioral-model-1.15.0/targets/simple_switch/simple_switch -i 88@s0-eth88 -i 1@s0-eth1 -i 2@s0-eth2 --thrift-port 9090 --nanolog ipc:///tmp/bm-0-log.ipc --device-id 0 ./build/s0.json P4 switch s0 has been started. s1 Starting P4 switch s1. /home/jesu3779/mysde/behavioral-model-1.15.0/targets/simple_switch/simple_switch -i 1@s1-eth1 -i 2@s1-eth2 -i 3@s1-eth3 --thrift-port 9091 --nanolog ipc:///tmp/bm-1-log.ipc --device-id 1 ./build/s1.json P4 switch s1 has been started. s2 Starting P4 switch s2. /home/jesu3779/mysde/behavioral-model-1.15.0/targets/simple_switch/simple_switch -i 88@s2-eth88 -i 1@s2-eth1 --thrift-port 9092 --nanolog ipc:///tmp/bm-2-log.ipc --device-id 2 ./build/s2.json P4 switch s2 has been started. s3 Starting P4 switch s3. /home/jesu3779/mysde/behavioral-model-1.15.0/targets/simple_switch/simple_switch -i 88@s3-eth88 -i 1@s3-eth1 --thrift-port 9093 --nanolog ipc:///tmp/bm-3-log.ipc --device-id 3 ./build/s3.json P4 switch s3 has been started. s4 Starting P4 switch s4. /home/jesu3779/mysde/behavioral-model-1.15.0/targets/simple_switch/simple_switch -i 1@s4-eth1 -i 2@s4-eth2 -i 3@s4-eth3 --thrift-port 9094 --nanolog ipc:///tmp/bm-4-log.ipc --device-id 4 ./build/s4.json P4 switch s4 has been started. s5 Starting P4 switch s5. /home/jesu3779/mysde/behavioral-model-1.15.0/targets/simple_switch/simple_switch -i 88@s5-eth88 -i 1@s5-eth1 --thrift-port 9095 --nanolog ipc:///tmp/bm-5-log.ipc --device-id 5 ./build/s5.json P4 switch s5 has been started. s6 Starting P4 switch s6. /home/jesu3779/mysde/behavioral-model-1.15.0/targets/simple_switch/simple_switch -i 88@s6-eth88 -i 1@s6-eth1 --thrift-port 9096 --nanolog ipc:///tmp/bm-6-log.ipc --device-id 6 ./build/s6.json P4 switch s6 has been started. /sbin/ethtool --offload eth0 rx off /sbin/ethtool --offload eth0 tx off /sbin/ethtool --offload eth0 sg off disable ipv6 /sbin/ethtool --offload eth0 rx off /sbin/ethtool --offload eth0 tx off /sbin/ethtool --offload eth0 sg off disable ipv6 /sbin/ethtool --offload eth0 rx off /sbin/ethtool --offload eth0 tx off /sbin/ethtool --offload eth0 sg off disable ipv6 /sbin/ethtool --offload eth0 rx off /sbin/ethtool --offload eth0 tx off /sbin/ethtool --offload eth0 sg off disable ipv6 /sbin/ethtool --offload eth0 rx off /sbin/ethtool --offload eth0 tx off /sbin/ethtool --offload eth0 sg off disable ipv6 Ready ! Obtaining JSON from switch... Done Control utility for runtime P4 table manipulation RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:fe/32 action: SwitchIngress.ipv4_forward runtime data: 10:00:00:00:00:00 00:58 Entry has been added with handle 0 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:02/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:01 00:01 Entry has been added with handle 1 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:03/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:01 00:01 Entry has been added with handle 2 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:05/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:04 00:02 Entry has been added with handle 3 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:06/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:04 00:02 Entry has been added with handle 4 RuntimeCmd: Obtaining JSON from switch... Done Control utility for runtime P4 table manipulation RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:fe/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:00 00:01 Entry has been added with handle 0 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:02/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:02 00:02 Entry has been added with handle 1 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:03/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:03 00:03 Entry has been added with handle 2 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:05/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:00 00:01 Entry has been added with handle 3 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:06/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:00 00:01 Entry has been added with handle 4 RuntimeCmd: Obtaining JSON from switch... Done Control utility for runtime P4 table manipulation RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:fe/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:01 00:01 Entry has been added with handle 0 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:02/32 action: SwitchIngress.ipv4_forward runtime data: 10:00:00:00:00:02 00:58 Entry has been added with handle 1 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:03/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:01 00:01 Entry has been added with handle 2 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:05/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:01 00:01 Entry has been added with handle 3 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:06/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:01 00:01 Entry has been added with handle 4 RuntimeCmd: Obtaining JSON from switch... Done Control utility for runtime P4 table manipulation RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:fe/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:03:01 00:01 Entry has been added with handle 0 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:02/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:03:01 00:01 Entry has been added with handle 1 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:03/32 action: SwitchIngress.ipv4_forward runtime data: 10:00:00:00:00:03 00:58 Entry has been added with handle 2 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:05/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:03:01 00:01 Entry has been added with handle 3 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:06/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:03:01 00:01 Entry has been added with handle 4 RuntimeCmd: Obtaining JSON from switch... Done Control utility for runtime P4 table manipulation RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:fe/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:00 00:01 Entry has been added with handle 0 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:02/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:00 00:01 Entry has been added with handle 1 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:03/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:00 00:01 Entry has been added with handle 2 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:05/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:05 00:02 Entry has been added with handle 3 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:06/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:01:06 00:03 Entry has been added with handle 4 RuntimeCmd: Obtaining JSON from switch... Done Control utility for runtime P4 table manipulation RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:fe/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:04 00:01 Entry has been added with handle 0 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:02/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:04 00:01 Entry has been added with handle 1 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:03/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:04 00:01 Entry has been added with handle 2 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:05/32 action: SwitchIngress.ipv4_forward runtime data: 10:00:00:00:00:05 00:58 Entry has been added with handle 3 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:06/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:02:04 00:01 Entry has been added with handle 4 RuntimeCmd: Obtaining JSON from switch... Done Control utility for runtime P4 table manipulation RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:fe/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:03:04 00:01 Entry has been added with handle 0 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:02/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:03:04 00:01 Entry has been added with handle 1 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:03/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:03:04 00:01 Entry has been added with handle 2 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:05/32 action: SwitchIngress.ipv4_forward runtime data: c8:00:00:00:03:04 00:01 Entry has been added with handle 3 RuntimeCmd: Adding entry to lpm match table SwitchIngress.ipv4_lpm match key: LPM-0a:00:00:06/32 action: SwitchIngress.ipv4_forward runtime data: 10:00:00:00:00:06 00:58 Entry has been added with handle 4 RuntimeCmd: *** Starting CLI: mininet> ping all *** Unknown command: ping all mininet> pingall *** Ping: testing ping reachability h0 -> h2 h3 h5 h6 h2 -> h0 h3 h5 h6 h3 -> h0 h2 h5 h6 h5 -> h0 h2 h3 h6 h6 -> h0 h2 h3 h5 *** Results: 0% dropped (20/20 received) mininet> ============================================================================================== = Exiting DINC = ==============================================================================================
