I'll gather the PCAP and send it too you. Thanks!

If the LLC library is correct, I think the LLC frame might not be following
the standard, which is why the parsing and assertion may have failed.Or as
you stated there might be a bug in the LLC parsing code.

>When your application catches fatal exceptions, calling sys.exit()
>stops the framework too?

My application didn't catch any fatal exceptions. I can introduce that into
catch statements though. Thanks.

On Sun, Oct 26, 2014 at 9:24 AM, FUJITA Tomonori <
[email protected]> wrote:

> On Thu, 23 Oct 2014 10:58:24 -0400
> A G <[email protected]> wrote:
>
> > Will using the ryu.base.app_manager."My App Name".reply_to_request(*req*,
> > *rep*) ensure that the application that I've written is still running?
>
> Not. Applications are connected with queue. So sending a request means
> just putting a request message to another application's queue.
>
> >    - If it does ensure that it is still running
> >       - Will it block the framework from responding to echo requests
> from a
> >       switch?
> >       - Can someone please provide an example of how I would set up an
> >       application to use this request and reply_to_request methods?
> >    - My application received a packet that was attempted to be parsed as
> an
> >    LLC packet but failed somewhere
> >
> > 2014-10-13 17:32:54102 ERROR ryu.lib.hub hub: uncaught exception:
> Traceback
> > (most recent call last):
> >   File "/usr/lib/python2.6/site-packages/ryu/lib/hub.py", line 52, in
> > _launch
> >     func(*args, **kwargs)
> >   File "/usr/lib/python2.6/site-packages/ryu/base/app_manager.py", line
> > 274, in _event_loop
> >     handler(ev)
> >   File "/home/alex/ryu/ryu/app/simple_switch_HP-9-16-2014.py", line 91,
> in
> > _packet_in_handler
> >     pkt = packet.Packet(msg.data)
> >   File "/usr/lib/python2.6/site-packages/ryu/lib/packet/packet.py", line
> > 45, in __init__
> >     self._parser(parse_cls)
> >   File "/usr/lib/python2.6/site-packages/ryu/lib/packet/packet.py", line
> > 51, in _parser
> >     proto, cls, rest_data = cls.parser(rest_data)
> >   File "/usr/lib/python2.6/site-packages/ryu/lib/packet/llc.py", line
> 153,
> > in parser
> >     control, information = ctrl.parser(buf[cls._PACK_LEN:])
> >   File "/usr/lib/python2.6/site-packages/ryu/lib/packet/llc.py", line
> 253,
> > in parser
> >     assert (control >> 12) & 0b1111 == 0
> > AssertionError
>
> Our llc library's bug or your packet is corrupted. Can you send a pcap
> file of llc packets on your env?
>
> As I wrote in another thread, our packet library should not crash with
> any packets though.
>
>
> > As a result this killed my switching application but the underlying
> > framework was still running. In any event that the switching application
> > dies, I'd like for the framework to also stop. I understand that the root
> > cause should fixed too. But I'd like for a mechanism to stop the
> framework
> > so that my physical switches will enter into the fail-standalone mode.
>
> When your application catches fatal exceptions, calling sys.exit()
> stops the framework too?
>



-- 
[email protected]
------------------------------------------------------------------------------
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to