odp-util: Fix IPFIX breakage with old kernel modules.
authorBen Pfaff <blp@nicira.com>
Mon, 7 Oct 2013 21:26:28 +0000 (14:26 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 11 Nov 2013 21:02:58 +0000 (13:02 -0800)
commit96ed775f194a8a2461003533009be18c6e42c542
tree4fd0a0684361f7a3e421e55f0337572167b92b8e
parent9ddf12cc12520acd7d09a8dfca74379faf0acf09
odp-util: Fix IPFIX breakage with old kernel modules.

Before commit e995e3df57ea (Allow OVS_USERSPACE_ATTR_USERDATA to be
variable length.) userdata attributes in userspace actions were expected
to be exactly 64 bits long.  The kernel only actually enforced that they
were at least 64 bits long (the previously referenced commit's log message
contains misinformation on this account).

Initially this was no problem, because all of the userdata that userspace
actually used was exactly 8 bytes long.  Commit 29089a540c (Implement IPFIX
export), however, exposed a problem by reducing the length of userdata for
IPFIX support to just 4 bytes.  This meant that IPFIX no longer worked on
older datapaths, because the userdata was no longer at least 8 bytes long.

This commit fixes the problem by padding out userdata attributes less than
8 bytes long to 8 bytes.

CC: Romain Lenglet <rlenglet@vmware.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Romain Lenglet <rlenglet at vmware.com>
lib/odp-util.c