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