Dear Yiannis, I'm grad to get your reply. As you mention, the MAC learning function should be disabled. But the switch in tl-wr841 is not the same as tl-wr1043nd. When run the command "swconfig dev switch0 help", it goes as :
root@OpenWRT:~# swconfig dev switch0 help switch0: eth0(AR7240/AR9330 built-in switch), ports: 5 (cpu @ 0), vlans: 16 --switch Attribute 1 (int): enable_vlan (Enable VLAN mode) Attribute 2 (none): apply (Activate changes in the hardware) Attribute 3 (none): reset (Reset the switch) --vlan Attribute 1 (int): vid (VLAN ID) Attribute 2 (ports): ports (VLAN port mapping) --port Attribute 1 (int): pvid (Primary VLAN ID) Attribute 2 (string): link (Get port link information) There's no enable_learning attribute. And now, I am trying to find the way to disable the learning function in the source code (ag71xx_ar7240.c). But I'm not sure if it will work. Thanks, Li. At 2013-08-07 00:12:59,"Yiannis Yiakoumis" <yiann...@stanford.edu> wrote: tl-1043nd had learning functionality on the wired ports, and I had to disable it for openflow to work (look at the network configuration file). Is there something similar on 841n? If so, disable it and try again. Let us know how it goes.. Thanks, Y. On Mon, Aug 5, 2013 at 6:05 PM, lixu <xl...@126.com> wrote: 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
_______________________________________________ openflow-discuss mailing list openflow-discuss@lists.stanford.edu https://mailman.stanford.edu/mailman/listinfo/openflow-discuss