dpif: Fix slow action handling for DP_HASH and RECIRC
authorAndy Zhou <azhou@nicira.com>
Thu, 29 May 2014 00:00:48 +0000 (17:00 -0700)
committerAndy Zhou <azhou@nicira.com>
Wed, 4 Jun 2014 21:08:21 +0000 (14:08 -0700)
commitaad5cf96377c99049efabb997d983bd641a2a249
tree7a1667599fb9f3d315e6b547ef5fc479d6a744fe
parent2d04a2aff72ccfebbfc576a6de360062ef071232
dpif: Fix slow action handling for DP_HASH and RECIRC

In case DP_HASH and RECIRC actions need to be executed in slow path,
current implementation simply don't handle them -- vswitchd simply
crashes. This patch fixes them by supply an implementation for them.

RECIRC will be handled by the datapath, same as the output action.

DP_HASH, on the other hand, is handled in the user space. Although the
resulting hash values may not match those computed by the datapath, it
is less expensive; current use case (bonding) does not require a strict
match to work properly.

Reported-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
Signed-off-by: Andy Zhou <azhou@nicira.com>
Acked-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp>
lib/dpif.c
lib/odp-execute.c