<div dir="ltr">I try to add a message similar to barrier request/reply, but when I add my code I get this error:<div><br></div><div>I can't find where is the error, I think it is because of number 23 and 24 I have put to my adria messages...</div>
<div><br></div><div>Ty in advance!<br><br>POX 0.1.0 (betta) / Copyright 2011-2013 James McCauley, et al.<br>Traceback (most recent call last):<br> File "./pox.py", line 44, in <module><br> from pox.boot import boot<br>
File "/home/adria/Descargas/pox/pox/boot.py", line 57, in <module><br> import pox.openflow.of_01<br> File "/home/adria/Descargas/pox/pox/openflow/of_01.py", line 43, in <module><br> unpackers = make_type_to_unpacker_table()<br>
File "/home/adria/Descargas/pox/pox/openflow/util.py", line 31, in make_type_to_unpacker_table<br> r = [of._message_type_to_class[i].unpack_new for i in range(0, top)]<br>KeyError: 22<br><br>In libopenflow_01 I have added:<br>
@openflow_s_message("OFPT_ADRIA_REPLY", 23,<br> reply_to="ofp_adria_request")<br>class ofp_adria_reply (ofp_header):<br> /*Here same code as Barrier*/<br><br>@openflow_c_message("OFPT_ADRIA_REQUEST", 24,<br>
request_for="ofp_adria_reply")<br>class ofp_adria_request (ofp_header):<br> /*Here same code as Barrier*/<br><br>In __init__.py I have added:<br>class OpenFlowNexus (EventMixin):<br> _eventMixin_events = set([<br>
...<br> AdriaIn,<br> ...<br> ])<br><br>class AdriaIn (Event):<br> /*Same code as barrier In*/<br><br>In of_01.py:<br> handlerMap = {<br> ...<br> of.OFTP_ADRIA_REPLY : handle_ADRIA,<br> ...<br> }<br>
<br> def handle_ADRIA (con, msg):<br> e = con.ofnexus.raiseEventNoErrors(AdriaIn, con, msg)<br> if e is None or e.halt != True:<br> con.raiseEventNoErrors(AdriaIn, con, msg)<div><br></div><div style>In my_component.py (which I run with pox.py):</div>
<div style> when I want on code inside a def of class LearningSwitch (object)::</div><div style> adriamsg = of.ofp_adria_request()</div><div style> self.connection.send(adriamsg)</div><div style><br></div><div style>
In class LearningSwitch (object):</div><div style> def _handle_AdriaIn (self, event):</div><div> print "ADRIA: rebut un adria"</div></div></div>