Merge branch 'nfp-xdp_adjust_head'
authorDavid S. Miller <davem@davemloft.net>
Mon, 13 Mar 2017 06:43:20 +0000 (23:43 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Mar 2017 06:43:20 +0000 (23:43 -0700)
commitd1523099419990fce4360e828d5d0120360ad7ae
tree2c36b92d04514722d96b99ee4c909886027313e7
parent6dc6826f873cb7e73d9ebef7500d3d3f805533fd
parent6fe0c3b43804c9803a4a31c9d2ed8c2014bc0dc3
Merge branch 'nfp-xdp_adjust_head'

Jakub Kicinski says:

====================
nfp: XDP adjust head support

This series adds support for XDP adjust head.  Bulk of the code
is actually just paying technical debt.  On reconfiguration request
nfp was allocating new resources separately leaving device running
with the existing set of rings.  We used to manage the new resources
in special ring set structures.  This set is simply separating the
datapath part of the device structure from the control information
allowing the new datapath structure to be allocated with all new
memory and rings.  The swap operation is now greatly simplified.
We also save a lot of parameter passing this way.  Hopefully the churn
is worth the negative diffstat.

Support for XDP adjust head is done in a pretty standard way.  NFP
is a bit special because it prepends metadata before packet data
so we have to do a bit of memcpying in case XDP will run.  We also
luck out a little bit because the fact that we already have prepend
space allocated means that one byte is enough to store the extra XDP
space (256 of standard prepend space is a bit inconvenient since
it would normally require 16bits or boolean with additional shifts).
====================

Signed-off-by: David S. Miller <davem@davemloft.net>