Refactor and centralize basic OpenFlow message decoding and validation.
authorBen Pfaff <blp@nicira.com>
Mon, 6 Dec 2010 18:20:20 +0000 (10:20 -0800)
committerBen Pfaff <blp@nicira.com>
Mon, 6 Dec 2010 18:20:20 +0000 (10:20 -0800)
commitd1e2cf211901ec64dc2f91ab5379a0ac2654ae62
treedad69075fca37dcfa4315b718590a2237741c6c9
parentc24750a10235af1be9fd9196fc026ab4626ba2d4
Refactor and centralize basic OpenFlow message decoding and validation.

Open vSwitch contains a few different chunks of code that need to decode
an OpenFlow message to determine its type and then validate that it is
long enough.  Until now, the code for doing this has been more or less
scattered across the tree.  Whenever a new piece of code needed to do this,
it generally needed to reimplement at least part of it.

This commit centralizes all of that work into a single function,
ofputil_decode_msg_type(), and helper functions, and converts all of the
code that was decoding messages by hand to use the new function.
lib/learning-switch.c
lib/ofp-print.c
lib/ofp-util.c
lib/ofp-util.h
ofproto/ofproto.c
ofproto/status.c
ofproto/status.h
tests/ofproto.at
tests/ovs-ofctl.at