[ovs-dev] ofpact alignment problem on Windows

Nithin Raju nithin at vmware.com
Fri Mar 13 21:47:59 UTC 2015


Thanks Ben for reporting this. One of the Hyper-V developers will provide a fix, if not for Jarno.

-- Nithin

> On Mar 13, 2015, at 1:57 PM, Ben Pfaff <blp at nicira.com> wrote:
> 
> The appveyor build on Windows failed (see
> https://urldefense.proofpoint.com/v2/url?u=https-3A__ci.appveyor.com_project_blp_ovs_build_1.0.41-29-3A&d=AwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=pNHQcdr7B40b4h6Yb7FIedI1dnBsxdDuTLBYD3JqV80&m=_gJhXVPL_EOiwr3MKszpi6BRxExM1wVF4rbjzsG2bIU&s=VspKJWfLNZcMDmq38topyQ20jo4JR7Tg6JJTIuzmH0g&e= 
> 
>    c:\openvswitch\lib\ofp-actions.h(461) : error C2229: struct 'ofpact_nest' has an illegal zero-sized array 
>    c:\openvswitch\lib\ofp-actions.h(756) : error C2719: 'a': formal parameter with __declspec(align('8')) won't be aligned 
>    c:\openvswitch\lib\ofp-actions.h(756) : error C2719: 'b': formal parameter with __declspec(align('8')) won't be aligned
> 
> That's about this code:
> 
> 458 struct ofpact_nest {
> 459     struct ofpact ofpact;
> 460     uint8_t pad[PAD_SIZE(sizeof(struct ofpact), OFPACT_ALIGNTO)];
> 461     struct ofpact actions[];
> 462 };
> 
> I agree with it that pad[] is zero bytes long now, since "struct
> ofpact" is now 8 bytes long.  That's a bit wasteful don't you think
> since only 4 bytes of it is actually used?  I guess the solution would
> be to remove pad[] or to shrink struct ofpact back to 4 bytes.
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__openvswitch.org_mailman_listinfo_dev&d=AwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=pNHQcdr7B40b4h6Yb7FIedI1dnBsxdDuTLBYD3JqV80&m=_gJhXVPL_EOiwr3MKszpi6BRxExM1wVF4rbjzsG2bIU&s=H9RnmmV_GTfF3c_epOW0gjNETJx_3TzrWiH1QTtSCMc&e= 




More information about the dev mailing list