Hi, On 2015年06月16日 00:21, [email protected] wrote: > Dear everyone, > > I'm currently trying to use Ryu to control our switches. I'm new to Ryu, > so I might just be doing stuff wrong. Also, I couldn't find an 'Issues' > tab on GitHub. Is this the correct place to report bugs? > > Setup: > Downloaded Ryu from source `git clone git://github.com/osrg/ryu.git` > Installed Ryu `cd ryu; python ./setup.py install` > Run with `ryu-manager l2.py` > > Ryu function: > OFPFlowMod._serialize_body() in /ryu/ryu/ofproto/ofproto_v1_3_parser.py
_serialize_body() is internal method of OFP* message classes, and cannot be invoked directly. To serialize OFP* message classes, please use serialize() method instead. FYI, if you want to convert OFP* message classes into JSON format, how about using to_jsondict() method? By using to_jsondict() method, you can get a JSON format string as 'JSON Example' on Ryu-Documentation. (http://ryu.readthedocs.org/en/latest/ofproto_v1_3_ref.html#ryu.ofproto.ofproto_v1_3_parser.OFPFlowMod) Thanks, Iwase > > Trace: > hub: uncaught exception: Traceback (most recent call last): > File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line 52, > in _launch > func(*args, **kwargs) > File "/usr/local/lib/python2.7/dist-packages/ryu/base/app_manager.py", > line 275, in _event_loop > handler(ev) > File "/home/karel/ryu/karel/l2.py", line 47, in > port_desc_stats_reply_handler > self.use_case_2(recieved_datapath) > File "/home/karel/ryu/karel/l2.py", line 122, in use_case_2 > self.ofdpa_instance.create_flow_vlan(port_ids, vlan) > File "/home/karel/ryu/karel/ofdpa.py", line 210, in create_flow_vlan > test.convert(mod) > File "/home/karel/ryu/karel/Ryu_to_REST.py", line 23, in convert > print mod._serialize_body() > File > "/usr/local/lib/python2.7/dist-packages/ryu/ofproto/ofproto_v1_3_parser.py", > line 2487, in _serialize_body > self.out_group, self.flags) > File "/usr/local/lib/python2.7/dist-packages/ryu/lib/pack_utils.py", > line 21, in msg_pack_into > if len(buf) < offset: > TypeError: object of type 'NoneType' has no len() > > Possible cause: > Function passes `self.buf` to `msg_pack_into`, but `self.buf` is never > defined, thus resulting in a NoneType TypeError > > Additional info: > Seems all _serialize_body() functions in ofproto_v1_3_parser.py work > this way, and will give the same error. > > Background: > I've written some examples for our switches in Ryu. An important part of > our partners is working in OpenDaylight instead of Ryu, so I'd like to > convert my examples to OpenDaylight. I figured the easiest way to do is > convert the OFPFlowMod to a JSON that the OpenDaylight REST API can > handle. It seems that the OFPFlowMod._serialize_body() is the native > function to serialize the OFPFlowMod data, bringing it one step closer > to OpenDaylight REST API compatibility. > > Am I using this function correctly? If so, is this indeed a bug? Can > someone fix it? Of course I can also give fixing it myself a shot if > desired. > > Thanks and kind regards, > > Karel van de Plassche > > ------------------------------------------------------------------------------ > _______________________________________________ > Ryu-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/ryu-devel > ------------------------------------------------------------------------------ _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
