net: nest error checks

Add nest error checking.

Signed-off-by: John Fastabend <john.fastabend@intel.com>
net: flow_table add support for parse graph

Expose the parse graph of the device so that we can
learn the ordering of supported fields.

A common one is to support various levels of 802.1Q
nested VLANs.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
net: flow table graph support

The hardware flow tables may be linked in a specific
order. Or the next able may be selected using some boolean
expressoin on a field/meta-data.
net: flow model: move anchor onto its own generic netlink handler

Flow tables are independent of bridging functions in this patch
we move the achor onto a generic netlink.

Also break up messaging now get_tables only returns tables and
does not include headers or actions. And add get_flows, get_actions
and get_headers commands to get these explicitely. This gives more
flexibliity to user space.

Also get_tables and get_flows will not include string names
anymore to streamline netlink messaging. The names for
matches and actions will be reported by get_action and
get_headers. In this way user space should call get_headers,
get_actions and cache the results to learn supported headers and
actions at init time.

Because the flows are no longer returned by get_tables flow
entries are filtered by table and priority range.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>