[pox-dev] handling vendor message

Murphy McCauley murphy.mccauley at gmail.com
Mon Jul 29 15:54:17 PDT 2013


There are two aspects to intelligently handling vendor messages.

The first is to hook the vendor message unpacking process in libopenflow so that it can unpack your vendor message into a custom class.

The second is hooking how core.openflow handles vendor messages.  Usually this will mean raising a custom event type in response.

Presently, how you do either of the above is not particularly beautiful.  There's an example in openflow.nicira.  _init_unpacker() does the former, _init_handler() does the latter (actually, it raises an existing event -- to raise a new event, you'd have to define the Event subclass and then add it to core.openflow and Connection's _eventMixin_events).

You could actually skip the event generation (and even the custom unpacking if you really wanted...) and just hook the handler so that it came to your function instead of the original.  This is basically what _init_handler() does.

-- Murphy

On Jul 29, 2013, at 3:35 PM, adria sole wrote:

> Hi all,
> 
> I want to unpack a vendor message but I first have problems for handling the vendor message. 
> 
> In my_component.py I have created an:
> def handle_VENDOR (con, msg):
>     log.info("ADRIA Vendor msg: " + str(msg))
> 
> But instead of printing the information from my_component.py it is printed by of_01.py in:
> def handle_VENDOR (con, msg):
>   log.info("Vendor msg: " + str(msg))
> 
> How can I handle a vendor message? The code of my_component.py is very similiar to l2_learning.py.
> 
> Thank you in advance!
> 
> Adrià Solé

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.noxrepo.org/pipermail/pox-dev-noxrepo.org/attachments/20130729/d41d92d8/attachment-0002.htm>


More information about the pox-dev mailing list