On Thu, 20 Dec 2018 00:41:57 +0900,
marcosab...@inf.ufg.br wrote:
> 
> Hello,
> 
> I got the follow error when i send Rule to switch:
> 
> [DEBUG   - 2018-12-17 15:33:00,235] Log.debug -  ------- SET RULE -------
> [INFO    - 2018-12-17 15:33:00,247] Log.info - Starting rule match of OF 1.0
> [DEBUG   - 2018-12-17 15:33:00,255] EventOFPErrorMsg received.
> version=0x1, msg_type=0x1, msg_len=0x4c, xid=0x1edfe32b
>  `-- msg_type: OFPT_ERROR(1)
> [ERROR   - 2018-12-17 15:33:00,255] Error in the datapath
> cc4e24425c000000 from ('10.16.0.192', 7802)
> [DEBUG   - 2018-12-17 15:33:00,256] EVENT ofp_event->switches
> EventOFPStateChange
> [ERROR   - 2018-12-17 15:33:00,257] hub: uncaught exception: Traceback
> (most recent call last):
>   File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line
> 59, in _launch
>     return func(*args, **kwargs)
>   File
> "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
> line 536, in datapath_connection_factory
>     datapath.serve()
>   File
> "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
> line 454, in serve
>     self._recv_loop()
>   File
> "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
> line 196, in deactivate
>     method(self)
>   File
> "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py",
> line 355, in _recv_loop
>     handler(ev)
>   File
> "/usr/local/lib/python2.7/dist-packages/ryu/controller/ofp_handler.py",
> line 281, in error_msg_handler
>     if msg.type == ofp.OFPET_EXPERIMENTER:
> AttributeError: 'module' object has no attribute 'OFPET_EXPERIMENTER'
> 
> The error is in datapath?

It seems to be error_msg_handler has been broken for OF1.0 for a
while. The attached patch should fix.

>From 7cdc07787be7b153889fcb8fe081436e1a49bbab Mon Sep 17 00:00:00 2001
From: IWAMOTO Toshihiro <iwam...@valinux.co.jp>
Date: Thu, 20 Dec 2018 15:36:35 +0900
Subject: [PATCH] Fix error_msg_handler exception

OFPET_EXPERIMENTER isn't defined in OF1.0.

Signed-off-by: IWAMOTO Toshihiro <iwam...@valinux.co.jp>
---
 ryu/controller/ofp_handler.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ryu/controller/ofp_handler.py b/ryu/controller/ofp_handler.py
index 5c4d46de..dc0b543c 100644
--- a/ryu/controller/ofp_handler.py
+++ b/ryu/controller/ofp_handler.py
@@ -278,7 +278,7 @@ class OFPHandler(ryu.base.app_manager.RyuApp):
             hex(msg.version), hex(msg.msg_type), hex(msg.msg_len),
             hex(msg.xid),
             ofp.ofp_msg_type_to_str(msg.msg_type))
-        if msg.type == ofp.OFPET_EXPERIMENTER:
+        if ofp.OFP_VERSION > 0x01 and msg.type == ofp.OFPET_EXPERIMENTER:
             self.logger.debug(
                 "OFPErrorExperimenterMsg(type=%s, exp_type=%s,"
                 " experimenter=%s, data=b'%s')",
-- 
2.11.0



_______________________________________________
Ryu-devel mailing list
Ryu-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to