summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/netronome/nfp/nfp_net.h
diff options
context:
space:
mode:
authorJakub Kicinski2017-04-23 05:17:53 +0200
committerDavid S. Miller2017-04-24 20:35:44 +0200
commite524a6a9cdc979a45da7532645786469a48de2e3 (patch)
tree0234c6681283ccfac983a4a1306e9b3a77f64c6d /drivers/net/ethernet/netronome/nfp/nfp_net.h
parentnfp: make use of the DMA_ATTR_SKIP_CPU_SYNC attr (diff)
downloadkernel-qcow2-linux-e524a6a9cdc979a45da7532645786469a48de2e3.tar.gz
kernel-qcow2-linux-e524a6a9cdc979a45da7532645786469a48de2e3.tar.xz
kernel-qcow2-linux-e524a6a9cdc979a45da7532645786469a48de2e3.zip
nfp: parse metadata prepend before XDP runs
Calling memcpy to shift metadata out of the way for XDP to run seems like an overkill. The most common metadata contents are 8 bytes containing type and flow hash. Simply parse the metadata before we run XDP. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net.h')
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfp_net.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net.h b/drivers/net/ethernet/netronome/nfp/nfp_net.h
index 052db9208fbb..8302a2d688da 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net.h
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net.h
@@ -284,6 +284,12 @@ struct nfp_net_rx_desc {
#define NFP_NET_META_FIELD_MASK GENMASK(NFP_NET_META_FIELD_SIZE - 1, 0)
+struct nfp_meta_parsed {
+ u32 hash_type;
+ u32 hash;
+ u32 mark;
+};
+
struct nfp_net_rx_hash {
__be32 hash_type;
__be32 hash;