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?

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

Reply via email to