dpif-netdev: Unwildcard entire odp_port in dpif_netdev_mask_from_nlattrs().
authorBen Pfaff <blp@nicira.com>
Sat, 5 Apr 2014 17:27:05 +0000 (10:27 -0700)
committerBen Pfaff <blp@nicira.com>
Sat, 5 Apr 2014 18:05:42 +0000 (11:05 -0700)
commita205dff624fa2c14dfd13fdf493299f4bff998e2
tree06273b915a91306cfe42af50e9ef632c8ed5f1bf
parentfb2cc2df6ca44efede09ee04d5dc423dbfc4ce5d
dpif-netdev: Unwildcard entire odp_port in dpif_netdev_mask_from_nlattrs().

One case in the dpif_netdev_mask_from_nlattrs() function accidentally
wildcarded only a 16-bit subset of the mask's odp_port.  On little-endian
machines this subset was the lower bits, which happened to work out OK,
but on big-endian machines this subset was the upper bits, which doesn't
work and causes a test failure.  (The problem was actually visible in the
test expected results on little-endian machines, but we had not noticed.)

This commit unwildcards the whole field, fixing the problem, and updates
the test expected results to match.

This fixes the failure of test 732 seen here:
https://buildd.debian.org/status/fetch.php?pkg=openvswitch&arch=sparc&ver=2.1.0%2Bgit20140325-1&stamp=1396438624

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jarno Rajahalme <jrajahalme@nicira.com>
lib/dpif-netdev.c
tests/ofproto-dpif.at