[ovs-dev] [PATCH] Discourage use of unencodable error codes, add a generic OFPERR_NX__UNKNOWN_ERROR code.

Ben Pfaff blp at nicira.com
Sat Dec 1 17:55:58 UTC 2012


On Fri, Nov 30, 2012 at 02:22:00PM +0200, Jarno Rajahalme wrote:
>     Removed error category types (OFPERR_OFPET_*) from enum ofperr to make it harder for contributors to use
>     unencodable error codes. Removed corresponding functions ofperr_is_category() and ofperr_decode_type().
>     Added OFPERR_NX__UNKNOWN_ERROR (NX1.0+(0xfffe,256)), which is now encoded if the error code given to
>     ofperr_encode_msg__() cannot be encoded with the given ofp_version. The rationale is that the corresponding
>     OF transaction has failed, and the controller must know this, so sending no error message is not an option.
>     Changed ofperr_encode_msg__() logging from WARN to ERR, as using unencodable error codes for the underlying
>     openflow version is an error.
>     Added OFPERR_NXBRC_FM_BAD_EVENT to avoid using an unencodable error code in ofputil_decode_flow_update().
>     Replaced unencodable error codes in ofp-actions.c with encodable ones.

This mostly looks good.  I spent some time Friday breaking it up into
smaller commits and fixing a few existing bugs that I noticed while
reviewing it.  I'm not quite done; I'll probably post the new series on
Monday.

Thanks a lot for doing this.

Ben



More information about the dev mailing list