When building with DPDK support, 'struct dpif_packet' won't have 'dp_hash' member. dpif_packet_set_dp_hash() and dpif_packet_get_dp_hash() should be used.
Furthermore, the masked set action shouldn't read 'md->dp_hash' (which is shared in a batch), but should use dpif_packet_get_dp_hash() to get each packet private hash. This commit fixes the build with DPDK Signed-off-by: Daniele Di Proietto <ddiproie...@vmware.com> --- lib/odp-execute.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/odp-execute.c b/lib/odp-execute.c index e4bee18..78b1f24 100644 --- a/lib/odp-execute.c +++ b/lib/odp-execute.c @@ -332,8 +332,9 @@ odp_execute_masked_set_action(struct dpif_packet *packet, break; case OVS_KEY_ATTR_DP_HASH: - packet->dp_hash = md->dp_hash = nl_attr_get_u32(a) - | (md->dp_hash & ~*get_mask(a, uint32_t)); + md->dp_hash = nl_attr_get_u32(a) + | (dpif_packet_get_dp_hash(packet) & ~*get_mask(a, uint32_t)); + dpif_packet_set_dp_hash(packet, md->dp_hash); break; case OVS_KEY_ATTR_RECIRC_ID: -- 2.1.0.rc1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev