nicira-ext: Clarify and fix macros to check for NXM metadata registers.
authorBen Pfaff <blp@nicira.com>
Thu, 2 Dec 2010 22:15:33 +0000 (14:15 -0800)
committerBen Pfaff <blp@nicira.com>
Tue, 7 Dec 2010 19:03:06 +0000 (11:03 -0800)
commit19e7439c61970cc5066aae601492a2e9b55ffcb7
tree62d71fa98b50fdf2204646267aaecf2f2a7e76d5
parent73d67a4355a28ea746358329901aa8da1d02ca2b
nicira-ext: Clarify and fix macros to check for NXM metadata registers.

The NXM_IS_NX_REG macro didn't check the "hasmask" bit, which meant that it
looked like it was supposed to match both exact and wildcarded NXM headers,
e.g. both NXM_NX_REG0 and NXM_NX_REG0_W.  But exact and wildcarded NXM
headers differ not just in the "hasmask" bit but in the "length" value
also (the wildcarded version's length is twice the exact version's length),
so this was not what it actually did.

The only current users of NXM_IS_NX_REG actually only want to match exact
versions, so this commit makes it only match those.  It also adds a new
NXM_IS_NX_REG_W macro that matches only wildcarded versions.  This new
macro has no users yet, but its existence should help to make it clear that
NXM_IS_NX_REG only matches exact NXM headers.

Reported-by: Natasha Gude <natasha@nicira.com>
include/openflow/nicira-ext.h