Patch "nfp: fix flower offload metadata flag usage" has been added to the 4.14-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
nfp: fix flower offload metadata flag usage
to the 4.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
nfp-fix-flower-offload-metadata-flag-usage.patch
and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Tue Dec 12 10:32:42 CET 2017
From: Pieter Jansen van Vuuren <[email protected]>
Date: Thu, 16 Nov 2017 17:06:39 -0800
Subject: nfp: fix flower offload metadata flag usage
From: Pieter Jansen van Vuuren <[email protected]>
[ Upstream commit 6c3ab204f4ca00374a374bc0fc9a275b64d1bcbb ]
Hardware has no notion of new or last mask id, instead it makes use of the message type (i.e. add flow or del flow) in combination with a single bit in metadata flags to determine when to add or delete a mask id. Previously we made use of the new or last flags to indicate that a new mask should be allocated or deallocated, respectively. This incorrect behaviour is fixed by making use single bit in metadata flags to indicate mask allocation or deallocation.
--- drivers/net/ethernet/netronome/nfp/flower/main.h | 3 +-- drivers/net/ethernet/netronome/nfp/flower/metadata.c | 7 +++++-- 2 files changed, 6 insertions(+), 4 deletions(-)
drivers/net/ethernet/netronome/nfp/flower/main.h +1 -2
@@ -52,8 +52,7 @@ struct nfp_app;#define NFP_FLOWER_MASK_ELEMENT_RS 1#define NFP_FLOWER_MASK_HASH_BITS 10 -#define NFP_FL_META_FLAG_NEW_MASK 128 -#define NFP_FL_META_FLAG_LAST_MASK 1 +#define NFP_FL_META_FLAG_MANAGE_MASK BIT(7)#define NFP_FL_MASK_REUSE_TIME_NS 40000#define NFP_FL_MASK_ID_LOCATION 1
drivers/net/ethernet/netronome/nfp/flower/metadata.c +5 -2
@@ -282,7 +282,7 @@ nfp_check_mask_add(struct nfp_app *app, id =nfp_add_mask_table (app, mask_data, mask_len);if (id <0 )return false; - *meta_flags |=NFP_FL_META_FLAG_NEW_MASK ; + *meta_flags |=NFP_FL_META_FLAG_MANAGE_MASK ; } *mask_id = id;
@@ -299,6 +299,9 @@ nfp_check_mask_remove(struct nfp_app *apif (!mask_entry)return false; +if (meta_flags) + *meta_flags &= ~NFP_FL_META_FLAG_MANAGE_MASK ; + *mask_id = mask_entry->mask_id; mask_entry->ref_cnt--;if (!mask_entry->ref_cnt) {
@@ -306,7 +309,7 @@ nfp_check_mask_remove(struct nfp_app *apnfp_release_mask_id (app, *mask_id);kfree (mask_entry);if (meta_flags) - *meta_flags |=NFP_FL_META_FLAG_LAST_MASK ; + *meta_flags |=NFP_FL_META_FLAG_MANAGE_MASK ; }return true;
Patches currently in stable-queue which might be from [email protected] are
queue-4.14/nfp-fix-flower-offload-metadata-flag-usage.patch