* [dpdk-dev] [PATCH 0/8] update i40e base code @ 2020-07-21 7:39 Guinan Sun 2020-07-21 7:39 ` [dpdk-dev] [PATCH 1/8] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun ` (8 more replies) 0 siblings, 9 replies; 53+ messages in thread From: Guinan Sun @ 2020-07-21 7:39 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun update i40e base code. source code of i40e driver: cid-i40e.2020.07.16.tar.gz dropped by the team which develop basic drivers for any i40e NIC. changelog in ND share repo: From fc99a1143d3f ("i40e-shared: FEC on/off support flag for X722") To 673ff35c1c73 ("i40e-shared: Add support for firmware lockdown") The following commits are ignored. ea2cd04e5db1 ("i40e-shared: do AQ calls without sleeping by default") 4eec86f12992 ("i40e-shared: Fix undeclared i40e_asq_send_command() function") 9d60cec99eb7 ("i40e-shared: Send rx ctl write command in atomic context") a204afdc1cad ("i40e-shared: Send uc/mc commands in atomic context") d22f8cb2a111 ("i40e-shared: Send commands in atomic context") 136a7d931a45 ("i40e-shared: Fix improper preprocessor conditional") Guinan Sun (8): net/i40e/base: enable FEC on/off flag setting for X722 net/i40e/base: add PTYPE definition net/i40e/base: enable new custom cloud filters net/i40e/base: update FVL FW API version to 1.11 net/i40e/base: check return value of DNL admin command net/i40e/base: add disable unused ports capability net/i40e/base: replace AQ command for NVM update net/i40e/base: update version drivers/net/i40e/base/README | 2 +- drivers/net/i40e/base/i40e_adminq.c | 6 +++ drivers/net/i40e/base/i40e_adminq_cmd.h | 19 +++++++- drivers/net/i40e/base/i40e_common.c | 61 +++++++++++++++---------- drivers/net/i40e/base/i40e_prototype.h | 6 ++- drivers/net/i40e/base/i40e_type.h | 5 +- 6 files changed, 70 insertions(+), 29 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH 1/8] net/i40e/base: enable FEC on/off flag setting for X722 2020-07-21 7:39 [dpdk-dev] [PATCH 0/8] update i40e base code Guinan Sun @ 2020-07-21 7:39 ` Guinan Sun 2020-07-27 3:38 ` Jeff Guo 2020-07-21 7:39 ` [dpdk-dev] [PATCH 2/8] net/i40e/base: add PTYPE definition Guinan Sun ` (7 subsequent siblings) 8 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-21 7:39 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Dawid Lukwinski Starting with API version 1.10 firmware for X722 devices has ability to change FEC settings in PHY. Code added in this patch checks API version and sets appropriate capability flag. Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_adminq.c | 6 ++++++ drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ drivers/net/i40e/base/i40e_type.h | 1 + 3 files changed, 9 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c index c89e1fb3f..0da45f03e 100644 --- a/drivers/net/i40e/base/i40e_adminq.c +++ b/drivers/net/i40e/base/i40e_adminq.c @@ -603,6 +603,12 @@ STATIC void i40e_set_hw_flags(struct i40e_hw *hw) (aq->api_maj_ver == 1 && aq->api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_X722)) hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE; + + if (aq->api_maj_ver > 1 || + (aq->api_maj_ver == 1 && + aq->api_min_ver >= I40E_MINOR_VER_FW_REQUEST_FEC_X722)) + hw->flags |= I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE; + /* fall through */ default: break; diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index 1905167f5..f790183be 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -25,6 +25,8 @@ #define I40E_MINOR_VER_GET_LINK_INFO_X722 0x0009 /* API version 1.6 for X722 devices adds ability to stop FW LLDP agent */ #define I40E_MINOR_VER_FW_LLDP_STOPPABLE_X722 0x0006 +/* API version 1.10 for X722 devices adds ability to request FEC encoding */ +#define I40E_MINOR_VER_FW_REQUEST_FEC_X722 0x000A struct i40e_aq_desc { __le16 flags; diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index 014a4c132..b5b5b928d 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -745,6 +745,7 @@ struct i40e_hw { #define I40E_HW_FLAG_FW_LLDP_PERSISTENT BIT_ULL(5) #define I40E_HW_FLAG_AQ_PHY_ACCESS_EXTENDED BIT_ULL(6) #define I40E_HW_FLAG_DROP_MODE BIT_ULL(7) +#define I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE BIT_ULL(8) u64 flags; /* Used in set switch config AQ command */ -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 1/8] net/i40e/base: enable FEC on/off flag setting for X722 2020-07-21 7:39 ` [dpdk-dev] [PATCH 1/8] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun @ 2020-07-27 3:38 ` Jeff Guo 0 siblings, 0 replies; 53+ messages in thread From: Jeff Guo @ 2020-07-27 3:38 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, Dawid Lukwinski Acked-by: Jeff Guo <jia.guo@intel.com> On 7/21/2020 3:39 PM, Guinan Sun wrote: > Starting with API version 1.10 firmware for X722 devices has ability > to change FEC settings in PHY. Code added in this patch > checks API version and sets appropriate capability flag. > > Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com> > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > drivers/net/i40e/base/i40e_adminq.c | 6 ++++++ > drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ > drivers/net/i40e/base/i40e_type.h | 1 + > 3 files changed, 9 insertions(+) > > diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c > index c89e1fb3f..0da45f03e 100644 > --- a/drivers/net/i40e/base/i40e_adminq.c > +++ b/drivers/net/i40e/base/i40e_adminq.c > @@ -603,6 +603,12 @@ STATIC void i40e_set_hw_flags(struct i40e_hw *hw) > (aq->api_maj_ver == 1 && > aq->api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_X722)) > hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE; > + > + if (aq->api_maj_ver > 1 || > + (aq->api_maj_ver == 1 && > + aq->api_min_ver >= I40E_MINOR_VER_FW_REQUEST_FEC_X722)) > + hw->flags |= I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE; > + > /* fall through */ > default: > break; > diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h > index 1905167f5..f790183be 100644 > --- a/drivers/net/i40e/base/i40e_adminq_cmd.h > +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h > @@ -25,6 +25,8 @@ > #define I40E_MINOR_VER_GET_LINK_INFO_X722 0x0009 > /* API version 1.6 for X722 devices adds ability to stop FW LLDP agent */ > #define I40E_MINOR_VER_FW_LLDP_STOPPABLE_X722 0x0006 > +/* API version 1.10 for X722 devices adds ability to request FEC encoding */ > +#define I40E_MINOR_VER_FW_REQUEST_FEC_X722 0x000A > > struct i40e_aq_desc { > __le16 flags; > diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h > index 014a4c132..b5b5b928d 100644 > --- a/drivers/net/i40e/base/i40e_type.h > +++ b/drivers/net/i40e/base/i40e_type.h > @@ -745,6 +745,7 @@ struct i40e_hw { > #define I40E_HW_FLAG_FW_LLDP_PERSISTENT BIT_ULL(5) > #define I40E_HW_FLAG_AQ_PHY_ACCESS_EXTENDED BIT_ULL(6) > #define I40E_HW_FLAG_DROP_MODE BIT_ULL(7) > +#define I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE BIT_ULL(8) > u64 flags; > > /* Used in set switch config AQ command */ ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH 2/8] net/i40e/base: add PTYPE definition 2020-07-21 7:39 [dpdk-dev] [PATCH 0/8] update i40e base code Guinan Sun 2020-07-21 7:39 ` [dpdk-dev] [PATCH 1/8] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun @ 2020-07-21 7:39 ` Guinan Sun 2020-07-27 3:43 ` Jeff Guo 2020-07-21 7:39 ` [dpdk-dev] [PATCH 3/8] net/i40e/base: enable new custom cloud filters Guinan Sun ` (6 subsequent siblings) 8 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-21 7:39 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Przemyslaw Patynowski Add I40E_RX_PTYPE_PARSER_ABORTED definition, so i40e driver will know opcode for parser aborted packets. Without this definition driver would have to rely on magic numbers. Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_type.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index b5b5b928d..0eeb55975 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -961,7 +961,8 @@ enum i40e_rx_l2_ptype { I40E_RX_PTYPE_GRENAT4_MAC_PAY3 = 58, I40E_RX_PTYPE_GRENAT4_MACVLAN_IPV6_ICMP_PAY4 = 87, I40E_RX_PTYPE_GRENAT6_MAC_PAY3 = 124, - I40E_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4 = 153 + I40E_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4 = 153, + I40E_RX_PTYPE_PARSER_ABORTED = 255 }; struct i40e_rx_ptype_decoded { -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 2/8] net/i40e/base: add PTYPE definition 2020-07-21 7:39 ` [dpdk-dev] [PATCH 2/8] net/i40e/base: add PTYPE definition Guinan Sun @ 2020-07-27 3:43 ` Jeff Guo 0 siblings, 0 replies; 53+ messages in thread From: Jeff Guo @ 2020-07-27 3:43 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, Przemyslaw Patynowski Acked-by: Jeff Guo <jia.guo@intel.com> On 7/21/2020 3:39 PM, Guinan Sun wrote: > Add I40E_RX_PTYPE_PARSER_ABORTED definition, so i40e driver will know > opcode for parser aborted packets. > Without this definition driver would have to rely on magic numbers. > > Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com> > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > drivers/net/i40e/base/i40e_type.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h > index b5b5b928d..0eeb55975 100644 > --- a/drivers/net/i40e/base/i40e_type.h > +++ b/drivers/net/i40e/base/i40e_type.h > @@ -961,7 +961,8 @@ enum i40e_rx_l2_ptype { > I40E_RX_PTYPE_GRENAT4_MAC_PAY3 = 58, > I40E_RX_PTYPE_GRENAT4_MACVLAN_IPV6_ICMP_PAY4 = 87, > I40E_RX_PTYPE_GRENAT6_MAC_PAY3 = 124, > - I40E_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4 = 153 > + I40E_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4 = 153, > + I40E_RX_PTYPE_PARSER_ABORTED = 255 > }; > > struct i40e_rx_ptype_decoded { ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH 3/8] net/i40e/base: enable new custom cloud filters 2020-07-21 7:39 [dpdk-dev] [PATCH 0/8] update i40e base code Guinan Sun 2020-07-21 7:39 ` [dpdk-dev] [PATCH 1/8] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun 2020-07-21 7:39 ` [dpdk-dev] [PATCH 2/8] net/i40e/base: add PTYPE definition Guinan Sun @ 2020-07-21 7:39 ` Guinan Sun 2020-07-27 3:53 ` Jeff Guo 2020-07-21 7:39 ` [dpdk-dev] [PATCH 4/8] net/i40e/base: update FVL FW API version to 1.11 Guinan Sun ` (5 subsequent siblings) 8 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-21 7:39 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Harshitha Ramamurthy This patch adds the new filter types needed for custom cloud filters. These custom cloud filters will route traffic to VFs based on the dst IP for both tunneled and non-tunneled packets. Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index f790183be..21f544840 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -1406,6 +1406,8 @@ struct i40e_aqc_cloud_filters_element_data { #define I40E_AQC_ADD_CLOUD_FILTER_IMAC 0x000A #define I40E_AQC_ADD_CLOUD_FILTER_OMAC_TEN_ID_IMAC 0x000B #define I40E_AQC_ADD_CLOUD_FILTER_IIP 0x000C +#define I40E_AQC_ADD_CLOUD_FILTER_OIP1 0x0010 +#define I40E_AQC_ADD_CLOUD_FILTER_OIP2 0x0012 /* 0x000D reserved */ /* 0x000E reserved */ /* 0x000F reserved */ -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 3/8] net/i40e/base: enable new custom cloud filters 2020-07-21 7:39 ` [dpdk-dev] [PATCH 3/8] net/i40e/base: enable new custom cloud filters Guinan Sun @ 2020-07-27 3:53 ` Jeff Guo 2020-07-27 4:55 ` Sun, GuinanX 0 siblings, 1 reply; 53+ messages in thread From: Jeff Guo @ 2020-07-27 3:53 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, Harshitha Ramamurthy hi, guinan This patch is just define some new types but not enable a feature, could the title to be "add new custom cloud filters types", is it better and could eliminate some confuse? On 7/21/2020 3:39 PM, Guinan Sun wrote: > This patch adds the new filter types needed for custom cloud filters. > These custom cloud filters will route traffic to VFs based on the > dst IP for both tunneled and non-tunneled packets. > > Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com> > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h > index f790183be..21f544840 100644 > --- a/drivers/net/i40e/base/i40e_adminq_cmd.h > +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h > @@ -1406,6 +1406,8 @@ struct i40e_aqc_cloud_filters_element_data { > #define I40E_AQC_ADD_CLOUD_FILTER_IMAC 0x000A > #define I40E_AQC_ADD_CLOUD_FILTER_OMAC_TEN_ID_IMAC 0x000B > #define I40E_AQC_ADD_CLOUD_FILTER_IIP 0x000C > +#define I40E_AQC_ADD_CLOUD_FILTER_OIP1 0x0010 > +#define I40E_AQC_ADD_CLOUD_FILTER_OIP2 0x0012 > /* 0x000D reserved */ > /* 0x000E reserved */ > /* 0x000F reserved */ ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 3/8] net/i40e/base: enable new custom cloud filters 2020-07-27 3:53 ` Jeff Guo @ 2020-07-27 4:55 ` Sun, GuinanX 0 siblings, 0 replies; 53+ messages in thread From: Sun, GuinanX @ 2020-07-27 4:55 UTC (permalink / raw) To: Guo, Jia, dev; +Cc: Xing, Beilei, Ramamurthy, Harshitha Hi Jeff > -----Original Message----- > From: Guo, Jia > Sent: Monday, July 27, 2020 11:53 AM > To: Sun, GuinanX <guinanx.sun@intel.com>; dev@dpdk.org > Cc: Xing, Beilei <beilei.xing@intel.com>; Ramamurthy, Harshitha > <harshitha.ramamurthy@intel.com> > Subject: Re: [PATCH 3/8] net/i40e/base: enable new custom cloud filters > > hi, guinan > > This patch is just define some new types but not enable a feature, could the > title to be "add new custom cloud filters types", > > is it better and could eliminate some confuse? I agree with you. Patch V2 will modify it. > > On 7/21/2020 3:39 PM, Guinan Sun wrote: > > This patch adds the new filter types needed for custom cloud filters. > > These custom cloud filters will route traffic to VFs based on the dst > > IP for both tunneled and non-tunneled packets. > > > > Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com> > > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > > --- > > drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h > > b/drivers/net/i40e/base/i40e_adminq_cmd.h > > index f790183be..21f544840 100644 > > --- a/drivers/net/i40e/base/i40e_adminq_cmd.h > > +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h > > @@ -1406,6 +1406,8 @@ struct i40e_aqc_cloud_filters_element_data { > > #define I40E_AQC_ADD_CLOUD_FILTER_IMAC > 0x000A > > #define I40E_AQC_ADD_CLOUD_FILTER_OMAC_TEN_ID_IMAC > 0x000B > > #define I40E_AQC_ADD_CLOUD_FILTER_IIP 0x000C > > +#define I40E_AQC_ADD_CLOUD_FILTER_OIP1 > 0x0010 > > +#define I40E_AQC_ADD_CLOUD_FILTER_OIP2 > 0x0012 > > /* 0x000D reserved */ > > /* 0x000E reserved */ > > /* 0x000F reserved */ ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH 4/8] net/i40e/base: update FVL FW API version to 1.11 2020-07-21 7:39 [dpdk-dev] [PATCH 0/8] update i40e base code Guinan Sun ` (2 preceding siblings ...) 2020-07-21 7:39 ` [dpdk-dev] [PATCH 3/8] net/i40e/base: enable new custom cloud filters Guinan Sun @ 2020-07-21 7:39 ` Guinan Sun 2020-07-21 7:39 ` [dpdk-dev] [PATCH 5/8] net/i40e/base: check return value of DNL admin command Guinan Sun ` (4 subsequent siblings) 8 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-07-21 7:39 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Jacek Naczyk Upcoming FVL FW increment API version to 1.11 due to new bit and new fields in the Replace Cloud Filters AQ command. Signed-off-by: Jacek Naczyk <jacek.naczyk@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_adminq_cmd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index 21f544840..e1018ed49 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -13,7 +13,7 @@ #define I40E_FW_API_VERSION_MAJOR 0x0001 #define I40E_FW_API_VERSION_MINOR_X722 0x000A -#define I40E_FW_API_VERSION_MINOR_X710 0x000A +#define I40E_FW_API_VERSION_MINOR_X710 0x000B #define I40E_FW_MINOR_VERSION(_h) ((_h)->mac.type == I40E_MAC_XL710 ? \ I40E_FW_API_VERSION_MINOR_X710 : \ -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH 5/8] net/i40e/base: check return value of DNL admin command 2020-07-21 7:39 [dpdk-dev] [PATCH 0/8] update i40e base code Guinan Sun ` (3 preceding siblings ...) 2020-07-21 7:39 ` [dpdk-dev] [PATCH 4/8] net/i40e/base: update FVL FW API version to 1.11 Guinan Sun @ 2020-07-21 7:39 ` Guinan Sun 2020-07-27 4:07 ` Jeff Guo 2020-07-21 7:39 ` [dpdk-dev] [PATCH 6/8] net/i40e/base: add disable unused ports capability Guinan Sun ` (3 subsequent siblings) 8 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-21 7:39 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Adam Ludkiewicz Check return value of running DNL admin command. Signed-off-by: Adam Ludkiewicz <adam.ludkiewicz@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 46a0b7881..85c22849e 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -7097,7 +7097,7 @@ enum i40e_status_code i40e_get_lpi_counters(struct i40e_hw *hw, I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT, &cmd_status, tx_counter, rx_counter, NULL); - if (cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) + if (!retval && cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) retval = I40E_ERR_ADMIN_QUEUE_ERROR; return retval; -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 5/8] net/i40e/base: check return value of DNL admin command 2020-07-21 7:39 ` [dpdk-dev] [PATCH 5/8] net/i40e/base: check return value of DNL admin command Guinan Sun @ 2020-07-27 4:07 ` Jeff Guo 2020-07-27 4:53 ` Sun, GuinanX 2020-07-27 5:19 ` Sun, GuinanX 0 siblings, 2 replies; 53+ messages in thread From: Jeff Guo @ 2020-07-27 4:07 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, Adam Ludkiewicz hi, guinan On 7/21/2020 3:39 PM, Guinan Sun wrote: > Check return value of running DNL admin command. What is "DNL", I am not sure i know the reason it appear here, could you double check it? > > Signed-off-by: Adam Ludkiewicz <adam.ludkiewicz@intel.com> > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > drivers/net/i40e/base/i40e_common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c > index 46a0b7881..85c22849e 100644 > --- a/drivers/net/i40e/base/i40e_common.c > +++ b/drivers/net/i40e/base/i40e_common.c > @@ -7097,7 +7097,7 @@ enum i40e_status_code i40e_get_lpi_counters(struct i40e_hw *hw, > I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT, > &cmd_status, tx_counter, rx_counter, NULL); > > - if (cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) > + if (!retval && cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) > retval = I40E_ERR_ADMIN_QUEUE_ERROR; > > return retval; ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 5/8] net/i40e/base: check return value of DNL admin command 2020-07-27 4:07 ` Jeff Guo @ 2020-07-27 4:53 ` Sun, GuinanX 2020-07-27 5:19 ` Sun, GuinanX 1 sibling, 0 replies; 53+ messages in thread From: Sun, GuinanX @ 2020-07-27 4:53 UTC (permalink / raw) To: Guo, Jia, dev; +Cc: Xing, Beilei, Ludkiewicz, Adam Hi Jeff > -----Original Message----- > From: Guo, Jia > Sent: Monday, July 27, 2020 12:08 PM > To: Sun, GuinanX <guinanx.sun@intel.com>; dev@dpdk.org > Cc: Xing, Beilei <beilei.xing@intel.com>; Ludkiewicz, Adam > <adam.ludkiewicz@intel.com> > Subject: Re: [PATCH 5/8] net/i40e/base: check return value of DNL admin > command > > hi, guinan > > On 7/21/2020 3:39 PM, Guinan Sun wrote: > > Check return value of running DNL admin command. > > > What is "DNL", I am not sure i know the reason it appear here, could you > double check it? > Regarding what DNL stands for, I haven't found it in the code and datasheet. It can be seen from the code change that the return value check operation of i40e_aq_run_phy_activity has been added. The description of this function is RUN DNL admin command. So tile and commit log have made such changes. > > > > > Signed-off-by: Adam Ludkiewicz <adam.ludkiewicz@intel.com> > > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > > --- > > drivers/net/i40e/base/i40e_common.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/i40e/base/i40e_common.c > b/drivers/net/i40e/base/i40e_common.c > > index 46a0b7881..85c22849e 100644 > > --- a/drivers/net/i40e/base/i40e_common.c > > +++ b/drivers/net/i40e/base/i40e_common.c > > @@ -7097,7 +7097,7 @@ enum i40e_status_code > i40e_get_lpi_counters(struct i40e_hw *hw, > > > I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT, > > &cmd_status, tx_counter, rx_counter, NULL); > > > > - if (cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) > > + if (!retval && cmd_status != > I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) > > retval = I40E_ERR_ADMIN_QUEUE_ERROR; > > > > return retval; ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 5/8] net/i40e/base: check return value of DNL admin command 2020-07-27 4:07 ` Jeff Guo 2020-07-27 4:53 ` Sun, GuinanX @ 2020-07-27 5:19 ` Sun, GuinanX 1 sibling, 0 replies; 53+ messages in thread From: Sun, GuinanX @ 2020-07-27 5:19 UTC (permalink / raw) To: Guo, Jia, dev; +Cc: Xing, Beilei, Ludkiewicz, Adam Hi, Jeff > -----Original Message----- > From: Sun, GuinanX > Sent: Monday, July 27, 2020 12:54 PM > To: Guo, Jia <jia.guo@intel.com>; dev@dpdk.org > Cc: Xing, Beilei <beilei.xing@intel.com>; Ludkiewicz, Adam > <adam.ludkiewicz@intel.com> > Subject: RE: [PATCH 5/8] net/i40e/base: check return value of DNL admin > command > > Hi Jeff > > > -----Original Message----- > > From: Guo, Jia > > Sent: Monday, July 27, 2020 12:08 PM > > To: Sun, GuinanX <guinanx.sun@intel.com>; dev@dpdk.org > > Cc: Xing, Beilei <beilei.xing@intel.com>; Ludkiewicz, Adam > > <adam.ludkiewicz@intel.com> > > Subject: Re: [PATCH 5/8] net/i40e/base: check return value of DNL > > admin command > > > > hi, guinan > > > > On 7/21/2020 3:39 PM, Guinan Sun wrote: > > > Check return value of running DNL admin command. > > > > > > What is "DNL", I am not sure i know the reason it appear here, could > > you double check it? > > > > Regarding what DNL stands for, I haven't found it in the code and datasheet. > It can be seen from the code change that the return value check operation of > i40e_aq_run_phy_activity has been added. > The description of this function is RUN DNL admin command. > So tile and commit log have made such changes. Sorry, I might have misunderstood it just now. I will double check for it and patch V2 will modify it. > > > > > > > > > Signed-off-by: Adam Ludkiewicz <adam.ludkiewicz@intel.com> > > > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > > > --- > > > drivers/net/i40e/base/i40e_common.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/net/i40e/base/i40e_common.c > > b/drivers/net/i40e/base/i40e_common.c > > > index 46a0b7881..85c22849e 100644 > > > --- a/drivers/net/i40e/base/i40e_common.c > > > +++ b/drivers/net/i40e/base/i40e_common.c > > > @@ -7097,7 +7097,7 @@ enum i40e_status_code > > i40e_get_lpi_counters(struct i40e_hw *hw, > > > > > I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT, > > > &cmd_status, tx_counter, rx_counter, NULL); > > > > > > - if (cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) > > > + if (!retval && cmd_status != > > I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) > > > retval = I40E_ERR_ADMIN_QUEUE_ERROR; > > > > > > return retval; ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH 6/8] net/i40e/base: add disable unused ports capability 2020-07-21 7:39 [dpdk-dev] [PATCH 0/8] update i40e base code Guinan Sun ` (4 preceding siblings ...) 2020-07-21 7:39 ` [dpdk-dev] [PATCH 5/8] net/i40e/base: check return value of DNL admin command Guinan Sun @ 2020-07-21 7:39 ` Guinan Sun 2020-07-27 4:24 ` Jeff Guo 2020-07-21 7:39 ` [dpdk-dev] [PATCH 7/8] net/i40e/base: replace AQ command for NVM update Guinan Sun ` (2 subsequent siblings) 8 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-21 7:39 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Damian Milosek This patch adds support for "Disable Unused Ports" functionality. Signed-off-by: Damian Milosek <damian.milosek@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_adminq_cmd.h | 1 + drivers/net/i40e/base/i40e_common.c | 6 ++++++ drivers/net/i40e/base/i40e_type.h | 1 + 3 files changed, 8 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index e1018ed49..c7686b0d3 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -440,6 +440,7 @@ struct i40e_aqc_list_capabilities_element_resp { #define I40E_AQ_CAP_ID_SDP 0x0062 #define I40E_AQ_CAP_ID_MDIO 0x0063 #define I40E_AQ_CAP_ID_WSR_PROT 0x0064 +#define I40E_AQ_CAP_ID_DIS_UNUSED_PORTS 0x0067 #define I40E_AQ_CAP_ID_NVM_MGMT 0x0080 #define I40E_AQ_CAP_ID_FLEX10 0x00F1 #define I40E_AQ_CAP_ID_CEM 0x00F2 diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 85c22849e..65317f6c6 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -4021,6 +4021,12 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff, "HW Capability: wr_csr_prot = 0x%llX\n\n", (p->wr_csr_prot & 0xffff)); break; + case I40E_AQ_CAP_ID_DIS_UNUSED_PORTS: + p->dis_unused_ports = (bool)number; + i40e_debug(hw, I40E_DEBUG_INIT, + "HW Capability: dis_unused_ports = %d\n\n", + p->dis_unused_ports); + break; case I40E_AQ_CAP_ID_NVM_MGMT: if (number & I40E_NVM_MGMT_SEC_REV_DISABLED) p->sec_rev_disabled = true; diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index 0eeb55975..cf4134583 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -425,6 +425,7 @@ struct i40e_hw_capabilities { u32 enabled_tcmap; u32 maxtc; u64 wr_csr_prot; + bool dis_unused_ports; bool apm_wol_support; enum i40e_acpi_programming_method acpi_prog_method; bool proxy_support; -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 6/8] net/i40e/base: add disable unused ports capability 2020-07-21 7:39 ` [dpdk-dev] [PATCH 6/8] net/i40e/base: add disable unused ports capability Guinan Sun @ 2020-07-27 4:24 ` Jeff Guo 2020-07-27 5:01 ` Sun, GuinanX 0 siblings, 1 reply; 53+ messages in thread From: Jeff Guo @ 2020-07-27 4:24 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, Damian Milosek hi, guinan On 7/21/2020 3:39 PM, Guinan Sun wrote: > This patch adds support for "Disable Unused Ports" functionality. "This patch adds support for disabling unused ports" is enough for reader i think. And use 2 verb is not good in title, "Support unused ports disabling" or other you want. > > Signed-off-by: Damian Milosek <damian.milosek@intel.com> > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > drivers/net/i40e/base/i40e_adminq_cmd.h | 1 + > drivers/net/i40e/base/i40e_common.c | 6 ++++++ > drivers/net/i40e/base/i40e_type.h | 1 + > 3 files changed, 8 insertions(+) > > diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h > index e1018ed49..c7686b0d3 100644 > --- a/drivers/net/i40e/base/i40e_adminq_cmd.h > +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h > @@ -440,6 +440,7 @@ struct i40e_aqc_list_capabilities_element_resp { > #define I40E_AQ_CAP_ID_SDP 0x0062 > #define I40E_AQ_CAP_ID_MDIO 0x0063 > #define I40E_AQ_CAP_ID_WSR_PROT 0x0064 > +#define I40E_AQ_CAP_ID_DIS_UNUSED_PORTS 0x0067 Please double check if it is "0x0066" or "0x0067", if it is conform, please add my ACK for this patch at next version. > #define I40E_AQ_CAP_ID_NVM_MGMT 0x0080 > #define I40E_AQ_CAP_ID_FLEX10 0x00F1 > #define I40E_AQ_CAP_ID_CEM 0x00F2 > diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c > index 85c22849e..65317f6c6 100644 > --- a/drivers/net/i40e/base/i40e_common.c > +++ b/drivers/net/i40e/base/i40e_common.c > @@ -4021,6 +4021,12 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff, > "HW Capability: wr_csr_prot = 0x%llX\n\n", > (p->wr_csr_prot & 0xffff)); > break; > + case I40E_AQ_CAP_ID_DIS_UNUSED_PORTS: > + p->dis_unused_ports = (bool)number; > + i40e_debug(hw, I40E_DEBUG_INIT, > + "HW Capability: dis_unused_ports = %d\n\n", > + p->dis_unused_ports); > + break; > case I40E_AQ_CAP_ID_NVM_MGMT: > if (number & I40E_NVM_MGMT_SEC_REV_DISABLED) > p->sec_rev_disabled = true; > diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h > index 0eeb55975..cf4134583 100644 > --- a/drivers/net/i40e/base/i40e_type.h > +++ b/drivers/net/i40e/base/i40e_type.h > @@ -425,6 +425,7 @@ struct i40e_hw_capabilities { > u32 enabled_tcmap; > u32 maxtc; > u64 wr_csr_prot; > + bool dis_unused_ports; > bool apm_wol_support; > enum i40e_acpi_programming_method acpi_prog_method; > bool proxy_support; ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 6/8] net/i40e/base: add disable unused ports capability 2020-07-27 4:24 ` Jeff Guo @ 2020-07-27 5:01 ` Sun, GuinanX 0 siblings, 0 replies; 53+ messages in thread From: Sun, GuinanX @ 2020-07-27 5:01 UTC (permalink / raw) To: Guo, Jia, dev; +Cc: Xing, Beilei, Milosek, Damian Hi Jeff > -----Original Message----- > From: Guo, Jia > Sent: Monday, July 27, 2020 12:25 PM > To: Sun, GuinanX <guinanx.sun@intel.com>; dev@dpdk.org > Cc: Xing, Beilei <beilei.xing@intel.com>; Milosek, Damian > <damian.milosek@intel.com> > Subject: Re: [PATCH 6/8] net/i40e/base: add disable unused ports capability > > hi, guinan > > On 7/21/2020 3:39 PM, Guinan Sun wrote: > > This patch adds support for "Disable Unused Ports" functionality. > > > "This patch adds support for disabling unused ports" is enough for reader i think. > > And use 2 verb is not good in title, "Support unused ports disabling" or other > you want. > I think you are right. Patch V2 will modify it. > > > > > Signed-off-by: Damian Milosek <damian.milosek@intel.com> > > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > > --- > > drivers/net/i40e/base/i40e_adminq_cmd.h | 1 + > > drivers/net/i40e/base/i40e_common.c | 6 ++++++ > > drivers/net/i40e/base/i40e_type.h | 1 + > > 3 files changed, 8 insertions(+) > > > > diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h > b/drivers/net/i40e/base/i40e_adminq_cmd.h > > index e1018ed49..c7686b0d3 100644 > > --- a/drivers/net/i40e/base/i40e_adminq_cmd.h > > +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h > > @@ -440,6 +440,7 @@ struct i40e_aqc_list_capabilities_element_resp { > > #define I40E_AQ_CAP_ID_SDP 0x0062 > > #define I40E_AQ_CAP_ID_MDIO 0x0063 > > #define I40E_AQ_CAP_ID_WSR_PROT 0x0064 > > +#define I40E_AQ_CAP_ID_DIS_UNUSED_PORTS 0x0067 > > > Please double check if it is "0x0066" or "0x0067", if it is conform, > please add my ACK for this patch at next version. > > > > #define I40E_AQ_CAP_ID_NVM_MGMT 0x0080 > > #define I40E_AQ_CAP_ID_FLEX10 0x00F1 > > #define I40E_AQ_CAP_ID_CEM 0x00F2 > > diff --git a/drivers/net/i40e/base/i40e_common.c > b/drivers/net/i40e/base/i40e_common.c > > index 85c22849e..65317f6c6 100644 > > --- a/drivers/net/i40e/base/i40e_common.c > > +++ b/drivers/net/i40e/base/i40e_common.c > > @@ -4021,6 +4021,12 @@ STATIC void > i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff, > > "HW Capability: wr_csr_prot = 0x%llX\n\n", > > (p->wr_csr_prot & 0xffff)); > > break; > > + case I40E_AQ_CAP_ID_DIS_UNUSED_PORTS: > > + p->dis_unused_ports = (bool)number; > > + i40e_debug(hw, I40E_DEBUG_INIT, > > + "HW Capability: dis_unused_ports = %d\n\n", > > + p->dis_unused_ports); > > + break; > > case I40E_AQ_CAP_ID_NVM_MGMT: > > if (number & I40E_NVM_MGMT_SEC_REV_DISABLED) > > p->sec_rev_disabled = true; > > diff --git a/drivers/net/i40e/base/i40e_type.h > b/drivers/net/i40e/base/i40e_type.h > > index 0eeb55975..cf4134583 100644 > > --- a/drivers/net/i40e/base/i40e_type.h > > +++ b/drivers/net/i40e/base/i40e_type.h > > @@ -425,6 +425,7 @@ struct i40e_hw_capabilities { > > u32 enabled_tcmap; > > u32 maxtc; > > u64 wr_csr_prot; > > + bool dis_unused_ports; > > bool apm_wol_support; > > enum i40e_acpi_programming_method acpi_prog_method; > > bool proxy_support; ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH 7/8] net/i40e/base: replace AQ command for NVM update 2020-07-21 7:39 [dpdk-dev] [PATCH 0/8] update i40e base code Guinan Sun ` (5 preceding siblings ...) 2020-07-21 7:39 ` [dpdk-dev] [PATCH 6/8] net/i40e/base: add disable unused ports capability Guinan Sun @ 2020-07-21 7:39 ` Guinan Sun 2020-07-27 4:32 ` Jeff Guo 2020-07-21 7:40 ` [dpdk-dev] [PATCH 8/8] net/i40e/base: update version Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun 8 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-21 7:39 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Jaroslaw Ilgiewicz Add AQ command "NVM update in process" to replace the original AQ command "NVM progress". Signed-off-by: Jaroslaw Ilgiewicz <jaroslaw.ilgiewicz@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_adminq_cmd.h | 12 +++++- drivers/net/i40e/base/i40e_common.c | 53 +++++++++++++++---------- drivers/net/i40e/base/i40e_prototype.h | 6 ++- 3 files changed, 46 insertions(+), 25 deletions(-) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index c7686b0d3..0766e69a8 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -240,7 +240,7 @@ enum i40e_admin_queue_opc { i40e_aqc_opc_nvm_update = 0x0703, i40e_aqc_opc_nvm_config_read = 0x0704, i40e_aqc_opc_nvm_config_write = 0x0705, - i40e_aqc_opc_nvm_progress = 0x0706, + i40e_aqc_opc_nvm_update_in_process = 0x0706, i40e_aqc_opc_oem_post_update = 0x0720, i40e_aqc_opc_thermal_sensor = 0x0721, @@ -2400,6 +2400,16 @@ struct i40e_aqc_nvm_config_data_feature { I40E_CHECK_STRUCT_LEN(0x6, i40e_aqc_nvm_config_data_feature); +/* NVM Update in Process (direct 0x0706) */ +struct i40e_aqc_nvm_update_in_process { + u8 command; +#define I40E_AQ_UPDATE_FLOW_END 0x0 +#define I40E_AQ_UPDATE_FLOW_START 0x1 + u8 reserved[15]; +}; + +I40E_CHECK_CMD_LENGTH(i40e_aqc_nvm_update_in_process); + struct i40e_aqc_nvm_config_data_immediate_field { __le32 field_id; __le32 field_value; diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 65317f6c6..6c6fb4de4 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -3686,6 +3686,37 @@ enum i40e_status_code i40e_aq_write_nvm_config(struct i40e_hw *hw, return status; } +/** + * i40e_aq_nvm_update_in_process + * @hw: pointer to the hw struct + * @update_flow_state: True indicates that update flow starts, false that ends + * @cmd_details: pointer to command details structure or NULL + * + * Indicate NVM update in process. + **/ +enum i40e_status_code +i40e_aq_nvm_update_in_process(struct i40e_hw *hw, + bool update_flow_state, + struct i40e_asq_cmd_details *cmd_details) +{ + struct i40e_aq_desc desc; + struct i40e_aqc_nvm_update_in_process *cmd = + (struct i40e_aqc_nvm_update_in_process *)&desc.params.raw; + enum i40e_status_code status; + + i40e_fill_default_direct_cmd_desc(&desc, + i40e_aqc_opc_nvm_update_in_process); + + cmd->command = I40E_AQ_UPDATE_FLOW_END; + + if (update_flow_state) + cmd->command |= I40E_AQ_UPDATE_FLOW_START; + + status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); + + return status; +} + /** * i40e_aq_oem_post_update - triggers an OEM specific flow after update * @hw: pointer to the hw struct @@ -4257,28 +4288,6 @@ enum i40e_status_code i40e_aq_rearrange_nvm(struct i40e_hw *hw, return status; } -/** - * i40e_aq_nvm_progress - * @hw: pointer to the hw struct - * @progress: pointer to progress returned from AQ - * @cmd_details: pointer to command details structure or NULL - * - * Gets progress of flash rearrangement process - **/ -enum i40e_status_code i40e_aq_nvm_progress(struct i40e_hw *hw, u8 *progress, - struct i40e_asq_cmd_details *cmd_details) -{ - enum i40e_status_code status; - struct i40e_aq_desc desc; - - DEBUGFUNC("i40e_aq_nvm_progress"); - - i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_nvm_progress); - status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); - *progress = desc.params.raw[0]; - return status; -} - /** * i40e_aq_get_lldp_mib * @hw: pointer to the hw struct diff --git a/drivers/net/i40e/base/i40e_prototype.h b/drivers/net/i40e/base/i40e_prototype.h index 91fa23491..9a89f3002 100644 --- a/drivers/net/i40e/base/i40e_prototype.h +++ b/drivers/net/i40e/base/i40e_prototype.h @@ -254,8 +254,10 @@ enum i40e_status_code i40e_aq_update_nvm(struct i40e_hw *hw, u8 module_pointer, enum i40e_status_code i40e_aq_rearrange_nvm(struct i40e_hw *hw, u8 rearrange_nvm, struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code i40e_aq_nvm_progress(struct i40e_hw *hw, u8 *progress, - struct i40e_asq_cmd_details *cmd_details); +enum i40e_status_code +i40e_aq_nvm_update_in_process(struct i40e_hw *hw, + bool update_flow_state, + struct i40e_asq_cmd_details *cmd_details); enum i40e_status_code i40e_aq_get_lldp_mib(struct i40e_hw *hw, u8 bridge_type, u8 mib_type, void *buff, u16 buff_size, u16 *local_len, u16 *remote_len, -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 7/8] net/i40e/base: replace AQ command for NVM update 2020-07-21 7:39 ` [dpdk-dev] [PATCH 7/8] net/i40e/base: replace AQ command for NVM update Guinan Sun @ 2020-07-27 4:32 ` Jeff Guo 0 siblings, 0 replies; 53+ messages in thread From: Jeff Guo @ 2020-07-27 4:32 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, Jaroslaw Ilgiewicz Acked-by: Jeff Guo <jia.guo@intel.com> On 7/21/2020 3:39 PM, Guinan Sun wrote: > Add AQ command "NVM update in process" > to replace the original AQ command "NVM progress". > > Signed-off-by: Jaroslaw Ilgiewicz <jaroslaw.ilgiewicz@intel.com> > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > drivers/net/i40e/base/i40e_adminq_cmd.h | 12 +++++- > drivers/net/i40e/base/i40e_common.c | 53 +++++++++++++++---------- > drivers/net/i40e/base/i40e_prototype.h | 6 ++- > 3 files changed, 46 insertions(+), 25 deletions(-) > > diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h > index c7686b0d3..0766e69a8 100644 > --- a/drivers/net/i40e/base/i40e_adminq_cmd.h > +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h > @@ -240,7 +240,7 @@ enum i40e_admin_queue_opc { > i40e_aqc_opc_nvm_update = 0x0703, > i40e_aqc_opc_nvm_config_read = 0x0704, > i40e_aqc_opc_nvm_config_write = 0x0705, > - i40e_aqc_opc_nvm_progress = 0x0706, > + i40e_aqc_opc_nvm_update_in_process = 0x0706, > i40e_aqc_opc_oem_post_update = 0x0720, > i40e_aqc_opc_thermal_sensor = 0x0721, > > @@ -2400,6 +2400,16 @@ struct i40e_aqc_nvm_config_data_feature { > > I40E_CHECK_STRUCT_LEN(0x6, i40e_aqc_nvm_config_data_feature); > > +/* NVM Update in Process (direct 0x0706) */ > +struct i40e_aqc_nvm_update_in_process { > + u8 command; > +#define I40E_AQ_UPDATE_FLOW_END 0x0 > +#define I40E_AQ_UPDATE_FLOW_START 0x1 > + u8 reserved[15]; > +}; > + > +I40E_CHECK_CMD_LENGTH(i40e_aqc_nvm_update_in_process); > + > struct i40e_aqc_nvm_config_data_immediate_field { > __le32 field_id; > __le32 field_value; > diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c > index 65317f6c6..6c6fb4de4 100644 > --- a/drivers/net/i40e/base/i40e_common.c > +++ b/drivers/net/i40e/base/i40e_common.c > @@ -3686,6 +3686,37 @@ enum i40e_status_code i40e_aq_write_nvm_config(struct i40e_hw *hw, > return status; > } > > +/** > + * i40e_aq_nvm_update_in_process > + * @hw: pointer to the hw struct > + * @update_flow_state: True indicates that update flow starts, false that ends > + * @cmd_details: pointer to command details structure or NULL > + * > + * Indicate NVM update in process. > + **/ > +enum i40e_status_code > +i40e_aq_nvm_update_in_process(struct i40e_hw *hw, > + bool update_flow_state, > + struct i40e_asq_cmd_details *cmd_details) > +{ > + struct i40e_aq_desc desc; > + struct i40e_aqc_nvm_update_in_process *cmd = > + (struct i40e_aqc_nvm_update_in_process *)&desc.params.raw; > + enum i40e_status_code status; > + > + i40e_fill_default_direct_cmd_desc(&desc, > + i40e_aqc_opc_nvm_update_in_process); > + > + cmd->command = I40E_AQ_UPDATE_FLOW_END; > + > + if (update_flow_state) > + cmd->command |= I40E_AQ_UPDATE_FLOW_START; > + > + status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); > + > + return status; > +} > + > /** > * i40e_aq_oem_post_update - triggers an OEM specific flow after update > * @hw: pointer to the hw struct > @@ -4257,28 +4288,6 @@ enum i40e_status_code i40e_aq_rearrange_nvm(struct i40e_hw *hw, > return status; > } > > -/** > - * i40e_aq_nvm_progress > - * @hw: pointer to the hw struct > - * @progress: pointer to progress returned from AQ > - * @cmd_details: pointer to command details structure or NULL > - * > - * Gets progress of flash rearrangement process > - **/ > -enum i40e_status_code i40e_aq_nvm_progress(struct i40e_hw *hw, u8 *progress, > - struct i40e_asq_cmd_details *cmd_details) > -{ > - enum i40e_status_code status; > - struct i40e_aq_desc desc; > - > - DEBUGFUNC("i40e_aq_nvm_progress"); > - > - i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_nvm_progress); > - status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); > - *progress = desc.params.raw[0]; > - return status; > -} > - > /** > * i40e_aq_get_lldp_mib > * @hw: pointer to the hw struct > diff --git a/drivers/net/i40e/base/i40e_prototype.h b/drivers/net/i40e/base/i40e_prototype.h > index 91fa23491..9a89f3002 100644 > --- a/drivers/net/i40e/base/i40e_prototype.h > +++ b/drivers/net/i40e/base/i40e_prototype.h > @@ -254,8 +254,10 @@ enum i40e_status_code i40e_aq_update_nvm(struct i40e_hw *hw, u8 module_pointer, > enum i40e_status_code i40e_aq_rearrange_nvm(struct i40e_hw *hw, > u8 rearrange_nvm, > struct i40e_asq_cmd_details *cmd_details); > -enum i40e_status_code i40e_aq_nvm_progress(struct i40e_hw *hw, u8 *progress, > - struct i40e_asq_cmd_details *cmd_details); > +enum i40e_status_code > +i40e_aq_nvm_update_in_process(struct i40e_hw *hw, > + bool update_flow_state, > + struct i40e_asq_cmd_details *cmd_details); > enum i40e_status_code i40e_aq_get_lldp_mib(struct i40e_hw *hw, u8 bridge_type, > u8 mib_type, void *buff, u16 buff_size, > u16 *local_len, u16 *remote_len, ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH 8/8] net/i40e/base: update version 2020-07-21 7:39 [dpdk-dev] [PATCH 0/8] update i40e base code Guinan Sun ` (6 preceding siblings ...) 2020-07-21 7:39 ` [dpdk-dev] [PATCH 7/8] net/i40e/base: replace AQ command for NVM update Guinan Sun @ 2020-07-21 7:40 ` Guinan Sun 2020-07-27 4:32 ` Jeff Guo 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun 8 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-21 7:40 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun Update base code version in readme. Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/README b/drivers/net/i40e/base/README index 6baca4360..58174d472 100644 --- a/drivers/net/i40e/base/README +++ b/drivers/net/i40e/base/README @@ -6,7 +6,7 @@ Intel® I40E driver ================== This directory contains source code of FreeBSD i40e driver of version -cid-i40e.2020.03.04.tar.gz released by the team which develops +cid-i40e.2020.07.16.tar.gz released by the team which develops basic drivers for any i40e NIC. The directory of base/ contains the original source package. This driver is valid for the product(s) listed below -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH 8/8] net/i40e/base: update version 2020-07-21 7:40 ` [dpdk-dev] [PATCH 8/8] net/i40e/base: update version Guinan Sun @ 2020-07-27 4:32 ` Jeff Guo 0 siblings, 0 replies; 53+ messages in thread From: Jeff Guo @ 2020-07-27 4:32 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing Acked-by: Jeff Guo <jia.guo@intel.com> On 7/21/2020 3:40 PM, Guinan Sun wrote: > Update base code version in readme. > > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > drivers/net/i40e/base/README | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/i40e/base/README b/drivers/net/i40e/base/README > index 6baca4360..58174d472 100644 > --- a/drivers/net/i40e/base/README > +++ b/drivers/net/i40e/base/README > @@ -6,7 +6,7 @@ Intel® I40E driver > ================== > > This directory contains source code of FreeBSD i40e driver of version > -cid-i40e.2020.03.04.tar.gz released by the team which develops > +cid-i40e.2020.07.16.tar.gz released by the team which develops > basic drivers for any i40e NIC. The directory of base/ contains the > original source package. > This driver is valid for the product(s) listed below ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v2 0/8] update i40e base code 2020-07-21 7:39 [dpdk-dev] [PATCH 0/8] update i40e base code Guinan Sun ` (7 preceding siblings ...) 2020-07-21 7:40 ` [dpdk-dev] [PATCH 8/8] net/i40e/base: update version Guinan Sun @ 2020-07-27 5:34 ` Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 1/8] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun ` (9 more replies) 8 siblings, 10 replies; 53+ messages in thread From: Guinan Sun @ 2020-07-27 5:34 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun update i40e base code. source code of i40e driver: cid-i40e.2020.07.16.tar.gz dropped by the team which develop basic drivers for any i40e NIC. changelog in ND share repo: From fc99a1143d3f ("i40e-shared: FEC on/off support flag for X722") To 673ff35c1c73 ("i40e-shared: Add support for firmware lockdown") The following commits are ignored. ea2cd04e5db1 ("i40e-shared: do AQ calls without sleeping by default") 4eec86f12992 ("i40e-shared: Fix undeclared i40e_asq_send_command() function") 9d60cec99eb7 ("i40e-shared: Send rx ctl write command in atomic context") a204afdc1cad ("i40e-shared: Send uc/mc commands in atomic context") d22f8cb2a111 ("i40e-shared: Send commands in atomic context") 136a7d931a45 ("i40e-shared: Fix improper preprocessor conditional") Guinan Sun (8): net/i40e/base: enable FEC on/off flag setting for X722 net/i40e/base: add PTYPE definition net/i40e/base: add new custom cloud filter types net/i40e/base: update FW API version to 1.11 net/i40e/base: fix possible uninitialized variable net/i40e/base: support unused ports disabling net/i40e/base: replace AQ command for NVM update net/i40e/base: update version drivers/net/i40e/base/README | 2 +- drivers/net/i40e/base/i40e_adminq.c | 6 +++ drivers/net/i40e/base/i40e_adminq_cmd.h | 19 +++++++- drivers/net/i40e/base/i40e_common.c | 61 +++++++++++++++---------- drivers/net/i40e/base/i40e_prototype.h | 6 ++- drivers/net/i40e/base/i40e_type.h | 5 +- 6 files changed, 70 insertions(+), 29 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v2 1/8] net/i40e/base: enable FEC on/off flag setting for X722 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun @ 2020-07-27 5:34 ` Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 2/8] net/i40e/base: add PTYPE definition Guinan Sun ` (8 subsequent siblings) 9 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-07-27 5:34 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Dawid Lukwinski Starting with API version 1.10 firmware for X722 devices has ability to change FEC settings in PHY. Code added in this patch checks API version and sets appropriate capability flag. Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- V2: * Add Acked-by --- drivers/net/i40e/base/i40e_adminq.c | 6 ++++++ drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ drivers/net/i40e/base/i40e_type.h | 1 + 3 files changed, 9 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c index c89e1fb3f..0da45f03e 100644 --- a/drivers/net/i40e/base/i40e_adminq.c +++ b/drivers/net/i40e/base/i40e_adminq.c @@ -603,6 +603,12 @@ STATIC void i40e_set_hw_flags(struct i40e_hw *hw) (aq->api_maj_ver == 1 && aq->api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_X722)) hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE; + + if (aq->api_maj_ver > 1 || + (aq->api_maj_ver == 1 && + aq->api_min_ver >= I40E_MINOR_VER_FW_REQUEST_FEC_X722)) + hw->flags |= I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE; + /* fall through */ default: break; diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index 1905167f5..f790183be 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -25,6 +25,8 @@ #define I40E_MINOR_VER_GET_LINK_INFO_X722 0x0009 /* API version 1.6 for X722 devices adds ability to stop FW LLDP agent */ #define I40E_MINOR_VER_FW_LLDP_STOPPABLE_X722 0x0006 +/* API version 1.10 for X722 devices adds ability to request FEC encoding */ +#define I40E_MINOR_VER_FW_REQUEST_FEC_X722 0x000A struct i40e_aq_desc { __le16 flags; diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index 014a4c132..b5b5b928d 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -745,6 +745,7 @@ struct i40e_hw { #define I40E_HW_FLAG_FW_LLDP_PERSISTENT BIT_ULL(5) #define I40E_HW_FLAG_AQ_PHY_ACCESS_EXTENDED BIT_ULL(6) #define I40E_HW_FLAG_DROP_MODE BIT_ULL(7) +#define I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE BIT_ULL(8) u64 flags; /* Used in set switch config AQ command */ -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v2 2/8] net/i40e/base: add PTYPE definition 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 1/8] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun @ 2020-07-27 5:34 ` Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 3/8] net/i40e/base: add new custom cloud filter types Guinan Sun ` (7 subsequent siblings) 9 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-07-27 5:34 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Przemyslaw Patynowski Add I40E_RX_PTYPE_PARSER_ABORTED definition, so i40e driver will know opcode for parser aborted packets. Without this definition driver would have to rely on magic numbers. Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- V2: * Add Acked-by --- drivers/net/i40e/base/i40e_type.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index b5b5b928d..0eeb55975 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -961,7 +961,8 @@ enum i40e_rx_l2_ptype { I40E_RX_PTYPE_GRENAT4_MAC_PAY3 = 58, I40E_RX_PTYPE_GRENAT4_MACVLAN_IPV6_ICMP_PAY4 = 87, I40E_RX_PTYPE_GRENAT6_MAC_PAY3 = 124, - I40E_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4 = 153 + I40E_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4 = 153, + I40E_RX_PTYPE_PARSER_ABORTED = 255 }; struct i40e_rx_ptype_decoded { -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v2 3/8] net/i40e/base: add new custom cloud filter types 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 1/8] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 2/8] net/i40e/base: add PTYPE definition Guinan Sun @ 2020-07-27 5:34 ` Guinan Sun 2020-07-27 6:43 ` Jeff Guo 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 4/8] net/i40e/base: update FW API version to 1.11 Guinan Sun ` (6 subsequent siblings) 9 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-27 5:34 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Harshitha Ramamurthy This patch adds the new filter types needed for custom cloud filters. These custom cloud filters will route traffic to VFs based on the dst IP for both tunneled and non-tunneled packets. Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- V2: * Modify the title. --- drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index f790183be..21f544840 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -1406,6 +1406,8 @@ struct i40e_aqc_cloud_filters_element_data { #define I40E_AQC_ADD_CLOUD_FILTER_IMAC 0x000A #define I40E_AQC_ADD_CLOUD_FILTER_OMAC_TEN_ID_IMAC 0x000B #define I40E_AQC_ADD_CLOUD_FILTER_IIP 0x000C +#define I40E_AQC_ADD_CLOUD_FILTER_OIP1 0x0010 +#define I40E_AQC_ADD_CLOUD_FILTER_OIP2 0x0012 /* 0x000D reserved */ /* 0x000E reserved */ /* 0x000F reserved */ -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH v2 3/8] net/i40e/base: add new custom cloud filter types 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 3/8] net/i40e/base: add new custom cloud filter types Guinan Sun @ 2020-07-27 6:43 ` Jeff Guo 0 siblings, 0 replies; 53+ messages in thread From: Jeff Guo @ 2020-07-27 6:43 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, Harshitha Ramamurthy Acked-by: Jeff Guo<jia.guo@intel.com> On 7/27/2020 1:34 PM, Guinan Sun wrote: > This patch adds the new filter types needed for custom cloud filters. > These custom cloud filters will route traffic to VFs based on the > dst IP for both tunneled and non-tunneled packets. > > Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com> > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > V2: > * Modify the title. > --- > drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h > index f790183be..21f544840 100644 > --- a/drivers/net/i40e/base/i40e_adminq_cmd.h > +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h > @@ -1406,6 +1406,8 @@ struct i40e_aqc_cloud_filters_element_data { > #define I40E_AQC_ADD_CLOUD_FILTER_IMAC 0x000A > #define I40E_AQC_ADD_CLOUD_FILTER_OMAC_TEN_ID_IMAC 0x000B > #define I40E_AQC_ADD_CLOUD_FILTER_IIP 0x000C > +#define I40E_AQC_ADD_CLOUD_FILTER_OIP1 0x0010 > +#define I40E_AQC_ADD_CLOUD_FILTER_OIP2 0x0012 > /* 0x000D reserved */ > /* 0x000E reserved */ > /* 0x000F reserved */ ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v2 4/8] net/i40e/base: update FW API version to 1.11 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun ` (2 preceding siblings ...) 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 3/8] net/i40e/base: add new custom cloud filter types Guinan Sun @ 2020-07-27 5:34 ` Guinan Sun 2020-07-27 6:44 ` Jeff Guo 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 5/8] net/i40e/base: fix possible uninitialized variable Guinan Sun ` (5 subsequent siblings) 9 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-27 5:34 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Jacek Naczyk Upcoming FW increment API version to 1.11 due to new bit and new fields in the Replace Cloud Filters AQ command. Signed-off-by: Jacek Naczyk <jacek.naczyk@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- V2: * Modify commit message. --- drivers/net/i40e/base/i40e_adminq_cmd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index 21f544840..e1018ed49 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -13,7 +13,7 @@ #define I40E_FW_API_VERSION_MAJOR 0x0001 #define I40E_FW_API_VERSION_MINOR_X722 0x000A -#define I40E_FW_API_VERSION_MINOR_X710 0x000A +#define I40E_FW_API_VERSION_MINOR_X710 0x000B #define I40E_FW_MINOR_VERSION(_h) ((_h)->mac.type == I40E_MAC_XL710 ? \ I40E_FW_API_VERSION_MINOR_X710 : \ -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH v2 4/8] net/i40e/base: update FW API version to 1.11 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 4/8] net/i40e/base: update FW API version to 1.11 Guinan Sun @ 2020-07-27 6:44 ` Jeff Guo 0 siblings, 0 replies; 53+ messages in thread From: Jeff Guo @ 2020-07-27 6:44 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, Jacek Naczyk Acked-by: Jeff Guo<jia.guo@intel.com> On 7/27/2020 1:34 PM, Guinan Sun wrote: > Upcoming FW increment API version to 1.11 due to new bit and new > fields in the Replace Cloud Filters AQ command. > > Signed-off-by: Jacek Naczyk <jacek.naczyk@intel.com> > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > V2: > * Modify commit message. > --- > drivers/net/i40e/base/i40e_adminq_cmd.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h > index 21f544840..e1018ed49 100644 > --- a/drivers/net/i40e/base/i40e_adminq_cmd.h > +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h > @@ -13,7 +13,7 @@ > > #define I40E_FW_API_VERSION_MAJOR 0x0001 > #define I40E_FW_API_VERSION_MINOR_X722 0x000A > -#define I40E_FW_API_VERSION_MINOR_X710 0x000A > +#define I40E_FW_API_VERSION_MINOR_X710 0x000B > > #define I40E_FW_MINOR_VERSION(_h) ((_h)->mac.type == I40E_MAC_XL710 ? \ > I40E_FW_API_VERSION_MINOR_X710 : \ ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v2 5/8] net/i40e/base: fix possible uninitialized variable 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun ` (3 preceding siblings ...) 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 4/8] net/i40e/base: update FW API version to 1.11 Guinan Sun @ 2020-07-27 5:34 ` Guinan Sun 2020-07-27 6:45 ` Jeff Guo 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 6/8] net/i40e/base: support unused ports disabling Guinan Sun ` (4 subsequent siblings) 9 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-27 5:34 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, stable, Adam Ludkiewicz Fix possible uninitialized variable in i40e in the i40e_get_lpi_counters function. Fixes: 429bdc0cd967 ("net/i40e/base: add function to read LPI counters") Cc: stable@dpdk.org Signed-off-by: Adam Ludkiewicz <adam.ludkiewicz@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- V2: * Modify commit message. --- drivers/net/i40e/base/i40e_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 46a0b7881..85c22849e 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -7097,7 +7097,7 @@ enum i40e_status_code i40e_get_lpi_counters(struct i40e_hw *hw, I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT, &cmd_status, tx_counter, rx_counter, NULL); - if (cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) + if (!retval && cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) retval = I40E_ERR_ADMIN_QUEUE_ERROR; return retval; -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH v2 5/8] net/i40e/base: fix possible uninitialized variable 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 5/8] net/i40e/base: fix possible uninitialized variable Guinan Sun @ 2020-07-27 6:45 ` Jeff Guo 0 siblings, 0 replies; 53+ messages in thread From: Jeff Guo @ 2020-07-27 6:45 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, stable, Adam Ludkiewicz Acked-by: Jeff Guo<jia.guo@intel.com> On 7/27/2020 1:34 PM, Guinan Sun wrote: > Fix possible uninitialized variable in i40e in the i40e_get_lpi_counters > function. > > Fixes: 429bdc0cd967 ("net/i40e/base: add function to read LPI counters") > Cc: stable@dpdk.org > > Signed-off-by: Adam Ludkiewicz <adam.ludkiewicz@intel.com> > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > V2: > * Modify commit message. > --- > drivers/net/i40e/base/i40e_common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c > index 46a0b7881..85c22849e 100644 > --- a/drivers/net/i40e/base/i40e_common.c > +++ b/drivers/net/i40e/base/i40e_common.c > @@ -7097,7 +7097,7 @@ enum i40e_status_code i40e_get_lpi_counters(struct i40e_hw *hw, > I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT, > &cmd_status, tx_counter, rx_counter, NULL); > > - if (cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) > + if (!retval && cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) > retval = I40E_ERR_ADMIN_QUEUE_ERROR; > > return retval; ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v2 6/8] net/i40e/base: support unused ports disabling 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun ` (4 preceding siblings ...) 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 5/8] net/i40e/base: fix possible uninitialized variable Guinan Sun @ 2020-07-27 5:34 ` Guinan Sun 2020-07-28 1:31 ` Jeff Guo 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 7/8] net/i40e/base: replace AQ command for NVM update Guinan Sun ` (3 subsequent siblings) 9 siblings, 1 reply; 53+ messages in thread From: Guinan Sun @ 2020-07-27 5:34 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Damian Milosek This patch adds support for disabling unused ports. Signed-off-by: Damian Milosek <damian.milosek@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- V2: * Modifiy title and message --- drivers/net/i40e/base/i40e_adminq_cmd.h | 1 + drivers/net/i40e/base/i40e_common.c | 6 ++++++ drivers/net/i40e/base/i40e_type.h | 1 + 3 files changed, 8 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index e1018ed49..c7686b0d3 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -440,6 +440,7 @@ struct i40e_aqc_list_capabilities_element_resp { #define I40E_AQ_CAP_ID_SDP 0x0062 #define I40E_AQ_CAP_ID_MDIO 0x0063 #define I40E_AQ_CAP_ID_WSR_PROT 0x0064 +#define I40E_AQ_CAP_ID_DIS_UNUSED_PORTS 0x0067 #define I40E_AQ_CAP_ID_NVM_MGMT 0x0080 #define I40E_AQ_CAP_ID_FLEX10 0x00F1 #define I40E_AQ_CAP_ID_CEM 0x00F2 diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 85c22849e..65317f6c6 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -4021,6 +4021,12 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff, "HW Capability: wr_csr_prot = 0x%llX\n\n", (p->wr_csr_prot & 0xffff)); break; + case I40E_AQ_CAP_ID_DIS_UNUSED_PORTS: + p->dis_unused_ports = (bool)number; + i40e_debug(hw, I40E_DEBUG_INIT, + "HW Capability: dis_unused_ports = %d\n\n", + p->dis_unused_ports); + break; case I40E_AQ_CAP_ID_NVM_MGMT: if (number & I40E_NVM_MGMT_SEC_REV_DISABLED) p->sec_rev_disabled = true; diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index 0eeb55975..cf4134583 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -425,6 +425,7 @@ struct i40e_hw_capabilities { u32 enabled_tcmap; u32 maxtc; u64 wr_csr_prot; + bool dis_unused_ports; bool apm_wol_support; enum i40e_acpi_programming_method acpi_prog_method; bool proxy_support; -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH v2 6/8] net/i40e/base: support unused ports disabling 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 6/8] net/i40e/base: support unused ports disabling Guinan Sun @ 2020-07-28 1:31 ` Jeff Guo 0 siblings, 0 replies; 53+ messages in thread From: Jeff Guo @ 2020-07-28 1:31 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, Damian Milosek Acked-by: Jeff Guo <jia.guo@intel.com> On 7/27/2020 1:34 PM, Guinan Sun wrote: > This patch adds support for disabling unused ports. > > Signed-off-by: Damian Milosek <damian.milosek@intel.com> > Signed-off-by: Guinan Sun <guinanx.sun@intel.com> > --- > V2: > * Modifiy title and message > --- > drivers/net/i40e/base/i40e_adminq_cmd.h | 1 + > drivers/net/i40e/base/i40e_common.c | 6 ++++++ > drivers/net/i40e/base/i40e_type.h | 1 + > 3 files changed, 8 insertions(+) > > diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h > index e1018ed49..c7686b0d3 100644 > --- a/drivers/net/i40e/base/i40e_adminq_cmd.h > +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h > @@ -440,6 +440,7 @@ struct i40e_aqc_list_capabilities_element_resp { > #define I40E_AQ_CAP_ID_SDP 0x0062 > #define I40E_AQ_CAP_ID_MDIO 0x0063 > #define I40E_AQ_CAP_ID_WSR_PROT 0x0064 > +#define I40E_AQ_CAP_ID_DIS_UNUSED_PORTS 0x0067 > #define I40E_AQ_CAP_ID_NVM_MGMT 0x0080 > #define I40E_AQ_CAP_ID_FLEX10 0x00F1 > #define I40E_AQ_CAP_ID_CEM 0x00F2 > diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c > index 85c22849e..65317f6c6 100644 > --- a/drivers/net/i40e/base/i40e_common.c > +++ b/drivers/net/i40e/base/i40e_common.c > @@ -4021,6 +4021,12 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff, > "HW Capability: wr_csr_prot = 0x%llX\n\n", > (p->wr_csr_prot & 0xffff)); > break; > + case I40E_AQ_CAP_ID_DIS_UNUSED_PORTS: > + p->dis_unused_ports = (bool)number; > + i40e_debug(hw, I40E_DEBUG_INIT, > + "HW Capability: dis_unused_ports = %d\n\n", > + p->dis_unused_ports); > + break; > case I40E_AQ_CAP_ID_NVM_MGMT: > if (number & I40E_NVM_MGMT_SEC_REV_DISABLED) > p->sec_rev_disabled = true; > diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h > index 0eeb55975..cf4134583 100644 > --- a/drivers/net/i40e/base/i40e_type.h > +++ b/drivers/net/i40e/base/i40e_type.h > @@ -425,6 +425,7 @@ struct i40e_hw_capabilities { > u32 enabled_tcmap; > u32 maxtc; > u64 wr_csr_prot; > + bool dis_unused_ports; > bool apm_wol_support; > enum i40e_acpi_programming_method acpi_prog_method; > bool proxy_support; ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v2 7/8] net/i40e/base: replace AQ command for NVM update 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun ` (5 preceding siblings ...) 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 6/8] net/i40e/base: support unused ports disabling Guinan Sun @ 2020-07-27 5:34 ` Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 8/8] net/i40e/base: update version Guinan Sun ` (2 subsequent siblings) 9 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-07-27 5:34 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Jaroslaw Ilgiewicz Add AQ command "NVM update in process" to replace the original AQ command "NVM progress". Signed-off-by: Jaroslaw Ilgiewicz <jaroslaw.ilgiewicz@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- V2: * Add Acked-by --- drivers/net/i40e/base/i40e_adminq_cmd.h | 12 +++++- drivers/net/i40e/base/i40e_common.c | 53 +++++++++++++++---------- drivers/net/i40e/base/i40e_prototype.h | 6 ++- 3 files changed, 46 insertions(+), 25 deletions(-) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index c7686b0d3..0766e69a8 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -240,7 +240,7 @@ enum i40e_admin_queue_opc { i40e_aqc_opc_nvm_update = 0x0703, i40e_aqc_opc_nvm_config_read = 0x0704, i40e_aqc_opc_nvm_config_write = 0x0705, - i40e_aqc_opc_nvm_progress = 0x0706, + i40e_aqc_opc_nvm_update_in_process = 0x0706, i40e_aqc_opc_oem_post_update = 0x0720, i40e_aqc_opc_thermal_sensor = 0x0721, @@ -2400,6 +2400,16 @@ struct i40e_aqc_nvm_config_data_feature { I40E_CHECK_STRUCT_LEN(0x6, i40e_aqc_nvm_config_data_feature); +/* NVM Update in Process (direct 0x0706) */ +struct i40e_aqc_nvm_update_in_process { + u8 command; +#define I40E_AQ_UPDATE_FLOW_END 0x0 +#define I40E_AQ_UPDATE_FLOW_START 0x1 + u8 reserved[15]; +}; + +I40E_CHECK_CMD_LENGTH(i40e_aqc_nvm_update_in_process); + struct i40e_aqc_nvm_config_data_immediate_field { __le32 field_id; __le32 field_value; diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 65317f6c6..6c6fb4de4 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -3686,6 +3686,37 @@ enum i40e_status_code i40e_aq_write_nvm_config(struct i40e_hw *hw, return status; } +/** + * i40e_aq_nvm_update_in_process + * @hw: pointer to the hw struct + * @update_flow_state: True indicates that update flow starts, false that ends + * @cmd_details: pointer to command details structure or NULL + * + * Indicate NVM update in process. + **/ +enum i40e_status_code +i40e_aq_nvm_update_in_process(struct i40e_hw *hw, + bool update_flow_state, + struct i40e_asq_cmd_details *cmd_details) +{ + struct i40e_aq_desc desc; + struct i40e_aqc_nvm_update_in_process *cmd = + (struct i40e_aqc_nvm_update_in_process *)&desc.params.raw; + enum i40e_status_code status; + + i40e_fill_default_direct_cmd_desc(&desc, + i40e_aqc_opc_nvm_update_in_process); + + cmd->command = I40E_AQ_UPDATE_FLOW_END; + + if (update_flow_state) + cmd->command |= I40E_AQ_UPDATE_FLOW_START; + + status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); + + return status; +} + /** * i40e_aq_oem_post_update - triggers an OEM specific flow after update * @hw: pointer to the hw struct @@ -4257,28 +4288,6 @@ enum i40e_status_code i40e_aq_rearrange_nvm(struct i40e_hw *hw, return status; } -/** - * i40e_aq_nvm_progress - * @hw: pointer to the hw struct - * @progress: pointer to progress returned from AQ - * @cmd_details: pointer to command details structure or NULL - * - * Gets progress of flash rearrangement process - **/ -enum i40e_status_code i40e_aq_nvm_progress(struct i40e_hw *hw, u8 *progress, - struct i40e_asq_cmd_details *cmd_details) -{ - enum i40e_status_code status; - struct i40e_aq_desc desc; - - DEBUGFUNC("i40e_aq_nvm_progress"); - - i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_nvm_progress); - status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); - *progress = desc.params.raw[0]; - return status; -} - /** * i40e_aq_get_lldp_mib * @hw: pointer to the hw struct diff --git a/drivers/net/i40e/base/i40e_prototype.h b/drivers/net/i40e/base/i40e_prototype.h index 91fa23491..9a89f3002 100644 --- a/drivers/net/i40e/base/i40e_prototype.h +++ b/drivers/net/i40e/base/i40e_prototype.h @@ -254,8 +254,10 @@ enum i40e_status_code i40e_aq_update_nvm(struct i40e_hw *hw, u8 module_pointer, enum i40e_status_code i40e_aq_rearrange_nvm(struct i40e_hw *hw, u8 rearrange_nvm, struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code i40e_aq_nvm_progress(struct i40e_hw *hw, u8 *progress, - struct i40e_asq_cmd_details *cmd_details); +enum i40e_status_code +i40e_aq_nvm_update_in_process(struct i40e_hw *hw, + bool update_flow_state, + struct i40e_asq_cmd_details *cmd_details); enum i40e_status_code i40e_aq_get_lldp_mib(struct i40e_hw *hw, u8 bridge_type, u8 mib_type, void *buff, u16 buff_size, u16 *local_len, u16 *remote_len, -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v2 8/8] net/i40e/base: update version 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun ` (6 preceding siblings ...) 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 7/8] net/i40e/base: replace AQ command for NVM update Guinan Sun @ 2020-07-27 5:34 ` Guinan Sun 2020-07-28 1:32 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Jeff Guo 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun 9 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-07-27 5:34 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun Update base code version in readme. Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- V2: * Add Acked-by --- drivers/net/i40e/base/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/README b/drivers/net/i40e/base/README index 6baca4360..58174d472 100644 --- a/drivers/net/i40e/base/README +++ b/drivers/net/i40e/base/README @@ -6,7 +6,7 @@ Intel® I40E driver ================== This directory contains source code of FreeBSD i40e driver of version -cid-i40e.2020.03.04.tar.gz released by the team which develops +cid-i40e.2020.07.16.tar.gz released by the team which develops basic drivers for any i40e NIC. The directory of base/ contains the original source package. This driver is valid for the product(s) listed below -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH v2 0/8] update i40e base code 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun ` (7 preceding siblings ...) 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 8/8] net/i40e/base: update version Guinan Sun @ 2020-07-28 1:32 ` Jeff Guo 2020-08-31 3:58 ` Zhang, Qi Z 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun 9 siblings, 1 reply; 53+ messages in thread From: Jeff Guo @ 2020-07-28 1:32 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing Acked-by: Jeff Guo <jia.guo@intel.com> On 7/27/2020 1:34 PM, Guinan Sun wrote: > update i40e base code. > > source code of i40e driver: > cid-i40e.2020.07.16.tar.gz dropped by the team which develop > basic drivers for any i40e NIC. > > changelog in ND share repo: > From fc99a1143d3f ("i40e-shared: FEC on/off support flag for X722") > To 673ff35c1c73 ("i40e-shared: Add support for firmware lockdown") > > The following commits are ignored. > ea2cd04e5db1 ("i40e-shared: do AQ calls without sleeping by default") > 4eec86f12992 ("i40e-shared: Fix undeclared i40e_asq_send_command() function") > 9d60cec99eb7 ("i40e-shared: Send rx ctl write command in atomic context") > a204afdc1cad ("i40e-shared: Send uc/mc commands in atomic context") > d22f8cb2a111 ("i40e-shared: Send commands in atomic context") > 136a7d931a45 ("i40e-shared: Fix improper preprocessor conditional") > > Guinan Sun (8): > net/i40e/base: enable FEC on/off flag setting for X722 > net/i40e/base: add PTYPE definition > net/i40e/base: add new custom cloud filter types > net/i40e/base: update FW API version to 1.11 > net/i40e/base: fix possible uninitialized variable > net/i40e/base: support unused ports disabling > net/i40e/base: replace AQ command for NVM update > net/i40e/base: update version > > drivers/net/i40e/base/README | 2 +- > drivers/net/i40e/base/i40e_adminq.c | 6 +++ > drivers/net/i40e/base/i40e_adminq_cmd.h | 19 +++++++- > drivers/net/i40e/base/i40e_common.c | 61 +++++++++++++++---------- > drivers/net/i40e/base/i40e_prototype.h | 6 ++- > drivers/net/i40e/base/i40e_type.h | 5 +- > 6 files changed, 70 insertions(+), 29 deletions(-) > ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH v2 0/8] update i40e base code 2020-07-28 1:32 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Jeff Guo @ 2020-08-31 3:58 ` Zhang, Qi Z 0 siblings, 0 replies; 53+ messages in thread From: Zhang, Qi Z @ 2020-08-31 3:58 UTC (permalink / raw) To: Guo, Jia, Sun, GuinanX, dev; +Cc: Xing, Beilei > -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Jeff Guo > Sent: Tuesday, July 28, 2020 9:33 AM > To: Sun, GuinanX <guinanx.sun@intel.com>; dev@dpdk.org > Cc: Xing, Beilei <beilei.xing@intel.com> > Subject: Re: [dpdk-dev] [PATCH v2 0/8] update i40e base code > > Acked-by: Jeff Guo <jia.guo@intel.com> > > On 7/27/2020 1:34 PM, Guinan Sun wrote: > > update i40e base code. > > > > source code of i40e driver: > > cid-i40e.2020.07.16.tar.gz dropped by the team which develop basic > > drivers for any i40e NIC. > > > > changelog in ND share repo: > > From fc99a1143d3f ("i40e-shared: FEC on/off support flag for X722") > > To 673ff35c1c73 ("i40e-shared: Add support for firmware lockdown") > > > > The following commits are ignored. > > ea2cd04e5db1 ("i40e-shared: do AQ calls without sleeping by default") > > 4eec86f12992 ("i40e-shared: Fix undeclared i40e_asq_send_command() > > function") > > 9d60cec99eb7 ("i40e-shared: Send rx ctl write command in atomic > > context") a204afdc1cad ("i40e-shared: Send uc/mc commands in atomic > > context") > > d22f8cb2a111 ("i40e-shared: Send commands in atomic context") > > 136a7d931a45 ("i40e-shared: Fix improper preprocessor conditional") > > > > Guinan Sun (8): > > net/i40e/base: enable FEC on/off flag setting for X722 > > net/i40e/base: add PTYPE definition > > net/i40e/base: add new custom cloud filter types > > net/i40e/base: update FW API version to 1.11 > > net/i40e/base: fix possible uninitialized variable > > net/i40e/base: support unused ports disabling > > net/i40e/base: replace AQ command for NVM update > > net/i40e/base: update version > > > > drivers/net/i40e/base/README | 2 +- > > drivers/net/i40e/base/i40e_adminq.c | 6 +++ > > drivers/net/i40e/base/i40e_adminq_cmd.h | 19 +++++++- > > drivers/net/i40e/base/i40e_common.c | 61 +++++++++++++++---------- > > drivers/net/i40e/base/i40e_prototype.h | 6 ++- > > drivers/net/i40e/base/i40e_type.h | 5 +- > > 6 files changed, 70 insertions(+), 29 deletions(-) > > Applied to dpdk-next-net-intel. Thanks Qi ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 00/15] update i40e base code 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun ` (8 preceding siblings ...) 2020-07-28 1:32 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Jeff Guo @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 01/15] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun ` (15 more replies) 9 siblings, 16 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun update i40e base code. source code of i40e driver: cid-i40e.2020.08.27.tar.gz dropped by the team which develop basic drivers for any i40e NIC. changelog in ND share repo: From fc99a1143d3f ("i40e-shared: FEC on/off support flag for X722") To 1a82d59f0797 ("i40e-shared: Fix PHY configuration parameters when enabling EEE") The following commits are ignored. ea2cd04e5db1 ("i40e-shared: do AQ calls without sleeping by default") 4eec86f12992 ("i40e-shared: Fix undeclared i40e_asq_send_command() function") 9d60cec99eb7 ("i40e-shared: Send rx ctl write command in atomic context") a204afdc1cad ("i40e-shared: Send uc/mc commands in atomic context") d22f8cb2a111 ("i40e-shared: Send commands in atomic context") 136a7d931a45 ("i40e-shared: Fix improper preprocessor conditional") 5b7d5a698092 ("i40e-shared: use linux packing style") f16fa495c503 ("i40e-shared: Fix compilation issue with __packed") Guinan Sun (15): net/i40e/base: enable FEC on/off flag setting for X722 net/i40e/base: add PTYPE definition net/i40e/base: add new custom cloud filter types net/i40e/base: update FW API version to 1.12 net/i40e/base: fix possible uninitialized variable net/i40e/base: support unused ports disabling net/i40e/base: replace AQ command for NVM update net/i40e/base: add VLAN field for input set net/i40e/base: enable pipe monitor thresholds net/i40e/base: fix missing function header arguments net/i40e/base: add support for Minimum Rollback Revision net/i40e/base: fix Rx only mode for unicast promisc on VLAN net/i40e/base: add EEE LPI status check for X722 adapters net/i40e/base: fix PHY config param when enabling EEE net/i40e/base: update version drivers/net/i40e/base/README | 2 +- drivers/net/i40e/base/i40e_adminq.c | 6 + drivers/net/i40e/base/i40e_adminq_cmd.h | 41 ++++++- drivers/net/i40e/base/i40e_common.c | 143 ++++++++++++++++++------ drivers/net/i40e/base/i40e_dcb.c | 4 +- drivers/net/i40e/base/i40e_prototype.h | 10 +- drivers/net/i40e/base/i40e_register.h | 3 + drivers/net/i40e/base/i40e_type.h | 7 +- 8 files changed, 172 insertions(+), 44 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 01/15] net/i40e/base: enable FEC on/off flag setting for X722 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 02/15] net/i40e/base: add PTYPE definition Guinan Sun ` (14 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Dawid Lukwinski Starting with API version 1.10 firmware for X722 devices has ability to change FEC settings in PHY. Code added in this patch checks API version and sets appropriate capability flag. Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- drivers/net/i40e/base/i40e_adminq.c | 6 ++++++ drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ drivers/net/i40e/base/i40e_type.h | 1 + 3 files changed, 9 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c index c89e1fb3f..0da45f03e 100644 --- a/drivers/net/i40e/base/i40e_adminq.c +++ b/drivers/net/i40e/base/i40e_adminq.c @@ -603,6 +603,12 @@ STATIC void i40e_set_hw_flags(struct i40e_hw *hw) (aq->api_maj_ver == 1 && aq->api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_X722)) hw->flags |= I40E_HW_FLAG_AQ_PHY_ACCESS_CAPABLE; + + if (aq->api_maj_ver > 1 || + (aq->api_maj_ver == 1 && + aq->api_min_ver >= I40E_MINOR_VER_FW_REQUEST_FEC_X722)) + hw->flags |= I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE; + /* fall through */ default: break; diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index 1905167f5..f790183be 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -25,6 +25,8 @@ #define I40E_MINOR_VER_GET_LINK_INFO_X722 0x0009 /* API version 1.6 for X722 devices adds ability to stop FW LLDP agent */ #define I40E_MINOR_VER_FW_LLDP_STOPPABLE_X722 0x0006 +/* API version 1.10 for X722 devices adds ability to request FEC encoding */ +#define I40E_MINOR_VER_FW_REQUEST_FEC_X722 0x000A struct i40e_aq_desc { __le16 flags; diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index 014a4c132..b5b5b928d 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -745,6 +745,7 @@ struct i40e_hw { #define I40E_HW_FLAG_FW_LLDP_PERSISTENT BIT_ULL(5) #define I40E_HW_FLAG_AQ_PHY_ACCESS_EXTENDED BIT_ULL(6) #define I40E_HW_FLAG_DROP_MODE BIT_ULL(7) +#define I40E_HW_FLAG_X722_FEC_REQUEST_CAPABLE BIT_ULL(8) u64 flags; /* Used in set switch config AQ command */ -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 02/15] net/i40e/base: add PTYPE definition 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 01/15] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 03/15] net/i40e/base: add new custom cloud filter types Guinan Sun ` (13 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Przemyslaw Patynowski Add I40E_RX_PTYPE_PARSER_ABORTED definition, so i40e driver will know opcode for parser aborted packets. Without this definition driver would have to rely on magic numbers. Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- drivers/net/i40e/base/i40e_type.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index b5b5b928d..0eeb55975 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -961,7 +961,8 @@ enum i40e_rx_l2_ptype { I40E_RX_PTYPE_GRENAT4_MAC_PAY3 = 58, I40E_RX_PTYPE_GRENAT4_MACVLAN_IPV6_ICMP_PAY4 = 87, I40E_RX_PTYPE_GRENAT6_MAC_PAY3 = 124, - I40E_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4 = 153 + I40E_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4 = 153, + I40E_RX_PTYPE_PARSER_ABORTED = 255 }; struct i40e_rx_ptype_decoded { -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 03/15] net/i40e/base: add new custom cloud filter types 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 01/15] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 02/15] net/i40e/base: add PTYPE definition Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 04/15] net/i40e/base: update FW API version to 1.12 Guinan Sun ` (12 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Harshitha Ramamurthy This patch adds the new filter types needed for custom cloud filters. These custom cloud filters will route traffic to VFs based on the dst IP for both tunneled and non-tunneled packets. Signed-off-by: Harshitha Ramamurthy <harshitha.ramamurthy@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- drivers/net/i40e/base/i40e_adminq_cmd.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index f790183be..21f544840 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -1406,6 +1406,8 @@ struct i40e_aqc_cloud_filters_element_data { #define I40E_AQC_ADD_CLOUD_FILTER_IMAC 0x000A #define I40E_AQC_ADD_CLOUD_FILTER_OMAC_TEN_ID_IMAC 0x000B #define I40E_AQC_ADD_CLOUD_FILTER_IIP 0x000C +#define I40E_AQC_ADD_CLOUD_FILTER_OIP1 0x0010 +#define I40E_AQC_ADD_CLOUD_FILTER_OIP2 0x0012 /* 0x000D reserved */ /* 0x000E reserved */ /* 0x000F reserved */ -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 04/15] net/i40e/base: update FW API version to 1.12 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (2 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 03/15] net/i40e/base: add new custom cloud filter types Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 05/15] net/i40e/base: fix possible uninitialized variable Guinan Sun ` (11 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Jacek Naczyk Upcoming FW increment API version to 1.12 due to new bit and new fields in the Replace Cloud Filters AQ command. Signed-off-by: Jacek Naczyk <jacek.naczyk@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- drivers/net/i40e/base/i40e_adminq_cmd.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index 21f544840..ba4b27f4d 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -12,8 +12,8 @@ */ #define I40E_FW_API_VERSION_MAJOR 0x0001 -#define I40E_FW_API_VERSION_MINOR_X722 0x000A -#define I40E_FW_API_VERSION_MINOR_X710 0x000A +#define I40E_FW_API_VERSION_MINOR_X722 0x000B +#define I40E_FW_API_VERSION_MINOR_X710 0x000C #define I40E_FW_MINOR_VERSION(_h) ((_h)->mac.type == I40E_MAC_XL710 ? \ I40E_FW_API_VERSION_MINOR_X710 : \ -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 05/15] net/i40e/base: fix possible uninitialized variable 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (3 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 04/15] net/i40e/base: update FW API version to 1.12 Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 06/15] net/i40e/base: support unused ports disabling Guinan Sun ` (10 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, stable, Adam Ludkiewicz Fix possible uninitialized variable in i40e in the i40e_get_lpi_counters function. Fixes: 429bdc0cd967 ("net/i40e/base: add function to read LPI counters") Cc: stable@dpdk.org Signed-off-by: Adam Ludkiewicz <adam.ludkiewicz@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- drivers/net/i40e/base/i40e_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 46a0b7881..85c22849e 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -7097,7 +7097,7 @@ enum i40e_status_code i40e_get_lpi_counters(struct i40e_hw *hw, I40E_AQ_RUN_PHY_ACT_DNL_OPCODE_GET_EEE_STAT, &cmd_status, tx_counter, rx_counter, NULL); - if (cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) + if (!retval && cmd_status != I40E_AQ_RUN_PHY_ACT_CMD_STAT_SUCC) retval = I40E_ERR_ADMIN_QUEUE_ERROR; return retval; -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 06/15] net/i40e/base: support unused ports disabling 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (4 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 05/15] net/i40e/base: fix possible uninitialized variable Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 07/15] net/i40e/base: replace AQ command for NVM update Guinan Sun ` (9 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Damian Milosek This patch adds support for disabling unused ports. Signed-off-by: Damian Milosek <damian.milosek@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- drivers/net/i40e/base/i40e_adminq_cmd.h | 1 + drivers/net/i40e/base/i40e_common.c | 6 ++++++ drivers/net/i40e/base/i40e_type.h | 1 + 3 files changed, 8 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index ba4b27f4d..439669ef9 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -440,6 +440,7 @@ struct i40e_aqc_list_capabilities_element_resp { #define I40E_AQ_CAP_ID_SDP 0x0062 #define I40E_AQ_CAP_ID_MDIO 0x0063 #define I40E_AQ_CAP_ID_WSR_PROT 0x0064 +#define I40E_AQ_CAP_ID_DIS_UNUSED_PORTS 0x0067 #define I40E_AQ_CAP_ID_NVM_MGMT 0x0080 #define I40E_AQ_CAP_ID_FLEX10 0x00F1 #define I40E_AQ_CAP_ID_CEM 0x00F2 diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 85c22849e..65317f6c6 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -4021,6 +4021,12 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff, "HW Capability: wr_csr_prot = 0x%llX\n\n", (p->wr_csr_prot & 0xffff)); break; + case I40E_AQ_CAP_ID_DIS_UNUSED_PORTS: + p->dis_unused_ports = (bool)number; + i40e_debug(hw, I40E_DEBUG_INIT, + "HW Capability: dis_unused_ports = %d\n\n", + p->dis_unused_ports); + break; case I40E_AQ_CAP_ID_NVM_MGMT: if (number & I40E_NVM_MGMT_SEC_REV_DISABLED) p->sec_rev_disabled = true; diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index 0eeb55975..cf4134583 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -425,6 +425,7 @@ struct i40e_hw_capabilities { u32 enabled_tcmap; u32 maxtc; u64 wr_csr_prot; + bool dis_unused_ports; bool apm_wol_support; enum i40e_acpi_programming_method acpi_prog_method; bool proxy_support; -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 07/15] net/i40e/base: replace AQ command for NVM update 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (5 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 06/15] net/i40e/base: support unused ports disabling Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 08/15] net/i40e/base: add VLAN field for input set Guinan Sun ` (8 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Jaroslaw Ilgiewicz Add AQ command "NVM update in process" to replace the original AQ command "NVM progress". Signed-off-by: Jaroslaw Ilgiewicz <jaroslaw.ilgiewicz@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- drivers/net/i40e/base/i40e_adminq_cmd.h | 12 +++++- drivers/net/i40e/base/i40e_common.c | 53 +++++++++++++++---------- drivers/net/i40e/base/i40e_prototype.h | 6 ++- 3 files changed, 46 insertions(+), 25 deletions(-) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index 439669ef9..9ef01f371 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -240,7 +240,7 @@ enum i40e_admin_queue_opc { i40e_aqc_opc_nvm_update = 0x0703, i40e_aqc_opc_nvm_config_read = 0x0704, i40e_aqc_opc_nvm_config_write = 0x0705, - i40e_aqc_opc_nvm_progress = 0x0706, + i40e_aqc_opc_nvm_update_in_process = 0x0706, i40e_aqc_opc_oem_post_update = 0x0720, i40e_aqc_opc_thermal_sensor = 0x0721, @@ -2400,6 +2400,16 @@ struct i40e_aqc_nvm_config_data_feature { I40E_CHECK_STRUCT_LEN(0x6, i40e_aqc_nvm_config_data_feature); +/* NVM Update in Process (direct 0x0706) */ +struct i40e_aqc_nvm_update_in_process { + u8 command; +#define I40E_AQ_UPDATE_FLOW_END 0x0 +#define I40E_AQ_UPDATE_FLOW_START 0x1 + u8 reserved[15]; +}; + +I40E_CHECK_CMD_LENGTH(i40e_aqc_nvm_update_in_process); + struct i40e_aqc_nvm_config_data_immediate_field { __le32 field_id; __le32 field_value; diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 65317f6c6..6c6fb4de4 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -3686,6 +3686,37 @@ enum i40e_status_code i40e_aq_write_nvm_config(struct i40e_hw *hw, return status; } +/** + * i40e_aq_nvm_update_in_process + * @hw: pointer to the hw struct + * @update_flow_state: True indicates that update flow starts, false that ends + * @cmd_details: pointer to command details structure or NULL + * + * Indicate NVM update in process. + **/ +enum i40e_status_code +i40e_aq_nvm_update_in_process(struct i40e_hw *hw, + bool update_flow_state, + struct i40e_asq_cmd_details *cmd_details) +{ + struct i40e_aq_desc desc; + struct i40e_aqc_nvm_update_in_process *cmd = + (struct i40e_aqc_nvm_update_in_process *)&desc.params.raw; + enum i40e_status_code status; + + i40e_fill_default_direct_cmd_desc(&desc, + i40e_aqc_opc_nvm_update_in_process); + + cmd->command = I40E_AQ_UPDATE_FLOW_END; + + if (update_flow_state) + cmd->command |= I40E_AQ_UPDATE_FLOW_START; + + status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); + + return status; +} + /** * i40e_aq_oem_post_update - triggers an OEM specific flow after update * @hw: pointer to the hw struct @@ -4257,28 +4288,6 @@ enum i40e_status_code i40e_aq_rearrange_nvm(struct i40e_hw *hw, return status; } -/** - * i40e_aq_nvm_progress - * @hw: pointer to the hw struct - * @progress: pointer to progress returned from AQ - * @cmd_details: pointer to command details structure or NULL - * - * Gets progress of flash rearrangement process - **/ -enum i40e_status_code i40e_aq_nvm_progress(struct i40e_hw *hw, u8 *progress, - struct i40e_asq_cmd_details *cmd_details) -{ - enum i40e_status_code status; - struct i40e_aq_desc desc; - - DEBUGFUNC("i40e_aq_nvm_progress"); - - i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_nvm_progress); - status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); - *progress = desc.params.raw[0]; - return status; -} - /** * i40e_aq_get_lldp_mib * @hw: pointer to the hw struct diff --git a/drivers/net/i40e/base/i40e_prototype.h b/drivers/net/i40e/base/i40e_prototype.h index 91fa23491..9a89f3002 100644 --- a/drivers/net/i40e/base/i40e_prototype.h +++ b/drivers/net/i40e/base/i40e_prototype.h @@ -254,8 +254,10 @@ enum i40e_status_code i40e_aq_update_nvm(struct i40e_hw *hw, u8 module_pointer, enum i40e_status_code i40e_aq_rearrange_nvm(struct i40e_hw *hw, u8 rearrange_nvm, struct i40e_asq_cmd_details *cmd_details); -enum i40e_status_code i40e_aq_nvm_progress(struct i40e_hw *hw, u8 *progress, - struct i40e_asq_cmd_details *cmd_details); +enum i40e_status_code +i40e_aq_nvm_update_in_process(struct i40e_hw *hw, + bool update_flow_state, + struct i40e_asq_cmd_details *cmd_details); enum i40e_status_code i40e_aq_get_lldp_mib(struct i40e_hw *hw, u8 bridge_type, u8 mib_type, void *buff, u16 buff_size, u16 *local_len, u16 *remote_len, -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 08/15] net/i40e/base: add VLAN field for input set 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (6 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 07/15] net/i40e/base: replace AQ command for NVM update Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 09/15] net/i40e/base: enable pipe monitor thresholds Guinan Sun ` (7 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Przemyslaw Patynowski Add VLAN bit used during flow director programming, as a part of input set for HW. Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_type.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/i40e/base/i40e_type.h b/drivers/net/i40e/base/i40e_type.h index cf4134583..c8e7164e1 100644 --- a/drivers/net/i40e/base/i40e_type.h +++ b/drivers/net/i40e/base/i40e_type.h @@ -1926,6 +1926,8 @@ struct i40e_lldp_variables { #define I40E_L4_DST_MASK (0x1ULL << I40E_L4_DST_SHIFT) #define I40E_VERIFY_TAG_SHIFT 31 #define I40E_VERIFY_TAG_MASK (0x3ULL << I40E_VERIFY_TAG_SHIFT) +#define I40E_VLAN_SRC_SHIFT 55 +#define I40E_VLAN_SRC_MASK (0x1ULL << I40E_VLAN_SRC_SHIFT) #define I40E_FLEX_50_SHIFT 13 #define I40E_FLEX_50_MASK (0x1ULL << I40E_FLEX_50_SHIFT) -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 09/15] net/i40e/base: enable pipe monitor thresholds 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (7 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 08/15] net/i40e/base: add VLAN field for input set Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 10/15] net/i40e/base: fix missing function header arguments Guinan Sun ` (6 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Jesse Brandeburg Enable several registers and defines for software controlled DCB, particularly around the receive pipe monitor configuration which is necessary to help ports achieve the right throughput under load in several different configurations. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_register.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/i40e/base/i40e_register.h b/drivers/net/i40e/base/i40e_register.h index ee4f333f9..ee443e9c9 100644 --- a/drivers/net/i40e/base/i40e_register.h +++ b/drivers/net/i40e/base/i40e_register.h @@ -203,6 +203,9 @@ #define I40E_VFCM_PE_ERRINFO1_RLU_ERROR_CNT_MASK I40E_MASK(0xFF, I40E_VFCM_PE_ERRINFO1_RLU_ERROR_CNT_SHIFT) #define I40E_VFCM_PE_ERRINFO1_RLS_ERROR_CNT_SHIFT 24 #define I40E_VFCM_PE_ERRINFO1_RLS_ERROR_CNT_MASK I40E_MASK(0xFF, I40E_VFCM_PE_ERRINFO1_RLS_ERROR_CNT_SHIFT) +#define I40E_PRT_SWR_PM_THR 0x0026CD00 /* Reset: CORER */ +#define I40E_PRT_SWR_PM_THR_THRESHOLD_SHIFT 0 +#define I40E_PRT_SWR_PM_THR_THRESHOLD_MASK I40E_MASK(0xFF, I40E_PRT_SWR_PM_THR_THRESHOLD_SHIFT) #define I40E_GLDCB_GENC 0x00083044 /* Reset: CORER */ #define I40E_GLDCB_GENC_PCIRTT_SHIFT 0 #define I40E_GLDCB_GENC_PCIRTT_MASK I40E_MASK(0xFFFF, I40E_GLDCB_GENC_PCIRTT_SHIFT) -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 10/15] net/i40e/base: fix missing function header arguments 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (8 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 09/15] net/i40e/base: enable pipe monitor thresholds Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 11/15] net/i40e/base: add support for Minimum Rollback Revision Guinan Sun ` (5 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, stable, Jesse Brandeburg Some arguments in function headers were forgotten, and found by automated testing. Fix them by adding the argument descriptions. Fixes: 0d9d27bb8684 ("i40e/base: prepare local LLDP MIB in TLV") Cc: stable@dpdk.org Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_dcb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/i40e_dcb.c b/drivers/net/i40e/base/i40e_dcb.c index a07c61e67..a5f6dcfe4 100644 --- a/drivers/net/i40e/base/i40e_dcb.c +++ b/drivers/net/i40e/base/i40e_dcb.c @@ -975,6 +975,7 @@ i40e_get_fw_lldp_status(struct i40e_hw *hw, return ret; } + /** * i40e_add_ieee_ets_tlv - Prepare ETS TLV in IEEE format * @tlv: Fill the ETS config data in IEEE format @@ -1267,7 +1268,8 @@ enum i40e_status_code i40e_set_dcb_config(struct i40e_hw *hw) /** * i40e_dcb_config_to_lldp - Convert Dcbconfig to MIB format - * @hw: pointer to the hw struct + * @lldpmib: pointer to mib to be output + * @miblen: pointer to u16 for length of lldpmib * @dcbcfg: store for LLDPDU data * * send DCB configuration to FW -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 11/15] net/i40e/base: add support for Minimum Rollback Revision 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (9 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 10/15] net/i40e/base: fix missing function header arguments Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 12/15] net/i40e/base: fix Rx only mode for unicast promisc on VLAN Guinan Sun ` (4 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Przemyslaw Ciesielski add support for Minimum Rollback Revision. Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_adminq_cmd.h | 18 +++++++++++++++ drivers/net/i40e/base/i40e_common.c | 29 +++++++++++++++++++++++++ drivers/net/i40e/base/i40e_prototype.h | 4 ++++ 3 files changed, 51 insertions(+) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index 9ef01f371..4db8cdd8c 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -241,6 +241,7 @@ enum i40e_admin_queue_opc { i40e_aqc_opc_nvm_config_read = 0x0704, i40e_aqc_opc_nvm_config_write = 0x0705, i40e_aqc_opc_nvm_update_in_process = 0x0706, + i40e_aqc_opc_rollback_revision_update = 0x0707, i40e_aqc_opc_oem_post_update = 0x0720, i40e_aqc_opc_thermal_sensor = 0x0721, @@ -2419,6 +2420,23 @@ struct i40e_aqc_nvm_config_data_immediate_field { I40E_CHECK_STRUCT_LEN(0xc, i40e_aqc_nvm_config_data_immediate_field); +/* Minimal Rollback Revision Update (direct 0x0707) */ +struct i40e_aqc_rollback_revision_update { + u8 optin_mode; /* bool */ +#define I40E_AQ_RREV_OPTIN_MODE 0x01 + u8 module_selected; +#define I40E_AQ_RREV_MODULE_PCIE_ANALOG 0 +#define I40E_AQ_RREV_MODULE_PHY_ANALOG 1 +#define I40E_AQ_RREV_MODULE_OPTION_ROM 2 +#define I40E_AQ_RREV_MODULE_EMP_IMAGE 3 +#define I40E_AQ_RREV_MODULE_PE_IMAGE 4 + u8 reserved1[2]; + u32 min_rrev; + u8 reserved2[8]; +}; + +I40E_CHECK_CMD_LENGTH(i40e_aqc_rollback_revision_update); + /* OEM Post Update (indirect 0x0720) * no command data struct used */ diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 6c6fb4de4..15f4e91a4 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -3717,6 +3717,35 @@ i40e_aq_nvm_update_in_process(struct i40e_hw *hw, return status; } +/** + * i40e_aq_min_rollback_rev_update - triggers an ow after update + * @hw: pointer to the hw struct + * @mode: opt-in mode, 1b for single module update, 0b for bulk update + * @module: module to be updated. Ignored if mode is 0b + * @min_rrev: value of the new minimal version. Ignored if mode is 0b + * @cmd_details: pointer to command details structure or NULL + **/ +enum i40e_status_code +i40e_aq_min_rollback_rev_update(struct i40e_hw *hw, u8 mode, u8 module, + u32 min_rrev, + struct i40e_asq_cmd_details *cmd_details) +{ + struct i40e_aq_desc desc; + struct i40e_aqc_rollback_revision_update *cmd = + (struct i40e_aqc_rollback_revision_update *)&desc.params.raw; + enum i40e_status_code status; + + i40e_fill_default_direct_cmd_desc(&desc, + i40e_aqc_opc_rollback_revision_update); + cmd->optin_mode = mode; + cmd->module_selected = module; + cmd->min_rrev = min_rrev; + + status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); + + return status; +} + /** * i40e_aq_oem_post_update - triggers an OEM specific flow after update * @hw: pointer to the hw struct diff --git a/drivers/net/i40e/base/i40e_prototype.h b/drivers/net/i40e/base/i40e_prototype.h index 9a89f3002..124222e47 100644 --- a/drivers/net/i40e/base/i40e_prototype.h +++ b/drivers/net/i40e/base/i40e_prototype.h @@ -240,6 +240,10 @@ enum i40e_status_code i40e_aq_write_nvm_config(struct i40e_hw *hw, u8 cmd_flags, void *data, u16 buf_size, u16 element_count, struct i40e_asq_cmd_details *cmd_details); +enum i40e_status_code +i40e_aq_min_rollback_rev_update(struct i40e_hw *hw, u8 mode, u8 module, + u32 min_rrev, + struct i40e_asq_cmd_details *cmd_details); enum i40e_status_code i40e_aq_oem_post_update(struct i40e_hw *hw, void *buff, u16 buff_size, struct i40e_asq_cmd_details *cmd_details); -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 12/15] net/i40e/base: fix Rx only mode for unicast promisc on VLAN 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (10 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 11/15] net/i40e/base: add support for Minimum Rollback Revision Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 13/15] net/i40e/base: add EEE LPI status check for X722 adapters Guinan Sun ` (3 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, stable, Przemyslaw Patynowski Set promiscuous mode to rx traffic only if VSI has VLANs configured. Rename misleading PROMISC_TX bit to proper name. Added I40E_AQC_SET_VSI_PROMISC_RX_ONLY during VSI unicast promiscuous mode configuration with port VLAN. Aligned unicast promiscuous with VLAN to the one without VLAN. Previously other VFs could listen to unicast tx traffic of other VFs. Fixes: 8db9e2a1b232 ("i40e: base driver") Cc: stable@dpdk.org Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_adminq_cmd.h | 2 +- drivers/net/i40e/base/i40e_common.c | 36 +++++++++++++++++++------ 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h index 4db8cdd8c..d6402a691 100644 --- a/drivers/net/i40e/base/i40e_adminq_cmd.h +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h @@ -1222,7 +1222,7 @@ struct i40e_aqc_set_vsi_promiscuous_modes { #define I40E_AQC_SET_VSI_PROMISC_BROADCAST 0x04 #define I40E_AQC_SET_VSI_DEFAULT 0x08 #define I40E_AQC_SET_VSI_PROMISC_VLAN 0x10 -#define I40E_AQC_SET_VSI_PROMISC_TX 0x8000 +#define I40E_AQC_SET_VSI_PROMISC_RX_ONLY 0x8000 __le16 seid; #define I40E_AQC_VSI_PROM_CMD_SEID_MASK 0x3FF __le16 vlan_tag; diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 15f4e91a4..cd8b27e40 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -2270,6 +2270,22 @@ enum i40e_status_code i40e_aq_set_phy_debug(struct i40e_hw *hw, u8 cmd_flags, return status; } +/** + * i40e_hw_ver_ge + * @hw: pointer to the hw struct + * @maj: api major value + * @min: api minor value + * + * Assert whether current HW api version is greater/equal than provided. + **/ +static bool i40e_hw_ver_ge(struct i40e_hw *hw, u16 maj, u16 min) +{ + if (hw->aq.api_maj_ver > maj || + (hw->aq.api_maj_ver == maj && hw->aq.api_min_ver >= min)) + return true; + return false; +} + /** * i40e_aq_add_vsi * @hw: pointer to the hw struct @@ -2395,18 +2411,16 @@ enum i40e_status_code i40e_aq_set_vsi_unicast_promiscuous(struct i40e_hw *hw, if (set) { flags |= I40E_AQC_SET_VSI_PROMISC_UNICAST; - if (rx_only_promisc && - (((hw->aq.api_maj_ver == 1) && (hw->aq.api_min_ver >= 5)) || - (hw->aq.api_maj_ver > 1))) - flags |= I40E_AQC_SET_VSI_PROMISC_TX; + if (rx_only_promisc && i40e_hw_ver_ge(hw, 1, 5)) + flags |= I40E_AQC_SET_VSI_PROMISC_RX_ONLY; } cmd->promiscuous_flags = CPU_TO_LE16(flags); cmd->valid_flags = CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_UNICAST); - if (((hw->aq.api_maj_ver >= 1) && (hw->aq.api_min_ver >= 5)) || - (hw->aq.api_maj_ver > 1)) - cmd->valid_flags |= CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_TX); + if (i40e_hw_ver_ge(hw, 1, 5)) + cmd->valid_flags |= + CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_RX_ONLY); cmd->seid = CPU_TO_LE16(seid); status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details); @@ -2538,11 +2552,17 @@ enum i40e_status_code i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw, i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_vsi_promiscuous_modes); - if (enable) + if (enable) { flags |= I40E_AQC_SET_VSI_PROMISC_UNICAST; + if (i40e_hw_ver_ge(hw, 1, 5)) + flags |= I40E_AQC_SET_VSI_PROMISC_RX_ONLY; + } cmd->promiscuous_flags = CPU_TO_LE16(flags); cmd->valid_flags = CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_UNICAST); + if (i40e_hw_ver_ge(hw, 1, 5)) + cmd->valid_flags |= + CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_RX_ONLY); cmd->seid = CPU_TO_LE16(seid); cmd->vlan_tag = CPU_TO_LE16(vid | I40E_AQC_SET_VSI_VLAN_VALID); -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 13/15] net/i40e/base: add EEE LPI status check for X722 adapters 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (11 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 12/15] net/i40e/base: fix Rx only mode for unicast promisc on VLAN Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 14/15] net/i40e/base: fix PHY config param when enabling EEE Guinan Sun ` (2 subsequent siblings) 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, Dawid Lukwinski Add reading LPI (low power idle) status for supported X722 devices. If adapter's PHY supports EEE in current mode (device ID + link speed), LPI status is read from PHY Clause 45 PCS status register. Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_common.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index cd8b27e40..073634278 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -7098,15 +7098,23 @@ enum i40e_status_code i40e_get_phy_lpi_status(struct i40e_hw *hw, struct i40e_hw_port_stats *stat) { enum i40e_status_code ret = I40E_SUCCESS; + bool eee_mrvl_phy; + bool eee_bcm_phy; u32 val; stat->rx_lpi_status = 0; stat->tx_lpi_status = 0; - if ((hw->device_id == I40E_DEV_ID_10G_BASE_T_BC || - hw->device_id == I40E_DEV_ID_5G_BASE_T_BC) && - (hw->phy.link_info.link_speed == I40E_LINK_SPEED_2_5GB || - hw->phy.link_info.link_speed == I40E_LINK_SPEED_5GB)) { + eee_bcm_phy = + (hw->device_id == I40E_DEV_ID_10G_BASE_T_BC || + hw->device_id == I40E_DEV_ID_5G_BASE_T_BC) && + (hw->phy.link_info.link_speed == I40E_LINK_SPEED_2_5GB || + hw->phy.link_info.link_speed == I40E_LINK_SPEED_5GB); + eee_mrvl_phy = + hw->device_id == I40E_DEV_ID_1G_BASE_T_X722; + + if (eee_bcm_phy || eee_mrvl_phy) { + // read Clause 45 PCS Status 1 register ret = i40e_aq_get_phy_register(hw, I40E_AQ_PHY_REG_ACCESS_EXTERNAL, I40E_BCM_PHY_PCS_STATUS1_PAGE, -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 14/15] net/i40e/base: fix PHY config param when enabling EEE 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (12 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 13/15] net/i40e/base: add EEE LPI status check for X722 adapters Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 15/15] net/i40e/base: update version Guinan Sun 2020-09-03 14:31 ` [dpdk-dev] [PATCH v3 00/15] update i40e base code Ferruh Yigit 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun, stable, Galazka Krzysztof The i40e_enable_eee function did not copy phy_type_ext field from current PHY configuration retrieved with Get PHY Abilities AQ. It caused a misconfiguration of the PHY on devices supporting 2.5 and 5G speeds and prevented establishing link when only those speeds were selected for advertisement. Fixes: c61bcb0fe1b0 ("net/i40e/base: support Energy Efficient Ethernet") Cc: stable@dpdk.org Signed-off-by: Galazka Krzysztof <krzysztof.galazka@intel.com> Signed-off-by: Guinan Sun <guinanx.sun@intel.com> --- drivers/net/i40e/base/i40e_common.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c index 073634278..e62d63c68 100644 --- a/drivers/net/i40e/base/i40e_common.c +++ b/drivers/net/i40e/base/i40e_common.c @@ -6449,6 +6449,7 @@ enum i40e_status_code i40e_enable_eee(struct i40e_hw *hw, bool enable) /* Cache current configuration */ config.phy_type = abilities.phy_type; + config.phy_type_ext = abilities.phy_type_ext; config.link_speed = abilities.link_speed; config.abilities = abilities.abilities | I40E_AQ_PHY_ENABLE_ATOMIC_LINK; -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* [dpdk-dev] [PATCH v3 15/15] net/i40e/base: update version 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (13 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 14/15] net/i40e/base: fix PHY config param when enabling EEE Guinan Sun @ 2020-09-03 4:48 ` Guinan Sun 2020-09-03 14:31 ` [dpdk-dev] [PATCH v3 00/15] update i40e base code Ferruh Yigit 15 siblings, 0 replies; 53+ messages in thread From: Guinan Sun @ 2020-09-03 4:48 UTC (permalink / raw) To: dev; +Cc: Beilei Xing, Jeff Guo, Guinan Sun Update base code version in readme. Signed-off-by: Guinan Sun <guinanx.sun@intel.com> Acked-by: Jeff Guo <jia.guo@intel.com> --- drivers/net/i40e/base/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/i40e/base/README b/drivers/net/i40e/base/README index 6baca4360..6af299311 100644 --- a/drivers/net/i40e/base/README +++ b/drivers/net/i40e/base/README @@ -6,7 +6,7 @@ Intel® I40E driver ================== This directory contains source code of FreeBSD i40e driver of version -cid-i40e.2020.03.04.tar.gz released by the team which develops +cid-i40e.2020.08.27.tar.gz released by the team which develops basic drivers for any i40e NIC. The directory of base/ contains the original source package. This driver is valid for the product(s) listed below -- 2.17.1 ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH v3 00/15] update i40e base code 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun ` (14 preceding siblings ...) 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 15/15] net/i40e/base: update version Guinan Sun @ 2020-09-03 14:31 ` Ferruh Yigit 2020-09-04 1:24 ` Sun, GuinanX 15 siblings, 1 reply; 53+ messages in thread From: Ferruh Yigit @ 2020-09-03 14:31 UTC (permalink / raw) To: Guinan Sun, dev; +Cc: Beilei Xing, Jeff Guo On 9/3/2020 5:48 AM, Guinan Sun wrote: > update i40e base code. > > source code of i40e driver: > cid-i40e.2020.08.27.tar.gz dropped by the team which develop > basic drivers for any i40e NIC. > > changelog in ND share repo: > From fc99a1143d3f ("i40e-shared: FEC on/off support flag for X722") > To 1a82d59f0797 ("i40e-shared: Fix PHY configuration parameters when enabling EEE") Hi Guinan, The v2 of this patch has been merged to next-net-intel and pulled by next-net, it is now in the next-net repo. I can see v3 is slightly newer version, I didn't check the details but does it can you make updates as incremental set on top of latest head (v2 of this set)? > > The following commits are ignored. > ea2cd04e5db1 ("i40e-shared: do AQ calls without sleeping by default") > 4eec86f12992 ("i40e-shared: Fix undeclared i40e_asq_send_command() function") > 9d60cec99eb7 ("i40e-shared: Send rx ctl write command in atomic context") > a204afdc1cad ("i40e-shared: Send uc/mc commands in atomic context") > d22f8cb2a111 ("i40e-shared: Send commands in atomic context") > 136a7d931a45 ("i40e-shared: Fix improper preprocessor conditional") > 5b7d5a698092 ("i40e-shared: use linux packing style") > f16fa495c503 ("i40e-shared: Fix compilation issue with __packed") > > Guinan Sun (15): > net/i40e/base: enable FEC on/off flag setting for X722 > net/i40e/base: add PTYPE definition > net/i40e/base: add new custom cloud filter types > net/i40e/base: update FW API version to 1.12 > net/i40e/base: fix possible uninitialized variable > net/i40e/base: support unused ports disabling > net/i40e/base: replace AQ command for NVM update > net/i40e/base: add VLAN field for input set > net/i40e/base: enable pipe monitor thresholds > net/i40e/base: fix missing function header arguments > net/i40e/base: add support for Minimum Rollback Revision > net/i40e/base: fix Rx only mode for unicast promisc on VLAN > net/i40e/base: add EEE LPI status check for X722 adapters > net/i40e/base: fix PHY config param when enabling EEE > net/i40e/base: update version <...> ^ permalink raw reply [flat|nested] 53+ messages in thread
* Re: [dpdk-dev] [PATCH v3 00/15] update i40e base code 2020-09-03 14:31 ` [dpdk-dev] [PATCH v3 00/15] update i40e base code Ferruh Yigit @ 2020-09-04 1:24 ` Sun, GuinanX 0 siblings, 0 replies; 53+ messages in thread From: Sun, GuinanX @ 2020-09-04 1:24 UTC (permalink / raw) To: Yigit, Ferruh, dev; +Cc: Xing, Beilei, Guo, Jia Hi Ferruh > -----Original Message----- > From: Ferruh Yigit [mailto:ferruh.yigit@intel.com] > Sent: Thursday, September 3, 2020 10:31 PM > To: Sun, GuinanX <guinanx.sun@intel.com>; dev@dpdk.org > Cc: Xing, Beilei <beilei.xing@intel.com>; Guo, Jia <jia.guo@intel.com> > Subject: Re: [dpdk-dev] [PATCH v3 00/15] update i40e base code > > On 9/3/2020 5:48 AM, Guinan Sun wrote: > > update i40e base code. > > > > source code of i40e driver: > > cid-i40e.2020.08.27.tar.gz dropped by the team which develop basic > > drivers for any i40e NIC. > > > > changelog in ND share repo: > > From fc99a1143d3f ("i40e-shared: FEC on/off support flag for X722") To > > 1a82d59f0797 ("i40e-shared: Fix PHY configuration parameters when > > enabling EEE") > > Hi Guinan, > > The v2 of this patch has been merged to next-net-intel and pulled by next- > net, it is now in the next-net repo. > > I can see v3 is slightly newer version, I didn't check the details but does it > can you make updates as incremental set on top of latest head (v2 of this > set)? I have synced with zhangqi. The patch status has been changed to superseded. The share code of the new drop will send a new version. > > > > > > > The following commits are ignored. > > ea2cd04e5db1 ("i40e-shared: do AQ calls without sleeping by default") > > 4eec86f12992 ("i40e-shared: Fix undeclared i40e_asq_send_command() > > function") > > 9d60cec99eb7 ("i40e-shared: Send rx ctl write command in atomic > > context") a204afdc1cad ("i40e-shared: Send uc/mc commands in atomic > > context") > > d22f8cb2a111 ("i40e-shared: Send commands in atomic context") > > 136a7d931a45 ("i40e-shared: Fix improper preprocessor conditional") > > 5b7d5a698092 ("i40e-shared: use linux packing style") > > f16fa495c503 ("i40e-shared: Fix compilation issue with __packed") > > > > Guinan Sun (15): > > net/i40e/base: enable FEC on/off flag setting for X722 > > net/i40e/base: add PTYPE definition > > net/i40e/base: add new custom cloud filter types > > net/i40e/base: update FW API version to 1.12 > > net/i40e/base: fix possible uninitialized variable > > net/i40e/base: support unused ports disabling > > net/i40e/base: replace AQ command for NVM update > > net/i40e/base: add VLAN field for input set > > net/i40e/base: enable pipe monitor thresholds > > net/i40e/base: fix missing function header arguments > > net/i40e/base: add support for Minimum Rollback Revision > > net/i40e/base: fix Rx only mode for unicast promisc on VLAN > > net/i40e/base: add EEE LPI status check for X722 adapters > > net/i40e/base: fix PHY config param when enabling EEE > > net/i40e/base: update version > > <...> ^ permalink raw reply [flat|nested] 53+ messages in thread
end of thread, other threads:[~2020-09-04 1:24 UTC | newest] Thread overview: 53+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-07-21 7:39 [dpdk-dev] [PATCH 0/8] update i40e base code Guinan Sun 2020-07-21 7:39 ` [dpdk-dev] [PATCH 1/8] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun 2020-07-27 3:38 ` Jeff Guo 2020-07-21 7:39 ` [dpdk-dev] [PATCH 2/8] net/i40e/base: add PTYPE definition Guinan Sun 2020-07-27 3:43 ` Jeff Guo 2020-07-21 7:39 ` [dpdk-dev] [PATCH 3/8] net/i40e/base: enable new custom cloud filters Guinan Sun 2020-07-27 3:53 ` Jeff Guo 2020-07-27 4:55 ` Sun, GuinanX 2020-07-21 7:39 ` [dpdk-dev] [PATCH 4/8] net/i40e/base: update FVL FW API version to 1.11 Guinan Sun 2020-07-21 7:39 ` [dpdk-dev] [PATCH 5/8] net/i40e/base: check return value of DNL admin command Guinan Sun 2020-07-27 4:07 ` Jeff Guo 2020-07-27 4:53 ` Sun, GuinanX 2020-07-27 5:19 ` Sun, GuinanX 2020-07-21 7:39 ` [dpdk-dev] [PATCH 6/8] net/i40e/base: add disable unused ports capability Guinan Sun 2020-07-27 4:24 ` Jeff Guo 2020-07-27 5:01 ` Sun, GuinanX 2020-07-21 7:39 ` [dpdk-dev] [PATCH 7/8] net/i40e/base: replace AQ command for NVM update Guinan Sun 2020-07-27 4:32 ` Jeff Guo 2020-07-21 7:40 ` [dpdk-dev] [PATCH 8/8] net/i40e/base: update version Guinan Sun 2020-07-27 4:32 ` Jeff Guo 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 1/8] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 2/8] net/i40e/base: add PTYPE definition Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 3/8] net/i40e/base: add new custom cloud filter types Guinan Sun 2020-07-27 6:43 ` Jeff Guo 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 4/8] net/i40e/base: update FW API version to 1.11 Guinan Sun 2020-07-27 6:44 ` Jeff Guo 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 5/8] net/i40e/base: fix possible uninitialized variable Guinan Sun 2020-07-27 6:45 ` Jeff Guo 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 6/8] net/i40e/base: support unused ports disabling Guinan Sun 2020-07-28 1:31 ` Jeff Guo 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 7/8] net/i40e/base: replace AQ command for NVM update Guinan Sun 2020-07-27 5:34 ` [dpdk-dev] [PATCH v2 8/8] net/i40e/base: update version Guinan Sun 2020-07-28 1:32 ` [dpdk-dev] [PATCH v2 0/8] update i40e base code Jeff Guo 2020-08-31 3:58 ` Zhang, Qi Z 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 00/15] " Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 01/15] net/i40e/base: enable FEC on/off flag setting for X722 Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 02/15] net/i40e/base: add PTYPE definition Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 03/15] net/i40e/base: add new custom cloud filter types Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 04/15] net/i40e/base: update FW API version to 1.12 Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 05/15] net/i40e/base: fix possible uninitialized variable Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 06/15] net/i40e/base: support unused ports disabling Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 07/15] net/i40e/base: replace AQ command for NVM update Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 08/15] net/i40e/base: add VLAN field for input set Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 09/15] net/i40e/base: enable pipe monitor thresholds Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 10/15] net/i40e/base: fix missing function header arguments Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 11/15] net/i40e/base: add support for Minimum Rollback Revision Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 12/15] net/i40e/base: fix Rx only mode for unicast promisc on VLAN Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 13/15] net/i40e/base: add EEE LPI status check for X722 adapters Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 14/15] net/i40e/base: fix PHY config param when enabling EEE Guinan Sun 2020-09-03 4:48 ` [dpdk-dev] [PATCH v3 15/15] net/i40e/base: update version Guinan Sun 2020-09-03 14:31 ` [dpdk-dev] [PATCH v3 00/15] update i40e base code Ferruh Yigit 2020-09-04 1:24 ` Sun, GuinanX
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).