[ovs-dev] [PATCH v3 2/3] userspace: add layer 3 flow and switching support

Ben Pfaff blp at nicira.com
Thu May 22 20:02:26 UTC 2014


On Tue, May 13, 2014 at 05:02:15PM +0300, Lorand Jakab wrote:
> diff --git a/lib/flow.c b/lib/flow.c
> index 9c9adc5..2b87309 100644
> --- a/lib/flow.c
> +++ b/lib/flow.c
> @@ -121,7 +121,7 @@ struct mf_ctx {
>   * away.  Some GCC versions gave warnigns on ALWAYS_INLINE, so these are
>   * defined as macros. */
>  
> -#if (FLOW_WC_SEQ != 26)
> +#if (FLOW_WC_SEQ != 27)
>  #define MINIFLOW_ASSERT(X) ovs_assert(X)
>  #else
>  #define MINIFLOW_ASSERT(X)

Jarno, I noticed this reviewing Lorand's patch.  It seems odd to me.
Why do we do ovs_assert() only if the sequence number is wrong?  I see
there is a big comment but I still don't understand.

Here's the full code code for those of you following along at home:

/* miniflow_push_* macros allow filling in a miniflow data values in order.
 * Assertions are needed only when the layout of the struct flow is modified.
 * 'ofs' is a compile-time constant, which allows most of the code be optimized
 * away.  Some GCC versions gave warnigns on ALWAYS_INLINE, so these are
 * defined as macros. */

#if (FLOW_WC_SEQ != 27)
#define MINIFLOW_ASSERT(X) ovs_assert(X)
#else
#define MINIFLOW_ASSERT(X)
#endif



More information about the dev mailing list