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

Reply via email to