[ovs-dev] ofp-actions: Make all actions a multiple of OFPACT_ALIGNTO bytes.

Ben Pfaff blp at ovn.org
Thu Nov 15 14:28:12 UTC 2018


On Thu, Nov 15, 2018 at 02:10:23AM -0500, 0-day Robot wrote:
> Bleep bloop.  Greetings Ben Pfaff, I am a robot and I have tried out your patch.
> Thanks for your contribution.
> 
> I encountered some error that I wasn't expecting.  See the details below.
> 
> 
> build:
>      BUILD_ASSERT_DECL(offsetof(struct STRUCT, MEMBER)                   \
>      ^
> ./include/openvswitch/ofp-actions.h:69:5: note: in expansion of macro 'OFPACT'
>      OFPACT(BUNDLE,          ofpact_bundle,      slaves, "bundle")       \
>      ^
> ./include/openvswitch/ofp-actions.h:1279:1: note: in expansion of macro 'OFPACTS'
>  OFPACTS
>  ^
> ./include/openvswitch/compiler.h:255:33: error: static assertion failed: "!offsetof(struct ofpact_bundle, slaves) || (offsetof(struct ofpact_bundle, slaves) == sizeof(struct ofpact_bundle))"
>  #define BUILD_ASSERT_DECL(EXPR) _Static_assert(EXPR, #EXPR)

Oops, here's an incremental fix for 64-bit architectures:

diff --git a/include/openvswitch/ofp-actions.h b/include/openvswitch/ofp-actions.h
index bdd3b28de886..4daf5ad071da 100644
--- a/include/openvswitch/ofp-actions.h
+++ b/include/openvswitch/ofp-actions.h
@@ -395,8 +395,8 @@ struct ofpact_bundle {
 
         /* Slaves for output. */
         unsigned int n_slaves;
-        ofp_port_t slaves[];
     );
+    ofp_port_t slaves[];
 };
 
 /* OFPACT_SET_VLAN_VID.



More information about the dev mailing list