[ovs-dev] [PATCH v5 06/13] lib/odp-util: Skip ignored fields when parsing and formatting.

Jarno Rajahalme jrajahalme at nicira.com
Tue Sep 9 19:48:50 UTC 2014


On Sep 8, 2014, at 5:06 PM, Ben Pfaff <blp at nicira.com> wrote:

> "sparse" says:
> 
>    ../lib/odp-util.c:2379:9: warning: incorrect type in argument 2 (different base types)
>    ../lib/odp-util.c:2379:9:    expected restricted ovs_be32 [usertype] ( *key )[4]
>    ../lib/odp-util.c:2379:9:    got unsigned int [usertype] ( *<noident> )[4]
>    ../lib/odp-util.c:2379:9: warning: incorrect type in argument 3 (different base types)
>    ../lib/odp-util.c:2379:9:    expected restricted ovs_be32 [usertype] ( *mask )[4]
>    ../lib/odp-util.c:2379:9:    got unsigned int [usertype] ( * )[4]
>    ../lib/odp-util.c:1635:35: warning: incorrect type in argument 3 (different base types)
>    ../lib/odp-util.c:1635:35:    expected restricted ovs_be32 const [usertype] *key_
>    ../lib/odp-util.c:1635:35:    got unsigned int const *<noident>
>    ../lib/odp-util.c:1635:51: warning: incorrect type in argument 4 (different base types)
>    ../lib/odp-util.c:1635:51:    expected restricted ovs_be32 const [usertype] ( *mask_ )[4]
>    ../lib/odp-util.c:1635:51:    got unsigned int const [usertype] ( * )[4]

Sorry for not running this with sparse myself. The problem here seems to be with openvswtich.h using an incorrect type for the ND target field. Checking the datapath code and corresponding fields in struct sw_flow_key, the ovs_key_nd.nd_target should be an array of be32s not uint32s. I’ll send a separate patch to fix this.

  Jarno


More information about the dev mailing list