Yup, dart. It's actually more than due to get rolled over to eel, but it's waiting on me to have some time to dedicate to POX, which hasn't happened for a while. :)
-- Murphy On Oct 19, 2014, at 6:48 PM, tim huang <pds...@gmail.com> wrote: > Thanks, that's the reason. I spent this whole week trying to understand the > Opendaylight and start working on it. Now I can continue working on the pox. > If I want to contribute the code, I should work on dart branch, right? > > On Sun, Oct 19, 2014 at 9:10 PM, Murphy McCauley <murphy.mccau...@gmail.com> > wrote: > So it probably has to do with fragmentation and the fact that l2_multi does > exact matches. The other controllers you're testing are probably doing > forwarding based on just IP or Ethernet destinations, which simplifies > things. Modify l2_multi to do that too and see if it makes a difference. > > Around line 384 of l2_multi.py, there's the line: > match = of.ofp_match.from_packet(packet) > > Comment it out and do a simpler match. Like... > match = of.ofp_match(dl_dst = packet.dst) > > -- Murphy > > On Oct 19, 2014, at 5:45 PM, Tim Huang <pds...@gmail.com> wrote: > > > Sorry for my unclear statement. > > > > I’m using the discovery, STP, l2_multi modules on the controller with the > > diamond topology, like > > > > h1—s0—— s1—— s2—h3 > > | | > > | ——s3—— | > > > > > > When I issue a ping on h1 (10.0.0.1) like this > > ------------------- > > root@ubuntu:~# ping 10.0.0.3 -s 1600 > > PING 10.0.0.3 (10.0.0.3) 1600(1628) bytes of data. > > ^C > > --- 10.0.0.3 ping statistics --- > > 14 packets transmitted, 0 received, 100% packet loss, time 13102ms > > —————————— > > The ping can never be successful. By default, I can’t see any warning or > > error log information on pox. > > > > If you ping with smaller size packet like 1000 bytes, there isn't any > > problem. After I tested, the threshold is around 1500, I’m thinking it’s > > because of fragmentation. > > > > ————————————————————— > > root@ubuntu:~# ping 10.0.0.3 -s 1000 > > PING 10.0.0.3 (10.0.0.3) 1000(1028) bytes of data. > > 1008 bytes from 10.0.0.3: icmp_req=1 ttl=64 time=268 ms > > 1008 bytes from 10.0.0.3: icmp_req=2 ttl=64 time=0.061 ms > > 1008 bytes from 10.0.0.3: icmp_req=3 ttl=64 time=0.052 ms > > 1008 bytes from 10.0.0.3: icmp_req=4 ttl=64 time=0.057 ms > > ———————————————— > > Here is the all log information on the pox side. > > ———————————— > > pox git:(dart) ./pox.py openflow.discovery openflow.spanning_tree > > forwarding.l2_multi > > POX 0.3.0 (dart) / Copyright 2011-2014 James McCauley, et al. > > INFO:core:POX 0.3.0 (dart) is up. > > INFO:openflow.of_01:[00-00-00-00-00-0c 1] connected > > INFO:openflow.of_01:[00-00-00-00-00-0d 4] connected > > INFO:openflow.of_01:[00-00-00-00-00-0b 2] connected > > INFO:openflow.of_01:[00-00-00-00-00-0a 3] connected > > INFO:openflow.discovery:link detected: 00-00-00-00-00-0c.3 -> > > 00-00-00-00-00-0d.2 > > INFO:openflow.discovery:link detected: 00-00-00-00-00-0c.2 -> > > 00-00-00-00-00-0b.3 > > INFO:openflow.discovery:link detected: 00-00-00-00-00-0d.3 -> > > 00-00-00-00-00-0a.3 > > INFO:openflow.discovery:link detected: 00-00-00-00-00-0d.2 -> > > 00-00-00-00-00-0c.3 > > INFO:openflow.spanning_tree:6 ports changed > > INFO:openflow.discovery:link detected: 00-00-00-00-00-0b.3 -> > > 00-00-00-00-00-0c.2 > > INFO:openflow.spanning_tree:4 ports changed > > INFO:openflow.discovery:link detected: 00-00-00-00-00-0b.2 -> > > 00-00-00-00-00-0a.2 > > INFO:openflow.spanning_tree:1 ports changed > > INFO:openflow.discovery:link detected: 00-00-00-00-00-0a.3 -> > > 00-00-00-00-00-0d.3 > > INFO:openflow.spanning_tree:4 ports changed > > INFO:openflow.discovery:link detected: 00-00-00-00-00-0a.2 -> > > 00-00-00-00-00-0b.2 > > ————————————————————— > > > > Using Ryu as the controller for the same topology > > ——— ———— ————— > > root@ubuntu:~# ping 10.0.0.3 -s 9999 > > PING 10.0.0.3 (10.0.0.3) 9999(10027) bytes of data. > > 10007 bytes from 10.0.0.3: icmp_req=21 ttl=64 time=1.36 ms > > 10007 bytes from 10.0.0.3: icmp_req=22 ttl=64 time=0.183 ms > > 10007 bytes from 10.0.0.3: icmp_req=23 ttl=64 time=0.118 ms > > 10007 bytes from 10.0.0.3: icmp_req=24 ttl=64 time=0.142 ms > > 10007 bytes from 10.0.0.3: icmp_req=25 ttl=64 time=0.259 ms > > 10007 bytes from 10.0.0.3: icmp_req=26 ttl=64 time=0.150 ms > > 10007 bytes from 10.0.0.3: icmp_req=27 ttl=64 time=0.122 ms > > 10007 bytes from 10.0.0.3: icmp_req=28 ttl=64 time=0.109 ms > > 10007 bytes from 10.0.0.3: icmp_req=29 ttl=64 time=0.265 ms > > ————— ————————— > > > > > >> On Oct 19, 2014, at 19:42, Murphy McCauley <murphy.mccau...@gmail.com> > >> wrote: > >> > >> I don't know what limit you're running into. > >> > >> Can you be (much) more specific about what you're trying to do, what you > >> think should be happening, what is happening instead, any relevant errors > >> or log messages, etc.? > >> > >> -- Murphy > >> > >> On Oct 19, 2014, at 4:35 PM, Tim Huang <pds...@gmail.com> wrote: > >> > >>> Hi, > >>> > >>> I am modifying the pox code to perform some kind of load balancing on the > >>> controller. However, I found that the maximum ping packet size that pox > >>> can handle is around 1500 bytes which is too small for my test case, then > >>> I tried other controllers like Ryu, Opendaylight, and they don’t have > >>> this kind of limitation. Is it because of fragmentation or something > >>> else? any clue for this? > >> > > > > > > > -- > Thanks > Tim