[dpdk-dev,1/1] net/ixgbe: Add API to update SBP bit
Checks
Commit Message
From: Shweta Choudaha <shweta.choudaha@att.com>
Add ixgbe API to enable SBP bit in FCTRL register
to allow receiving packets that may otherwise be
considered length errors by ixgbe and dropped
Signed-off-by: Shweta Choudaha <shweta.choudaha@att.com>
Reviewed-by: Chas Williams <chas3@att.com>
Reviewed-by: Luca Boccassi <bluca@debian.org>
---
drivers/net/ixgbe/rte_pmd_ixgbe.c | 28 ++++++++++++++++++++++++++++
drivers/net/ixgbe/rte_pmd_ixgbe.h | 13 +++++++++++++
drivers/net/ixgbe/rte_pmd_ixgbe_version.map | 6 ++++++
3 files changed, 47 insertions(+)
Comments
Hi Shweta,
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Shweta Choudaha
> Sent: Friday, February 23, 2018 7:59 PM
> To: dev@dpdk.org
> Cc: shweta.choudaha@att.com
> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbe: Add API to update SBP bit
>
> From: Shweta Choudaha <shweta.choudaha@att.com>
>
> Add ixgbe API to enable SBP bit in FCTRL register to allow receiving packets
> that may otherwise be considered length errors by ixgbe and dropped
>
> Signed-off-by: Shweta Choudaha <shweta.choudaha@att.com>
> Reviewed-by: Chas Williams <chas3@att.com>
> Reviewed-by: Luca Boccassi <bluca@debian.org>
> ---
> --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> @@ -52,3 +52,9 @@ DPDK_17.08 {
> rte_pmd_ixgbe_bypass_wd_timeout_show;
> rte_pmd_ixgbe_bypass_wd_timeout_store;
> } DPDK_17.05;
> +
> +EXPERIMENTAL {
> + global:
> +
> + rte_pmd_ixgbe_upd_fctrl_sbp;
> +} DPDK_17.08;
The patch is fine except we should use 18.05 here.
> --
> 2.11.0
On 4/4/2018 3:25 AM, Lu, Wenzhuo wrote:
> Hi Shweta,
>
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Shweta Choudaha
>> Sent: Friday, February 23, 2018 7:59 PM
>> To: dev@dpdk.org
>> Cc: shweta.choudaha@att.com
>> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbe: Add API to update SBP bit
>>
>> From: Shweta Choudaha <shweta.choudaha@att.com>
>>
>> Add ixgbe API to enable SBP bit in FCTRL register to allow receiving packets
>> that may otherwise be considered length errors by ixgbe and dropped
>>
>> Signed-off-by: Shweta Choudaha <shweta.choudaha@att.com>
>> Reviewed-by: Chas Williams <chas3@att.com>
>> Reviewed-by: Luca Boccassi <bluca@debian.org>
>> ---
>
>
>> --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
>> +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
>> @@ -52,3 +52,9 @@ DPDK_17.08 {
>> rte_pmd_ixgbe_bypass_wd_timeout_show;
>> rte_pmd_ixgbe_bypass_wd_timeout_store;
>> } DPDK_17.05;
>> +
>> +EXPERIMENTAL {
>> + global:
>> +
>> + rte_pmd_ixgbe_upd_fctrl_sbp;
>> +} DPDK_17.08;
> The patch is fine except we should use 18.05 here.
We have a rule to have an API as experimental for one release.
Not sure about this rule covering the PMD specific APIs but by default it is, we
can discuss to have an exception for PMD APIs or not.
After one release developer should send patch to remove experimental from API
>
>> --
>> 2.11.0
>
On Wed, Apr 04, 2018 at 11:14:35AM +0100, Ferruh Yigit wrote:
> On 4/4/2018 3:25 AM, Lu, Wenzhuo wrote:
> > Hi Shweta,
> >
> >
> >> -----Original Message-----
> >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Shweta Choudaha
> >> Sent: Friday, February 23, 2018 7:59 PM
> >> To: dev@dpdk.org
> >> Cc: shweta.choudaha@att.com
> >> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbe: Add API to update SBP bit
> >>
> >> From: Shweta Choudaha <shweta.choudaha@att.com>
> >>
> >> Add ixgbe API to enable SBP bit in FCTRL register to allow receiving packets
> >> that may otherwise be considered length errors by ixgbe and dropped
> >>
> >> Signed-off-by: Shweta Choudaha <shweta.choudaha@att.com>
> >> Reviewed-by: Chas Williams <chas3@att.com>
> >> Reviewed-by: Luca Boccassi <bluca@debian.org>
> >> ---
> >
> >
> >> --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> >> +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> >> @@ -52,3 +52,9 @@ DPDK_17.08 {
> >> rte_pmd_ixgbe_bypass_wd_timeout_show;
> >> rte_pmd_ixgbe_bypass_wd_timeout_store;
> >> } DPDK_17.05;
> >> +
> >> +EXPERIMENTAL {
> >> + global:
> >> +
> >> + rte_pmd_ixgbe_upd_fctrl_sbp;
> >> +} DPDK_17.08;
> > The patch is fine except we should use 18.05 here.
>
> We have a rule to have an API as experimental for one release.
>
> Not sure about this rule covering the PMD specific APIs but by default it is, we
> can discuss to have an exception for PMD APIs or not.
>
> After one release developer should send patch to remove experimental from API
>
+1 for following the process.
I don't see why pmd-specific APIs should be a general exception. Any
exceptions should be on an individual case-by-case basis IMHO
Thanks for the review.
I have sent an updated patch and will send patch to remove experimental
from API for next release
Thanks,
Shweta
On Wed, Apr 4, 2018 at 11:40 AM, Bruce Richardson <
bruce.richardson@intel.com> wrote:
> On Wed, Apr 04, 2018 at 11:14:35AM +0100, Ferruh Yigit wrote:
> > On 4/4/2018 3:25 AM, Lu, Wenzhuo wrote:
> > > Hi Shweta,
> > >
> > >
> > >> -----Original Message-----
> > >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Shweta Choudaha
> > >> Sent: Friday, February 23, 2018 7:59 PM
> > >> To: dev@dpdk.org
> > >> Cc: shweta.choudaha@att.com
> > >> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbe: Add API to update SBP bit
> > >>
> > >> From: Shweta Choudaha <shweta.choudaha@att.com>
> > >>
> > >> Add ixgbe API to enable SBP bit in FCTRL register to allow receiving
> packets
> > >> that may otherwise be considered length errors by ixgbe and dropped
> > >>
> > >> Signed-off-by: Shweta Choudaha <shweta.choudaha@att.com>
> > >> Reviewed-by: Chas Williams <chas3@att.com>
> > >> Reviewed-by: Luca Boccassi <bluca@debian.org>
> > >> ---
> > >
> > >
> > >> --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> > >> +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> > >> @@ -52,3 +52,9 @@ DPDK_17.08 {
> > >> rte_pmd_ixgbe_bypass_wd_timeout_show;
> > >> rte_pmd_ixgbe_bypass_wd_timeout_store;
> > >> } DPDK_17.05;
> > >> +
> > >> +EXPERIMENTAL {
> > >> + global:
> > >> +
> > >> + rte_pmd_ixgbe_upd_fctrl_sbp;
> > >> +} DPDK_17.08;
> > > The patch is fine except we should use 18.05 here.
> >
> > We have a rule to have an API as experimental for one release.
> >
> > Not sure about this rule covering the PMD specific APIs but by default
> it is, we
> > can discuss to have an exception for PMD APIs or not.
> >
> > After one release developer should send patch to remove experimental
> from API
> >
> +1 for following the process.
> I don't see why pmd-specific APIs should be a general exception. Any
> exceptions should be on an individual case-by-case basis IMHO
>
Hi Ferruh/ Helin,
Anything else needed for this patch
http://dpdk.org/dev/patchwork/patch/37802/
Or can this be now acked - Have addressed all comments so far.
Thanks,
Shweta
On Tue, Apr 10, 2018 at 4:58 PM, Shweta Choudaha <shweta.choudaha@gmail.com>
wrote:
> Thanks for the review.
> I have sent an updated patch and will send patch to remove experimental
> from API for next release
>
> Thanks,
> Shweta
>
> On Wed, Apr 4, 2018 at 11:40 AM, Bruce Richardson <
> bruce.richardson@intel.com> wrote:
>
>> On Wed, Apr 04, 2018 at 11:14:35AM +0100, Ferruh Yigit wrote:
>> > On 4/4/2018 3:25 AM, Lu, Wenzhuo wrote:
>> > > Hi Shweta,
>> > >
>> > >
>> > >> -----Original Message-----
>> > >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Shweta Choudaha
>> > >> Sent: Friday, February 23, 2018 7:59 PM
>> > >> To: dev@dpdk.org
>> > >> Cc: shweta.choudaha@att.com
>> > >> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbe: Add API to update SBP bit
>> > >>
>> > >> From: Shweta Choudaha <shweta.choudaha@att.com>
>> > >>
>> > >> Add ixgbe API to enable SBP bit in FCTRL register to allow receiving
>> packets
>> > >> that may otherwise be considered length errors by ixgbe and dropped
>> > >>
>> > >> Signed-off-by: Shweta Choudaha <shweta.choudaha@att.com>
>> > >> Reviewed-by: Chas Williams <chas3@att.com>
>> > >> Reviewed-by: Luca Boccassi <bluca@debian.org>
>> > >> ---
>> > >
>> > >
>> > >> --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
>> > >> +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
>> > >> @@ -52,3 +52,9 @@ DPDK_17.08 {
>> > >> rte_pmd_ixgbe_bypass_wd_timeout_show;
>> > >> rte_pmd_ixgbe_bypass_wd_timeout_store;
>> > >> } DPDK_17.05;
>> > >> +
>> > >> +EXPERIMENTAL {
>> > >> + global:
>> > >> +
>> > >> + rte_pmd_ixgbe_upd_fctrl_sbp;
>> > >> +} DPDK_17.08;
>> > > The patch is fine except we should use 18.05 here.
>> >
>> > We have a rule to have an API as experimental for one release.
>> >
>> > Not sure about this rule covering the PMD specific APIs but by default
>> it is, we
>> > can discuss to have an exception for PMD APIs or not.
>> >
>> > After one release developer should send patch to remove experimental
>> from API
>> >
>> +1 for following the process.
>> I don't see why pmd-specific APIs should be a general exception. Any
>> exceptions should be on an individual case-by-case basis IMHO
>>
>
>
On 4/26/2018 11:20 AM, Shweta Choudaha wrote:
> Hi Ferruh/ Helin,
>
> Anything else needed for this patch
>
> http://dpdk.org/dev/patchwork/patch/37802/
> Or can this be now acked - Have addressed all comments so far.
Hi Helin, Qi, Wenzhuo,
Any more comment on patch?
Please let me know if you prefer me getting this directly to next-net?
>
> Thanks,
> Shweta
>
> On Tue, Apr 10, 2018 at 4:58 PM, Shweta Choudaha <shweta.choudaha@gmail.com
> <mailto:shweta.choudaha@gmail.com>> wrote:
>
> Thanks for the review.
> I have sent an updated patch and will send patch to remove experimental from
> API for next release
>
> Thanks,
> Shweta
>
> On Wed, Apr 4, 2018 at 11:40 AM, Bruce Richardson
> <bruce.richardson@intel.com <mailto:bruce.richardson@intel.com>> wrote:
>
> On Wed, Apr 04, 2018 at 11:14:35AM +0100, Ferruh Yigit wrote:
> > On 4/4/2018 3:25 AM, Lu, Wenzhuo wrote:
> > > Hi Shweta,
> > >
> > >
> > >> -----Original Message-----
> > >> From: dev [mailto:dev-bounces@dpdk.org
> <mailto:dev-bounces@dpdk.org>] On Behalf Of Shweta Choudaha
> > >> Sent: Friday, February 23, 2018 7:59 PM
> > >> To: dev@dpdk.org <mailto:dev@dpdk.org>
> > >> Cc: shweta.choudaha@att.com <mailto:shweta.choudaha@att.com>
> > >> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbe: Add API to update SBP bit
> > >>
> > >> From: Shweta Choudaha <shweta.choudaha@att.com
> <mailto:shweta.choudaha@att.com>>
> > >>
> > >> Add ixgbe API to enable SBP bit in FCTRL register to allow
> receiving packets
> > >> that may otherwise be considered length errors by ixgbe and dropped
> > >>
> > >> Signed-off-by: Shweta Choudaha <shweta.choudaha@att.com
> <mailto:shweta.choudaha@att.com>>
> > >> Reviewed-by: Chas Williams <chas3@att.com <mailto:chas3@att.com>>
> > >> Reviewed-by: Luca Boccassi <bluca@debian.org <mailto:bluca@debian.org>>
> > >> ---
> > >
> > >
> > >> --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> > >> +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> > >> @@ -52,3 +52,9 @@ DPDK_17.08 {
> > >> rte_pmd_ixgbe_bypass_wd_timeout_show;
> > >> rte_pmd_ixgbe_bypass_wd_timeout_store;
> > >> } DPDK_17.05;
> > >> +
> > >> +EXPERIMENTAL {
> > >> + global:
> > >> +
> > >> + rte_pmd_ixgbe_upd_fctrl_sbp;
> > >> +} DPDK_17.08;
> > > The patch is fine except we should use 18.05 here.
> >
> > We have a rule to have an API as experimental for one release.
> >
> > Not sure about this rule covering the PMD specific APIs but by default
> it is, we
> > can discuss to have an exception for PMD APIs or not.
> >
> > After one release developer should send patch to remove experimental
> from API
> >
> +1 for following the process.
> I don't see why pmd-specific APIs should be a general exception. Any
> exceptions should be on an individual case-by-case basis IMHO
>
>
>
Hi Helin, Qi, Wenzhuo,
Any update for this patch.
Anything else needed or can this be merged ?
Thanks,
Shweta
On Thu, Apr 26, 2018 at 11:56 AM, Ferruh Yigit <ferruh.yigit@intel.com>
wrote:
> On 4/26/2018 11:20 AM, Shweta Choudaha wrote:
> > Hi Ferruh/ Helin,
> >
> > Anything else needed for this patch
> >
> > http://dpdk.org/dev/patchwork/patch/37802/
> > Or can this be now acked - Have addressed all comments so far.
>
> Hi Helin, Qi, Wenzhuo,
>
> Any more comment on patch?
> Please let me know if you prefer me getting this directly to next-net?
>
> >
> > Thanks,
> > Shweta
> >
> > On Tue, Apr 10, 2018 at 4:58 PM, Shweta Choudaha <
> shweta.choudaha@gmail.com
> > <mailto:shweta.choudaha@gmail.com>> wrote:
> >
> > Thanks for the review.
> > I have sent an updated patch and will send patch to remove
> experimental from
> > API for next release
> >
> > Thanks,
> > Shweta
> >
> > On Wed, Apr 4, 2018 at 11:40 AM, Bruce Richardson
> > <bruce.richardson@intel.com <mailto:bruce.richardson@intel.com>>
> wrote:
> >
> > On Wed, Apr 04, 2018 at 11:14:35AM +0100, Ferruh Yigit wrote:
> > > On 4/4/2018 3:25 AM, Lu, Wenzhuo wrote:
> > > > Hi Shweta,
> > > >
> > > >
> > > >> -----Original Message-----
> > > >> From: dev [mailto:dev-bounces@dpdk.org
> > <mailto:dev-bounces@dpdk.org>] On Behalf Of Shweta Choudaha
> > > >> Sent: Friday, February 23, 2018 7:59 PM
> > > >> To: dev@dpdk.org <mailto:dev@dpdk.org>
> > > >> Cc: shweta.choudaha@att.com <mailto:shweta.choudaha@att.com
> >
> > > >> Subject: [dpdk-dev] [PATCH 1/1] net/ixgbe: Add API to
> update SBP bit
> > > >>
> > > >> From: Shweta Choudaha <shweta.choudaha@att.com
> > <mailto:shweta.choudaha@att.com>>
> > > >>
> > > >> Add ixgbe API to enable SBP bit in FCTRL register to allow
> > receiving packets
> > > >> that may otherwise be considered length errors by ixgbe and
> dropped
> > > >>
> > > >> Signed-off-by: Shweta Choudaha <shweta.choudaha@att.com
> > <mailto:shweta.choudaha@att.com>>
> > > >> Reviewed-by: Chas Williams <chas3@att.com <mailto:
> chas3@att.com>>
> > > >> Reviewed-by: Luca Boccassi <bluca@debian.org <mailto:
> bluca@debian.org>>
> > > >> ---
> > > >
> > > >
> > > >> --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> > > >> +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> > > >> @@ -52,3 +52,9 @@ DPDK_17.08 {
> > > >> rte_pmd_ixgbe_bypass_wd_timeout_show;
> > > >> rte_pmd_ixgbe_bypass_wd_timeout_store;
> > > >> } DPDK_17.05;
> > > >> +
> > > >> +EXPERIMENTAL {
> > > >> + global:
> > > >> +
> > > >> + rte_pmd_ixgbe_upd_fctrl_sbp;
> > > >> +} DPDK_17.08;
> > > > The patch is fine except we should use 18.05 here.
> > >
> > > We have a rule to have an API as experimental for one release.
> > >
> > > Not sure about this rule covering the PMD specific APIs but by
> default
> > it is, we
> > > can discuss to have an exception for PMD APIs or not.
> > >
> > > After one release developer should send patch to remove
> experimental
> > from API
> > >
> > +1 for following the process.
> > I don't see why pmd-specific APIs should be a general exception.
> Any
> > exceptions should be on an individual case-by-case basis IMHO
> >
> >
> >
>
>
@@ -880,6 +880,34 @@ rte_pmd_ixgbe_set_tc_bw_alloc(uint16_t port,
return 0;
}
+int __rte_experimental
+rte_pmd_ixgbe_upd_fctrl_sbp(uint16_t port, int enable)
+{
+ struct ixgbe_hw *hw;
+ struct rte_eth_dev *dev;
+ uint32_t fctrl;
+
+ RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
+ dev = &rte_eth_devices[port];
+ if (!is_ixgbe_supported(dev))
+ return -ENOTSUP;
+
+ hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+ if (!hw)
+ return -ENOTSUP;
+
+ fctrl = IXGBE_READ_REG(hw, IXGBE_FCTRL);
+
+ /* If 'enable' set the SBP bit else clear it */
+ if (enable)
+ fctrl |= IXGBE_FCTRL_SBP;
+ else
+ fctrl &= ~(IXGBE_FCTRL_SBP);
+
+ IXGBE_WRITE_REG(hw, IXGBE_FCTRL, fctrl);
+ return 0;
+}
+
#ifdef RTE_LIBRTE_IXGBE_BYPASS
int
rte_pmd_ixgbe_bypass_init(uint16_t port_id)
@@ -637,4 +637,17 @@ enum {
((x) > RTE_PMD_IXGBE_BYPASS_TMT_OFF && \
(x) < RTE_PMD_IXGBE_BYPASS_TMT_NUM))
+/**
+ * @param port
+ * The port identifier of the Ethernet device.
+ * @param enable
+ * 0 to disable and nonzero to enable 'SBP' bit in FCTRL register
+ * to receive all packets
+ * @return
+ * - (0) if successful.
+ * - (-ENODEV) if *port* invalid.
+ * - (-ENOTSUP) if hardware doesn't support this feature.
+ */
+int __rte_experimental
+rte_pmd_ixgbe_upd_fctrl_sbp(uint16_t port, int enable);
#endif /* _PMD_IXGBE_H_ */
@@ -52,3 +52,9 @@ DPDK_17.08 {
rte_pmd_ixgbe_bypass_wd_timeout_show;
rte_pmd_ixgbe_bypass_wd_timeout_store;
} DPDK_17.05;
+
+EXPERIMENTAL {
+ global:
+
+ rte_pmd_ixgbe_upd_fctrl_sbp;
+} DPDK_17.08;