From: Jesse Gross <redacted>
Date: Fri, 11 Sep 2015 18:38:28 -0700
Masks were added to OVS flows in a way that was backwards compatible
with userspace programs that did not generate masks. As a result, it is
possible that we may receive flows that do not have a mask and we need
to synthesize one.
Generating a mask requires iterating over attributes and descending into
nested attributes. For each level we need to know the size to generate the
correct mask. We do this with a linked table of attribute types.
Although the logic to handle these nested attributes was there in concept,
there are a number of bugs in practice. Examples include incomplete links
between tables, variable length attributes being treated as nested and
missing sanity checks.
Signed-off-by: Jesse Gross <redacted>
---
v2: Fix whitespace errors.
Add check for unknown bytes in VXLAN extensions.
Factor out check for nested or variable attributes.
Applied, thanks.