Bug 22 - Ixgbe driver sets RDRXCTL with the wrong RSCACKC and FCOE_WRFIX values
Summary: Ixgbe driver sets RDRXCTL with the wrong RSCACKC and FCOE_WRFIX values
Status: RESOLVED WONTFIX
Alias: None
Product: DPDK
Classification: Unclassified
Component: ethdev (show other bugs)
Version: unspecified
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: Konstantin Ananyev
URL:
Depends on:
Blocks:
 
Reported: 2018-04-01 14:42 CEST by Solal Pirelli
Modified: 2018-10-18 09:39 CEST (History)
2 users (show)



Attachments

Description Solal Pirelli 2018-04-01 14:42:38 CEST
The Intel 82599 data sheet (https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/82599-10-gbe-controller-datasheet.pdf, §8.2.3.8.8) states that the RDRXCTL register's RSCACKC (bit 25) and FCOE_WRFIX (bit 26) values, while reserved, should be set to 1 by software.

The ixgbe driver does not do that, e.g. in ixgbe_dev_rx_init (http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_rxtx.c?h=v18.02#n4855).
Comment 1 Stephen Hemminger 2018-04-02 03:29:19 CEST
On Sun, 01 Apr 2018 12:42:38 +0000
bugzilla@dpdk.org wrote:

> https://dpdk.org/tracker/show_bug.cgi?id=22
> 
>             Bug ID: 22
>            Summary: Ixgbe driver sets RDRXCTL with the wrong RSCACKC and
>                     FCOE_WRFIX values
>            Product: DPDK
>            Version: unspecified
>           Hardware: All
>                 OS: All
>             Status: CONFIRMED
>           Severity: normal
>           Priority: Normal
>          Component: ethdev
>           Assignee: dev@dpdk.org
>           Reporter: solal.pirelli@gmail.com
>   Target Milestone: ---
> 
> The Intel 82599 data sheet
>
> (https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/82599-10-gbe-controller-datasheet.pdf,
> §8.2.3.8.8) states that the RDRXCTL register's RSCACKC (bit 25) and
> FCOE_WRFIX
> (bit 26) values, while reserved, should be set to 1 by software.
> 
> The ixgbe driver does not do that, e.g. in ixgbe_dev_rx_init
>
> (http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_rxtx.c?h=v18.02#n4855).

It is done elsewhere.

static int
ixgbe_set_rsc(struct rte_eth_dev *dev)
{
...

	/* Set RDRXCTL.RSCACKC bit */
	rdrxctl = IXGBE_READ_REG(hw, IXGBE_RDRXCTL);
	rdrxctl |= IXGBE_RDRXCTL_RSCACKC;
	IXGBE_WRITE_REG(hw, IXGBE_RDRXCTL, rdrxctl);
Comment 2 Ajit Khaparde 2018-08-24 20:19:43 CEST
Konstantin, Can you check this one as well? Thanks
Comment 3 Wei Zhao 2018-10-18 09:12:03 CEST
(In reply to Solal Pirelli from comment #0)
> The Intel 82599 data sheet
> (https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/
> 82599-10-gbe-controller-datasheet.pdf, §8.2.3.8.8) states that the RDRXCTL
> register's RSCACKC (bit 25) and FCOE_WRFIX (bit 26) values, while reserved,
> should be set to 1 by software.
> 
> The ixgbe driver does not do that, e.g. in ixgbe_dev_rx_init
> (http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_rxtx.c?h=v18.
> 02#n4855).


I agree with the point of Stephen Hemminger, in function ixgbe_set_rsc(), it ahs set IXGBE_RDRXCTL_RSCACKC bit to 1.
For bit FCOE_WRFIX, it has no abnormal phenomenon for not having the operation. So it is not a bug, and change state to resolve and wontfix.
Comment 4 Wei Zhao 2018-10-18 09:39:22 CEST
it is not a bug, and change state to resolve and wontfix.

Note You need to log in before you can comment on or make changes to this bug.