Hi, every one. I'm a newer on openflow and openwrt. I get many confusions about
them. Any suggestion will be appreciated.
Here is my experiment structure:
h1(00:16:76:d7:82:d9)++++++(port3)tl-wr841n(port1)++++++h2(10:1f:74:b4:8d:ce)
+
+
+
h3(controller: pox)
As shown in the structure, I try to use tl-wr841n to implement openflow in
openwrt by following the instruction in
http://www.openflow.org/wk/index.php/Pantou_:_OpenFlow_1.0_for_OpenWRT to built
the needed image, the difference is that I choose the openwrt attitude
adjustment 12.09 version. Then I flash the image into wr841n and run the pox in
the controller host, everything seems work fine, until I started to do some
tests.
For the component forwarding.l2_learning, I run it as:
lsz@lsz-DELL:/ofd/pox/ext$ ../pox.py log.level --DEBUG forwarding.l2_learning
openflow.keepalive
POX 0.1.0 (betta) / Copyright 2011-2013 James McCauley, et al.
DEBUG:core:POX 0.1.0 (betta) going up...
DEBUG:core:Running on CPython (2.7.3/Apr 10 2013 05:09:49)
DEBUG:core:Platform is Linux-3.5.0-36-generic-i686-with-Ubuntu-12.10-quantal
INFO:core:POX 0.1.0 (betta) is up.
DEBUG:openflow.of_01:Listening on 0.0.0.0:6633
INFO:openflow.of_01:[00-23-20-37-56-69 1] connected
DEBUG:forwarding.l2_learning:Connection [00-23-20-37-56-69 1]
DEBUG:forwarding.l2_learning:installing flow for 00:16:76:d7:82:d9.3 ->
10:1f:74:b4:8d:ce.1
DEBUG:forwarding.l2_learning:Finish send the learning flow
DEBUG:forwarding.l2_learning:installing flow for 00:16:76:d7:82:d9.3 ->
10:1f:74:b4:8d:ce.1
DEBUG:forwarding.l2_learning:Finish send the learning flow
Pox has send the learning packet to the wr841n, and I can see the flows in the
router by dpctl:
root@OpenWrt:~# dpctl dump-flows tcp:127.0.0.1:6634
stats_reply (xid=0x33a969d1): flags=none type=1(flow)
cookie=0, duration_sec=9s, duration_nsec=533000000s, table_id=0,
priority=65535, n_packets=9, n_bytes=540,
idle_timeout=10,hard_timeout=30,arp,in_port=3,dl_vlan=0xffff,dl_vlan_pcp=0x00,dl_src=00:16:76:d7:82:d9,dl_dst=10:1f:74:b4:8d:ce,nw_src=192.168.0.2,nw_dst=192.168.0.3,nw_tos=0x00,nw_proto=2,tp_src=0,tp_dst=0,actions=output:1
cookie=0, duration_sec=4s, duration_nsec=511000000s, table_id=0,
priority=65535, n_packets=1, n_bytes=98,
idle_timeout=10,hard_timeout=30,icmp,in_port=3,dl_vlan=0xffff,dl_vlan_pcp=0x00,dl_src=00:16:76:d7:82:d9,dl_dst=10:1f:74:b4:8d:ce,nw_src=192.168.0.2,nw_dst=192.168.0.3,nw_tos=0x00,icmp_type=8,icmp_code=0,actions=output:1
That means the wr841n has received and added the flows sent by the controller.
But the host1 and host2 still cannot ping each other successfully and shown
"Destination Host Unreachable". I also try to add the flows through dptcl as
below, but the same result when ping
root@OpenWrt:~# dpctl dump-flows tcp:127.0.0.1:6634
stats_reply (xid=0xdbf01cfe): flags=none type=1(flow)
root@OpenWrt:~# dpctl add-flow tcp:127.0.0.1:6634 hard_timeout=30,
dl_src=10:1f:74:b4:8d:ce,actions=output:3
root@OpenWrt:~# dpctl add-flow tcp:127.0.0.1:6634 dl_src=00:16:76:
d7:82:d9,hard_timeout=30,actions=output:1
root@OpenWrt:~# dpctl dump-flows tcp:127.0.0.1:6634
stats_reply (xid=0x3b6eecbb): flags=none type=1(flow)
cookie=0, duration_sec=2s, duration_nsec=271000000s, table_id=1,
priority=32768, n_packets=0, n_bytes=0,
idle_timeout=60,hard_timeout=30,dl_src=00:16:76:d7:82:d9,actions=output:1
cookie=0, duration_sec=8s, duration_nsec=718000000s, table_id=1,
priority=32768, n_packets=0, n_bytes=0,
idle_timeout=60,hard_timeout=30,dl_src=10:1f:74:b4:8d:ce,actions=output:3
The configurations of tl-wr841n are as follow:
/***network configuration***/
root@OpenWrt:~# cat /etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option ifname 'eth0.1'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
config interface 'lan2'
option ifname 'eth0.2'
option proto 'static'
config interface 'lan3'
option ifname 'eth0.3'
option proto 'static'
config interface 'lan4'
option ifname 'eth0.4'
option proto 'static'
config interface 'wan'
option ifname 'eth1'
option proto 'dhcp'
config switch
option name 'eth0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option device 'eth0'
option vlan '1'
option ports '0t 4'
config switch_vlan
option device 'eth0'
option vlan '2'
option ports '0t 1'
config switch_vlan
option device 'eth0'
option vlan '3'
option ports '0t 2'
config switch_vlan
option device 'eth0'
option vlan '4'
option ports '0t 3'
/***openflow switch configuration***/
root@OpenWrt:~# cat /etc/config/openflow
config 'ofswitch'
option 'dp' 'dp0'
# option 'dpid' '000000000001'
option 'ofports' 'eth0.2 eth0.3 eth0.4'
option 'ofctl' 'tcp:192.168.1.185:6633'
option 'mode' 'outofband'
Lixu
_______________________________________________
openflow-discuss mailing list
openflow-discuss@lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/openflow-discuss