patches for DPDK stable branches
 help / color / mirror / Atom feed
From: luca.boccassi@gmail.com
To: Dapeng Yu <dapengx.yu@intel.com>
Cc: Haiyue Wang <haiyue.wang@intel.com>, dpdk stable <stable@dpdk.org>
Subject: patch 'net/ice: track DCF state of PF' has been queued to stable release 20.11.5
Date: Fri, 18 Feb 2022 12:37:44 +0000	[thread overview]
Message-ID: <20220218123931.1749595-15-luca.boccassi@gmail.com> (raw)
In-Reply-To: <20220218123931.1749595-1-luca.boccassi@gmail.com>

Hi,

FYI, your patch has been queued to stable release 20.11.5

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/20/22. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/8577641fca0ff858c9ffe16c6d5801ea9fbff55c

Thanks.

Luca Boccassi

---
From 8577641fca0ff858c9ffe16c6d5801ea9fbff55c Mon Sep 17 00:00:00 2001
From: Dapeng Yu <dapengx.yu@intel.com>
Date: Wed, 24 Nov 2021 16:12:20 +0800
Subject: [PATCH] net/ice: track DCF state of PF

[ upstream commit 285f63fc6bb72a07594af9a7652f5bae3a95eb52 ]

When VF is reset, PF will change DCF state from ON to other state, if
flow creation, destroy, or redirect command is sent to DCF at this
time, it will fail.

This patch tracks DCF state and returns try-again error to caller when
DCF state is not ON.

Signed-off-by: Dapeng Yu <dapengx.yu@intel.com>
Acked-by: Haiyue Wang <haiyue.wang@intel.com>
---
 drivers/net/ice/ice_dcf_ethdev.c    | 12 ++++++++
 drivers/net/ice/ice_dcf_ethdev.h    |  1 +
 drivers/net/ice/ice_dcf_parent.c    | 10 +++++++
 drivers/net/ice/ice_ethdev.h        |  2 ++
 drivers/net/ice/ice_generic_flow.c  |  4 ++-
 drivers/net/ice/ice_switch_filter.c | 45 +++++++++++++++++++++++++++--
 6 files changed, 71 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c
index a90dff9a46..1793d8cbd3 100644
--- a/drivers/net/ice/ice_dcf_ethdev.c
+++ b/drivers/net/ice/ice_dcf_ethdev.c
@@ -870,6 +870,13 @@ ice_dcf_dev_close(struct rte_eth_dev *dev)
 	return 0;
 }
 
+bool
+ice_dcf_adminq_need_retry(struct ice_adapter *ad)
+{
+	return ad->hw.dcf_enabled &&
+	       !__atomic_load_n(&ad->dcf_state_on, __ATOMIC_RELAXED);
+}
+
 static int
 ice_dcf_link_update(__rte_unused struct rte_eth_dev *dev,
 		    __rte_unused int wait_to_complete)
@@ -905,6 +912,7 @@ static int
 ice_dcf_dev_init(struct rte_eth_dev *eth_dev)
 {
 	struct ice_dcf_adapter *adapter = eth_dev->data->dev_private;
+	struct ice_adapter *parent_adapter = &adapter->parent;
 
 	eth_dev->dev_ops = &ice_dcf_eth_dev_ops;
 	eth_dev->rx_pkt_burst = ice_dcf_recv_pkts;
@@ -916,9 +924,13 @@ ice_dcf_dev_init(struct rte_eth_dev *eth_dev)
 	adapter->real_hw.vc_event_msg_cb = ice_dcf_handle_pf_event_msg;
 	if (ice_dcf_init_hw(eth_dev, &adapter->real_hw) != 0) {
 		PMD_INIT_LOG(ERR, "Failed to init DCF hardware");
+		__atomic_store_n(&parent_adapter->dcf_state_on, false,
+				 __ATOMIC_RELAXED);
 		return -1;
 	}
 
+	__atomic_store_n(&parent_adapter->dcf_state_on, true, __ATOMIC_RELAXED);
+
 	if (ice_dcf_init_parent_adapter(eth_dev) != 0) {
 		PMD_INIT_LOG(ERR, "Failed to init DCF parent adapter");
 		ice_dcf_uninit_hw(eth_dev, &adapter->real_hw);
diff --git a/drivers/net/ice/ice_dcf_ethdev.h b/drivers/net/ice/ice_dcf_ethdev.h
index b54528beae..0d25ff315e 100644
--- a/drivers/net/ice/ice_dcf_ethdev.h
+++ b/drivers/net/ice/ice_dcf_ethdev.h
@@ -26,5 +26,6 @@ void ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw,
 				 uint8_t *msg, uint16_t msglen);
 int ice_dcf_init_parent_adapter(struct rte_eth_dev *eth_dev);
 void ice_dcf_uninit_parent_adapter(struct rte_eth_dev *eth_dev);
+bool ice_dcf_adminq_need_retry(struct ice_adapter *ad);
 
 #endif /* _ICE_DCF_ETHDEV_H_ */
diff --git a/drivers/net/ice/ice_dcf_parent.c b/drivers/net/ice/ice_dcf_parent.c
index 903e4db616..ad94953932 100644
--- a/drivers/net/ice/ice_dcf_parent.c
+++ b/drivers/net/ice/ice_dcf_parent.c
@@ -111,6 +111,9 @@ static void*
 ice_dcf_vsi_update_service_handler(void *param)
 {
 	struct ice_dcf_hw *hw = param;
+	struct ice_dcf_adapter *adapter =
+		container_of(hw, struct ice_dcf_adapter, real_hw);
+	struct ice_adapter *parent_adapter = &adapter->parent;
 
 	pthread_detach(pthread_self());
 	usleep(ICE_DCF_VSI_UPDATE_SERVICE_INTERVAL);
@@ -122,6 +125,8 @@ ice_dcf_vsi_update_service_handler(void *param)
 		struct ice_dcf_adapter *dcf_ad =
 			container_of(hw, struct ice_dcf_adapter, real_hw);
 
+		__atomic_store_n(&parent_adapter->dcf_state_on, true,
+				 __ATOMIC_RELAXED);
 		ice_dcf_update_vf_vsi_map(&dcf_ad->parent.hw,
 					  hw->num_vfs, hw->vf_vsi_map);
 	}
@@ -137,6 +142,9 @@ ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw,
 {
 	struct virtchnl_pf_event *pf_msg = (struct virtchnl_pf_event *)msg;
 	pthread_t thread;
+	struct ice_dcf_adapter *adapter =
+		container_of(dcf_hw, struct ice_dcf_adapter, real_hw);
+	struct ice_adapter *parent_adapter = &adapter->parent;
 
 	if (msglen < sizeof(struct virtchnl_pf_event)) {
 		PMD_DRV_LOG(DEBUG, "Invalid event message length : %u", msglen);
@@ -161,6 +169,8 @@ ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw,
 			    pf_msg->event_data.vf_vsi_map.vsi_id);
 		pthread_create(&thread, NULL,
 			       ice_dcf_vsi_update_service_handler, dcf_hw);
+		__atomic_store_n(&parent_adapter->dcf_state_on, false,
+				 __ATOMIC_RELAXED);
 		break;
 	default:
 		PMD_DRV_LOG(ERR, "Unknown event received %u", pf_msg->event);
diff --git a/drivers/net/ice/ice_ethdev.h b/drivers/net/ice/ice_ethdev.h
index b3e518fcbc..fd81ede8a1 100644
--- a/drivers/net/ice/ice_ethdev.h
+++ b/drivers/net/ice/ice_ethdev.h
@@ -478,6 +478,8 @@ struct ice_adapter {
 	struct ice_devargs devargs;
 	enum ice_pkg_type active_pkg_type; /* loaded ddp package type */
 	uint16_t fdir_ref_cnt;
+	/* True if DCF state of the associated PF is on */
+	bool dcf_state_on;
 #ifdef RTE_ARCH_X86
 	bool rx_use_avx2;
 	bool rx_use_avx512;
diff --git a/drivers/net/ice/ice_generic_flow.c b/drivers/net/ice/ice_generic_flow.c
index ca401c7703..311fd7d162 100644
--- a/drivers/net/ice/ice_generic_flow.c
+++ b/drivers/net/ice/ice_generic_flow.c
@@ -2323,7 +2323,9 @@ ice_flow_flush(struct rte_eth_dev *dev,
 		ret = ice_flow_destroy(dev, p_flow, error);
 		if (ret) {
 			PMD_DRV_LOG(ERR, "Failed to flush flows");
-			return -EINVAL;
+			if (ret != -EAGAIN)
+				ret = -EINVAL;
+			return ret;
 		}
 	}
 
diff --git a/drivers/net/ice/ice_switch_filter.c b/drivers/net/ice/ice_switch_filter.c
index f41a57acf4..ea5ced60a7 100644
--- a/drivers/net/ice/ice_switch_filter.c
+++ b/drivers/net/ice/ice_switch_filter.c
@@ -438,6 +438,14 @@ ice_switch_create(struct ice_adapter *ad,
 			"lookup list should not be NULL");
 		goto error;
 	}
+
+	if (ice_dcf_adminq_need_retry(ad)) {
+		rte_flow_error_set(error, EAGAIN,
+			RTE_FLOW_ERROR_TYPE_ITEM, NULL,
+			"DCF is not on");
+		goto error;
+	}
+
 	ret = ice_add_adv_rule(hw, list, lkups_cnt, rule_info, &rule_added);
 	if (!ret) {
 		filter_conf_ptr = rte_zmalloc("ice_switch_filter",
@@ -461,7 +469,12 @@ ice_switch_create(struct ice_adapter *ad,
 
 		flow->rule = filter_conf_ptr;
 	} else {
-		rte_flow_error_set(error, EINVAL,
+		if (ice_dcf_adminq_need_retry(ad))
+			ret = -EAGAIN;
+		else
+			ret = -EINVAL;
+
+		rte_flow_error_set(error, -ret,
 			RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
 			"switch filter create flow fail");
 		goto error;
@@ -513,9 +526,21 @@ ice_switch_destroy(struct ice_adapter *ad,
 		return -rte_errno;
 	}
 
+	if (ice_dcf_adminq_need_retry(ad)) {
+		rte_flow_error_set(error, EAGAIN,
+			RTE_FLOW_ERROR_TYPE_ITEM, NULL,
+			"DCF is not on");
+		return -rte_errno;
+	}
+
 	ret = ice_rem_adv_rule_by_id(hw, &filter_conf_ptr->sw_query_data);
 	if (ret) {
-		rte_flow_error_set(error, EINVAL,
+		if (ice_dcf_adminq_need_retry(ad))
+			ret = -EAGAIN;
+		else
+			ret = -EINVAL;
+
+		rte_flow_error_set(error, -ret,
 			RTE_FLOW_ERROR_TYPE_HANDLE, NULL,
 			"fail to destroy switch filter rule");
 		return -rte_errno;
@@ -1904,6 +1929,12 @@ ice_switch_redirect(struct ice_adapter *ad,
 	}
 
 rmv_rule:
+	if (ice_dcf_adminq_need_retry(ad)) {
+		PMD_DRV_LOG(WARNING, "DCF is not on");
+		ret = -EAGAIN;
+		goto out;
+	}
+
 	/* Remove the old rule */
 	ret = ice_rem_adv_rule(hw, lkups_ref, lkups_cnt, &rinfo);
 	if (ret) {
@@ -1916,6 +1947,12 @@ rmv_rule:
 	}
 
 add_rule:
+	if (ice_dcf_adminq_need_retry(ad)) {
+		PMD_DRV_LOG(WARNING, "DCF is not on");
+		ret = -EAGAIN;
+		goto out;
+	}
+
 	/* Update VSI context */
 	hw->vsi_ctx[rd->vsi_handle]->vsi_num = rd->new_vsi_num;
 
@@ -1935,6 +1972,10 @@ add_rule:
 	}
 
 out:
+	if (ret == -EINVAL)
+		if (ice_dcf_adminq_need_retry(ad))
+			ret = -EAGAIN;
+
 	ice_free(hw, lkups_dp);
 	return ret;
 }
-- 
2.30.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-02-18 12:37:38.748849154 +0000
+++ 0015-net-ice-track-DCF-state-of-PF.patch	2022-02-18 12:37:37.526788258 +0000
@@ -1 +1 @@
-From 285f63fc6bb72a07594af9a7652f5bae3a95eb52 Mon Sep 17 00:00:00 2001
+From 8577641fca0ff858c9ffe16c6d5801ea9fbff55c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 285f63fc6bb72a07594af9a7652f5bae3a95eb52 ]
+
@@ -13,2 +14,0 @@
-Cc: stable@dpdk.org
-
@@ -20 +20 @@
- drivers/net/ice/ice_dcf_parent.c    | 16 +++++++---
+ drivers/net/ice/ice_dcf_parent.c    | 10 +++++++
@@ -24 +24 @@
- 6 files changed, 73 insertions(+), 7 deletions(-)
+ 6 files changed, 71 insertions(+), 3 deletions(-)
@@ -27 +27 @@
-index a1f11c01d9..59610e058f 100644
+index a90dff9a46..1793d8cbd3 100644
@@ -30,2 +30,2 @@
-@@ -957,6 +957,13 @@ ice_dcf_link_update(struct rte_eth_dev *dev,
- 	return rte_eth_linkstatus_set(dev, &new_link);
+@@ -870,6 +870,13 @@ ice_dcf_dev_close(struct rte_eth_dev *dev)
+ 	return 0;
@@ -41 +40,0 @@
- /* Add UDP tunneling port */
@@ -43,2 +42,3 @@
- ice_dcf_dev_udp_tunnel_port_add(struct rte_eth_dev *dev,
-@@ -1106,6 +1113,7 @@ static int
+ ice_dcf_link_update(__rte_unused struct rte_eth_dev *dev,
+ 		    __rte_unused int wait_to_complete)
+@@ -905,6 +912,7 @@ static int
@@ -52 +52 @@
-@@ -1117,9 +1125,13 @@ ice_dcf_dev_init(struct rte_eth_dev *eth_dev)
+@@ -916,9 +924,13 @@ ice_dcf_dev_init(struct rte_eth_dev *eth_dev)
@@ -67 +67 @@
-index 8510e37119..11a1305038 100644
+index b54528beae..0d25ff315e 100644
@@ -70,4 +70,4 @@
-@@ -64,5 +64,6 @@ int ice_dcf_vf_repr_init(struct rte_eth_dev *vf_rep_eth_dev, void *init_param);
- int ice_dcf_vf_repr_uninit(struct rte_eth_dev *vf_rep_eth_dev);
- int ice_dcf_vf_repr_init_vlan(struct rte_eth_dev *vf_rep_eth_dev);
- void ice_dcf_vf_repr_stop_all(struct ice_dcf_adapter *dcf_adapter);
+@@ -26,5 +26,6 @@ void ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw,
+ 				 uint8_t *msg, uint16_t msglen);
+ int ice_dcf_init_parent_adapter(struct rte_eth_dev *eth_dev);
+ void ice_dcf_uninit_parent_adapter(struct rte_eth_dev *eth_dev);
@@ -78 +78 @@
-index 1ff2c47172..0c8c2ed6c7 100644
+index 903e4db616..ad94953932 100644
@@ -81 +81,2 @@
-@@ -119,7 +119,9 @@ ice_dcf_vsi_update_service_handler(void *param)
+@@ -111,6 +111,9 @@ static void*
+ ice_dcf_vsi_update_service_handler(void *param)
@@ -83,3 +84 @@
- 	struct ice_dcf_reset_event_param *reset_param = param;
- 	struct ice_dcf_hw *hw = reset_param->dcf_hw;
--	struct ice_dcf_adapter *adapter;
+ 	struct ice_dcf_hw *hw = param;
@@ -90,0 +90,4 @@
+ 	usleep(ICE_DCF_VSI_UPDATE_SERVICE_INTERVAL);
+@@ -122,6 +125,8 @@ ice_dcf_vsi_update_service_handler(void *param)
+ 		struct ice_dcf_adapter *dcf_ad =
+ 			container_of(hw, struct ice_dcf_adapter, real_hw);
@@ -92,8 +94,0 @@
-@@ -127,11 +129,12 @@ ice_dcf_vsi_update_service_handler(void *param)
- 
- 	rte_spinlock_lock(&vsi_update_lock);
- 
--	adapter = container_of(hw, struct ice_dcf_adapter, real_hw);
--
--	if (!ice_dcf_handle_vsi_update_event(hw))
-+	if (!ice_dcf_handle_vsi_update_event(hw)) {
@@ -102 +97 @@
- 		ice_dcf_update_vf_vsi_map(&adapter->parent.hw,
+ 		ice_dcf_update_vf_vsi_map(&dcf_ad->parent.hw,
@@ -104,6 +99,2 @@
-+	}
- 
- 	if (reset_param->vfr && adapter->repr_infos) {
- 		struct rte_eth_dev *vf_rep_eth_dev =
-@@ -224,6 +227,9 @@ ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw,
- 			    uint8_t *msg, uint16_t msglen)
+ 	}
+@@ -137,6 +142,9 @@ ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw,
@@ -111,0 +103 @@
+ 	pthread_t thread;
@@ -118,3 +110 @@
-@@ -258,6 +264,8 @@ ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw,
- 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_DCF_VSI_MAP_UPDATE event : VF%u with VSI num %u",
- 			    pf_msg->event_data.vf_vsi_map.vf_id,
+@@ -161,6 +169,8 @@ ice_dcf_handle_pf_event_msg(struct ice_dcf_hw *dcf_hw,
@@ -121,0 +112,2 @@
+ 		pthread_create(&thread, NULL,
+ 			       ice_dcf_vsi_update_service_handler, dcf_hw);
@@ -124,2 +115,0 @@
- 		start_vsi_reset_thread(dcf_hw, true,
- 				       pf_msg->event_data.vf_vsi_map.vf_id);
@@ -126,0 +117,2 @@
+ 	default:
+ 		PMD_DRV_LOG(ERR, "Unknown event received %u", pf_msg->event);
@@ -128 +120 @@
-index 2e3e45f3d7..1242177b42 100644
+index b3e518fcbc..fd81ede8a1 100644
@@ -131,4 +123,4 @@
-@@ -531,6 +531,8 @@ struct ice_adapter {
- 	uint64_t time_hw;
- 	struct ice_fdir_prof_info fdir_prof_info[ICE_MAX_PTGS];
- 	struct ice_rss_prof_info rss_prof_info[ICE_MAX_PTGS];
+@@ -478,6 +478,8 @@ struct ice_adapter {
+ 	struct ice_devargs devargs;
+ 	enum ice_pkg_type active_pkg_type; /* loaded ddp package type */
+ 	uint16_t fdir_ref_cnt;
@@ -141 +133 @@
-index c673feb7a6..406a0a953f 100644
+index ca401c7703..311fd7d162 100644
@@ -144 +136 @@
-@@ -2515,7 +2515,9 @@ ice_flow_flush(struct rte_eth_dev *dev,
+@@ -2323,7 +2323,9 @@ ice_flow_flush(struct rte_eth_dev *dev,
@@ -156 +148 @@
-index ed29c00d77..bd805d9606 100644
+index f41a57acf4..ea5ced60a7 100644
@@ -159 +151 @@
-@@ -400,6 +400,14 @@ ice_switch_create(struct ice_adapter *ad,
+@@ -438,6 +438,14 @@ ice_switch_create(struct ice_adapter *ad,
@@ -174 +166 @@
-@@ -423,7 +431,12 @@ ice_switch_create(struct ice_adapter *ad,
+@@ -461,7 +469,12 @@ ice_switch_create(struct ice_adapter *ad,
@@ -188 +180 @@
-@@ -475,9 +488,21 @@ ice_switch_destroy(struct ice_adapter *ad,
+@@ -513,9 +526,21 @@ ice_switch_destroy(struct ice_adapter *ad,
@@ -211 +203 @@
-@@ -2016,6 +2041,12 @@ ice_switch_redirect(struct ice_adapter *ad,
+@@ -1904,6 +1929,12 @@ ice_switch_redirect(struct ice_adapter *ad,
@@ -224 +216 @@
-@@ -2028,6 +2059,12 @@ rmv_rule:
+@@ -1916,6 +1947,12 @@ rmv_rule:
@@ -237 +229 @@
-@@ -2047,6 +2084,10 @@ add_rule:
+@@ -1935,6 +1972,10 @@ add_rule:

  parent reply	other threads:[~2022-02-18 12:40 UTC|newest]

Thread overview: 228+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220218123931.1749595-1-luca.boccassi@gmail.com>
2022-02-18 12:37 ` patch 'doc: replace deprecated distutils version parsing' " luca.boccassi
2022-02-18 12:37 ` patch 'maintainers: update for stable branches' " luca.boccassi
2022-02-18 12:37 ` patch 'doc: remove dependency on findutils on FreeBSD' " luca.boccassi
2022-02-18 12:37 ` patch 'bus/ifpga: remove useless check while browsing devices' " luca.boccassi
2022-02-18 12:37 ` patch 'dma/idxd: fix paths to driver sysfs directory' " luca.boccassi
2022-02-18 12:37 ` patch 'eal/linux: log hugepage create errors with filename' " luca.boccassi
2022-02-18 12:37 ` patch 'doc: fix dlb2 guide' " luca.boccassi
2022-02-18 12:37 ` patch 'examples/l3fwd: fix Rx burst size for event mode' " luca.boccassi
2022-02-18 12:37 ` patch 'examples/ipsec-secgw: fix eventdev start sequence' " luca.boccassi
2022-02-18 12:37 ` patch 'examples/ipsec-secgw: fix default flow rule creation' " luca.boccassi
2022-02-18 12:37 ` patch 'devtools: fix comment detection in forbidden token check' " luca.boccassi
2022-02-18 12:37 ` patch 'net/qede: fix redundant condition in debug code' " luca.boccassi
2022-02-18 12:37 ` patch 'net/ice: fix Tx checksum offload capability' " luca.boccassi
2022-02-18 12:37 ` luca.boccassi [this message]
2022-02-18 12:37 ` patch 'net/ice: fix Tx checksum offload' " luca.boccassi
2022-02-18 12:37 ` patch 'net/ixgbe: add vector Rx parameter check' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: fix assertion on flags set in packet mbuf' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: fix RSS expansion with explicit next protocol' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: fix GRE protocol type translation for Verbs' " luca.boccassi
2022-02-18 12:37 ` patch 'net/mlx5: relax headroom assertion' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix xstats names query overrun' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix multicast address set' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix multicast MAC restore during reset recovery' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix queue stop operation' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: restore RSS configuration after reset recovery' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: fix restoring VLAN filtering after " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: cap maximum number of unicast MAC addresses' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: add null check for mark table' " luca.boccassi
2022-02-18 12:37 ` patch 'net/bnxt: get maximum supported multicast filters count' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix handling of VF configuration change' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix PAM4 mask setting' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix xstats query' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: check VF representor pointer before access' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix offloading configuration' " luca.boccassi
2022-02-18 12:38 ` patch 'app/testpmd: fix Tx scheduling interval' " luca.boccassi
2022-02-18 12:38 ` patch 'net/axgbe: use PCI root complex device to distinguish device' " luca.boccassi
2022-02-18 12:38 ` patch 'net/af_xdp: fix build with -Wunused-function' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix mode type mismatch' " luca.boccassi
2022-02-18 12:38 ` patch 'app/testpmd: fix dereference before null check' " luca.boccassi
2022-02-18 12:38 ` patch 'app/testpmd: fix external buffer allocation' " luca.boccassi
2022-02-18 12:38 ` patch 'net/cxgbe: fix dangling pointer by mailbox access rework' " luca.boccassi
2022-02-18 12:38 ` patch 'net/dpaa2: fix unregistering interrupt handler' " luca.boccassi
2022-02-18 12:38 ` patch 'net/dpaa2: fix timestamping for IEEE1588' " luca.boccassi
2022-02-18 12:38 ` patch 'net/mlx5: fix maximum packet headers size for TSO' " luca.boccassi
2022-02-18 12:38 ` patch 'net/nfp: remove duplicated check when setting MAC address' " luca.boccassi
2022-02-18 12:38 ` patch 'net/nfp: remove useless range checks' " luca.boccassi
2022-02-18 12:38 ` patch 'net/sfc: validate queue span when parsing flow action RSS' " luca.boccassi
2022-02-18 12:38 ` patch 'raw/ifpga/base: fix SPI transaction' " luca.boccassi
2022-02-18 12:38 ` patch 'net/ice: fix link up when starting device' " luca.boccassi
2022-02-18 12:38 ` patch 'raw/ifpga: fix thread closing' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix check for autoneg enablement' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: handle ring cleanup in case of error' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix memzone allocation per VNIC' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bnxt: fix VF resource allocation strategy' " luca.boccassi
2022-02-18 12:38 ` patch 'raw/ifpga/base: fix port feature ID' " luca.boccassi
2022-02-18 12:38 ` patch 'net/memif: remove unnecessary Rx interrupt stub' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix RSS with early configure' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix using enum as boolean' " luca.boccassi
2022-02-18 12:38 ` patch 'vdpa/mlx5: workaround queue stop with traffic' " luca.boccassi
2022-02-18 12:38 ` patch 'net/virtio: fix Tx queue 0 overriden by queue 128' " luca.boccassi
2022-02-18 12:38 ` patch 'vdpa/ifc: fix log info mismatch' " luca.boccassi
2022-02-18 12:38 ` patch 'net/virtio-user: fix resource leak on probing failure' " luca.boccassi
2022-02-18 12:38 ` patch 'net/virtio-user: check FD flags getting " luca.boccassi
2022-02-18 12:38 ` patch 'net/mlx5: fix mark enabling for Rx' " luca.boccassi
2022-02-18 12:38 ` patch 'net/mlx5: reject jump to root table' " luca.boccassi
2022-02-18 12:38 ` patch 'doc: update matching versions in ice guide' " luca.boccassi
2022-02-18 12:38 ` patch 'build: fix warnings when running external commands' " luca.boccassi
2022-02-18 12:38 ` patch 'build: fix warning about using -Wextra flag' " luca.boccassi
2022-02-18 13:13   ` Richardson, Bruce
2022-02-18 12:38 ` patch 'build: remove deprecated Meson functions' " luca.boccassi
2022-02-18 13:16   ` Richardson, Bruce
2022-02-21 10:56     ` Luca Boccassi
2022-02-21 11:51       ` Richardson, Bruce
2022-02-18 12:38 ` patch 'kni: fix ioctl signature' " luca.boccassi
2022-02-18 12:38 ` patch 'doc: fix KNI PMD name typo' " luca.boccassi
2022-02-18 12:38 ` patch 'ring: optimize corner case for enqueue/dequeue' " luca.boccassi
2022-02-18 12:38 ` patch 'ring: fix error code when creating ring' " luca.boccassi
2022-02-18 12:38 ` patch 'ring: fix overflow in memory size calculation' " luca.boccassi
2022-02-18 12:38 ` patch 'eal/windows: fix error code for not supported API' " luca.boccassi
2022-02-18 12:38 ` patch 'test/mem: fix error check' " luca.boccassi
2022-02-18 12:38 ` patch 'bus/dpaa: fix C++ include guard' " luca.boccassi
2022-02-18 12:38 ` patch 'net/cxgbe: remove useless " luca.boccassi
2022-02-18 12:38 ` patch 'net/dpaa2: " luca.boccassi
2022-02-18 12:38 ` patch 'eal/windows: " luca.boccassi
2022-02-18 12:38 ` patch 'net/enic: fix dereference before null check' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix max packet size rollback in PF' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix RSS key with null' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix insecure way to query MAC statistics' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: fix operating queue when TCAM table is invalid' " luca.boccassi
2022-02-18 12:38 ` patch 'net/hns3: delete duplicated RSS type' " luca.boccassi
2022-02-18 12:38 ` patch 'net/ixgbe: check filter init failure' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix promiscuous and allmulticast state' " luca.boccassi
2022-02-18 12:38 ` patch 'net/bonding: fix reference count on mbufs' " luca.boccassi
2022-02-18 12:39 ` patch 'app/testpmd: fix bonding mode set' " luca.boccassi
2022-02-18 12:39 ` patch 'ethdev: add internal function to device struct from name' " luca.boccassi
2022-02-18 12:39 ` patch 'net/tap: fix to populate FDs in secondary process' " luca.boccassi
2022-02-18 12:39 ` patch 'app/testpmd: fix stack overflow for EEPROM display' " luca.boccassi
2022-02-18 12:39 ` patch 'vhost: fix guest to host physical address mapping' " luca.boccassi
2022-02-18 12:39 ` patch 'regex/mlx5: fix memory allocation check' " luca.boccassi
2022-02-18 12:39 ` patch 'stack: fix stubs header export' " luca.boccassi
2022-02-18 12:39 ` patch 'eal: fix C++ include' " luca.boccassi
2022-02-18 12:39 ` patch 'eventdev: " luca.boccassi
2022-02-18 12:39 ` patch 'graph: " luca.boccassi
2022-02-18 12:39 ` patch 'ipsec: " luca.boccassi
2022-02-18 12:39 ` patch 'table: " luca.boccassi
2022-02-18 12:39 ` patch 'vhost: " luca.boccassi
2022-02-18 12:39 ` patch 'mem: check allocation in dynamic hugepage init' " luca.boccassi
2022-02-18 12:39 ` patch 'app/fib: fix division by zero' " luca.boccassi
2022-02-18 12:39 ` patch 'test/mbuf: fix mbuf data content check' " luca.boccassi
2022-02-18 12:39 ` patch 'ipc: end multiprocess thread during cleanup' " luca.boccassi
2022-02-18 12:39 ` patch 'vfio: cleanup the multiprocess sync handle' " luca.boccassi
2022-02-18 12:39 ` patch 'net/memif: remove pointer deference before null check' " luca.boccassi
2022-02-18 12:39 ` patch 'net/sfc: do not push fast free offload to default TxQ config' " luca.boccassi
2022-02-18 12:39 ` patch 'net/sfc: demand Tx fast free offload on EF10 simple datapath' " luca.boccassi
2022-02-18 12:39 ` patch 'net/iavf: count continuous DD bits for Arm' " luca.boccassi
2022-02-18 12:39 ` patch 'net/iavf: count continuous DD bits for Arm in flex Rx' " luca.boccassi
2022-02-18 12:39 ` patch 'net/ice/base: add profile validation on switch filter' " luca.boccassi
2022-02-18 12:39 ` patch 'net/ice: fix build with 16-byte Rx descriptor' " luca.boccassi
2022-02-18 12:39 ` patch 'net/mlx5: fix committed bucket size' " luca.boccassi
2022-02-18 12:39 ` patch 'net/mlx5: fix inline length for multi-segment TSO' " luca.boccassi
2022-02-18 12:39 ` patch 'net/bnxt: fix ring calculation for representors' " luca.boccassi
2022-02-18 12:39 ` patch 'compress/octeontx: fix null pointer dereference' " luca.boccassi
2022-02-18 12:39 ` patch 'crypto/dpaax_sec: fix auth/cipher xform chain checks' " luca.boccassi
2022-02-18 12:39 ` patch 'raw/ntb: clear all valid doorbell bits on init' " luca.boccassi
2022-02-18 12:39 ` patch 'kni: update kernel API to set random MAC address' " luca.boccassi
2022-02-28 21:19   ` patch 'eventdev/eth_tx: fix queue add error code' " luca.boccassi
2022-02-28 21:19     ` patch 'eal: add missing C++ guards' " luca.boccassi
2022-02-28 21:19     ` patch 'telemetry: " luca.boccassi
2022-02-28 21:20     ` patch 'ethdev: " luca.boccassi
2022-02-28 21:20     ` patch 'metrics: " luca.boccassi
2022-02-28 21:20     ` patch 'acl: " luca.boccassi
2022-02-28 21:20     ` patch 'compressdev: " luca.boccassi
2022-02-28 21:20     ` patch 'eventdev: " luca.boccassi
2022-02-28 21:20     ` patch 'kni: " luca.boccassi
2022-02-28 21:20     ` patch 'vhost: " luca.boccassi
2022-02-28 21:20     ` patch 'ethdev: fix cast for C++ compatibility' " luca.boccassi
2022-02-28 21:20     ` patch 'dma/idxd: configure maximum batch size to high value' " luca.boccassi
2022-02-28 21:20     ` patch 'examples/qos_sched: fix core mask overflow' " luca.boccassi
2022-03-01 18:29       ` Ajmera, Megha
2022-02-28 21:20     ` patch 'cryptodev: fix RSA key type name' " luca.boccassi
2022-03-16  8:06       ` David Marchand
2022-03-22  9:18         ` Ray Kinsella
2022-02-28 21:20     ` patch 'doc: fix FIPS guide' " luca.boccassi
2022-02-28 21:20     ` patch 'examples/l2fwd-crypto: fix port mask overflow' " luca.boccassi
2022-02-28 21:20     ` patch 'baseband/acc100: avoid out-of-bounds access' " luca.boccassi
2022-02-28 21:20     ` patch 'crypto/virtio: fix " luca.boccassi
2022-02-28 21:20     ` patch 'crypto/ipsec_mb: fix ZUC authentication verify' " luca.boccassi
2022-02-28 21:20     ` patch 'crypto/ipsec_mb: fix ZUC operation overwrite' " luca.boccassi
2022-02-28 21:20     ` patch 'net/nfb: fix array indexes in deinit functions' " luca.boccassi
2022-02-28 21:20     ` patch 'net/nfb: fix multicast/promiscuous mode switching' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ixgbe: reset security context pointer on close' " luca.boccassi
2022-02-28 21:20     ` patch 'app/testpmd: check starting port is not in bonding' " luca.boccassi
2022-02-28 21:20     ` patch 'vhost: fix field naming in guest page struct' " luca.boccassi
2022-02-28 21:20     ` patch 'vhost: fix unsafe vring addresses modifications' " luca.boccassi
2022-02-28 21:20     ` patch 'net/af_xdp: add missing trailing newline in logs' " luca.boccassi
2022-02-28 21:20     ` patch 'net/af_xdp: ensure socket is deleted on Rx queue setup error' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ice: fix overwriting of LSE bit by DCF' " luca.boccassi
2022-02-28 21:20     ` patch 'net/i40e: enable maximum frame size at port level' " luca.boccassi
2022-02-28 21:20     ` patch 'net/mlx5: fix ineffective metadata argument adjustment' " luca.boccassi
2022-02-28 21:20     ` patch 'app/testpmd: fix GENEVE parsing in checksum mode' " luca.boccassi
2022-02-28 21:20     ` patch 'net/txgbe: fix debug logs' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: remove unused enumeration' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: remove unused offload variables' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: skip timer if reset is triggered' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: fix reset reason being overwritten' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: fix meta descriptor DF flag setup' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: check memory BAR before initializing LLQ' " luca.boccassi
2022-02-28 21:20     ` patch 'net/ena: fix checksum flag for L4' " luca.boccassi
2022-02-28 21:20     ` patch 'common/mlx5: fix queue pair ack timeout configuration' " luca.boccassi
2022-02-28 21:20     ` patch 'doc: remove obsolete vector Tx explanations from mlx5 guide' " luca.boccassi
2022-02-28 21:20     ` patch 'doc: replace broken links in mlx guides' " luca.boccassi
2022-02-28 21:20     ` patch 'doc: correct name of BlueField-2 in mlx5 guide' " luca.boccassi
2022-02-28 21:20     ` patch 'net/i40e: fix unintentional integer overflow' " luca.boccassi
2022-02-28 21:20     ` patch 'app/testpmd: fix build without drivers' " luca.boccassi
2022-02-28 21:20     ` patch 'test/efd: fix sockets mask size' " luca.boccassi
2022-02-28 21:20     ` patch 'efd: fix uninitialized structure' " luca.boccassi
2022-02-28 21:20     ` patch 'distributor: fix potential overflow' " luca.boccassi
2022-02-28 21:20     ` patch 'eal/linux: fix illegal memory access in uevent handler' " luca.boccassi
2022-02-28 21:20     ` patch 'kni: fix freeing order in device release' " luca.boccassi
2022-03-09 16:30 ` patch 'app/compress-perf: fix cycle count operations allocation' " luca.boccassi
2022-03-09 16:30   ` patch 'app/compress-perf: optimize operations pool " luca.boccassi
2022-03-09 16:30   ` patch 'app/compress-perf: fix socket ID type during init' " luca.boccassi
2022-03-09 16:30   ` patch 'app/compress-perf: fix number of queue pairs to setup' " luca.boccassi
2022-03-09 16:30   ` patch 'compressdev: fix socket ID type' " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: remove duplicate macro definition' " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: fix RSS TC mode entry' " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: fix VF " luca.boccassi
2022-03-09 16:30   ` patch 'net/hns3: increase time waiting for PF reset completion' " luca.boccassi
2022-03-09 16:30   ` patch 'net/ixgbe: fix FSP check for X550EM devices' " luca.boccassi
2022-03-09 16:30   ` patch 'net/iavf: fix function pointer in multi-process' " luca.boccassi
2022-03-09 16:30   ` patch 'common/mlx5: add Netlink event helpers' " luca.boccassi
2022-03-09 16:30   ` patch 'net/txgbe: fix queue statistics mapping' " luca.boccassi
2022-03-09 16:30   ` patch 'net/kni: fix config initialization' " luca.boccassi
2022-03-09 16:30   ` patch 'doc: fix typos and punctuation in flow API guide' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix GRE item translation in Verbs' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix matcher priority with ICMP or ICMPv6' " luca.boccassi
2022-03-09 16:30   ` patch 'net/ice: fix Tx offload path choice' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/vhost: fix launch with physical port' " luca.boccassi
2022-03-09 16:30   ` patch 'raw/ifpga: fix variable initialization in probing' " luca.boccassi
2022-03-09 16:30   ` patch 'raw/ifpga: fix monitor thread' " luca.boccassi
2022-03-09 16:30   ` patch 'app/pdump: abort on multi-core capture limit' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/distributor: reduce Tx queue number to 1' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/flow_classify: fix failure message' " luca.boccassi
2022-03-09 16:30   ` patch 'examples/kni: add missing trailing newline in log' " luca.boccassi
2022-03-09 16:30   ` patch 'regexdev: fix section attribute of symbols' " luca.boccassi
2022-03-09 16:30   ` patch 'ethdev: fix doxygen comments for device info struct' " luca.boccassi
2022-03-09 16:30   ` patch 'net/bnxt: fix null dereference in session cleanup' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix inet IPIP protocol type' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix next protocol RSS expansion' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix shared RSS destroy' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix NIC egress flow mismatch in switchdev mode' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix modify port action validation' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: remove unused reference counter' " luca.boccassi
2022-03-09 16:30   ` patch 'net/mlx5: fix MPLS/GRE Verbs spec ordering' " luca.boccassi
2022-03-09 16:30   ` patch 'net/iavf: fix potential out-of-bounds access' " luca.boccassi
2022-03-15 13:32 ` patch 'vhost: fix queue number check when setting inflight FD' " luca.boccassi
2022-03-15 13:32   ` patch 'vhost: fix FD leak with inflight messages' " luca.boccassi
2022-03-15 13:32   ` patch 'net/mlx5: fix sample flow action on trusted device' " luca.boccassi
2022-03-15 13:32   ` patch 'bpf: fix build with some libpcap version on FreeBSD' " luca.boccassi
2022-03-15 13:32   ` patch 'app/testpmd: fix show RSS RETA on Windows' " luca.boccassi
2022-03-15 13:32   ` patch 'examples/l3fwd: fix buffer overflow in Tx' " luca.boccassi
2022-03-15 13:32   ` patch 'eal/freebsd: add missing C++ include guards' " luca.boccassi
2022-03-15 13:32   ` patch 'compressdev: fix missing space in log macro' " luca.boccassi
2022-03-15 13:32   ` patch 'cryptodev: fix clang C++ include' " luca.boccassi
2022-03-17 12:06     ` patch 'net/mlx5: fix port matching in sample flow rule' " luca.boccassi
2022-03-17 12:06       ` patch 'doc: replace characters for (R) symbol in Linux guide' " luca.boccassi
2022-03-17 12:06       ` patch 'doc: fix missing note on UIO module " luca.boccassi
2022-03-17 12:06       ` patch 'raw/ifpga: fix build with optimization' " luca.boccassi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220218123931.1749595-15-luca.boccassi@gmail.com \
    --to=luca.boccassi@gmail.com \
    --cc=dapengx.yu@intel.com \
    --cc=haiyue.wang@intel.com \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).