#
186f8e8c |
| 24-Jan-2025 |
Jesna K E <jesna.k.e@amd.com> |
net/axgbe: support TSO
Added TSO (Transmit Segmentation offload) support for axgbe PMD.
Signed-off-by: Jesna K E <jesna.k.e@amd.com>
|
#
f665790a |
| 13-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
drivers: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen
drivers: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
#
e99981af |
| 12-Aug-2024 |
David Marchand <david.marchand@redhat.com> |
drivers: replace logging helpers
Prepare for the conversion to RTE_LOG_LINE. Some drivers currently add no \n in the logging macro and have the callers do it.
Let's invert this logic but again, thi
drivers: replace logging helpers
Prepare for the conversion to RTE_LOG_LINE. Some drivers currently add no \n in the logging macro and have the callers do it.
Let's invert this logic but again, thinking about backports, introduce the change in new macros.
Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
e64f909d |
| 04-Jun-2024 |
Venkat Kumar Ande <venkatkumar.ande@amd.com> |
net/axgbe: modify debug messages
Modify debug messages to get better information from debug logs
Signed-off-by: Venkat Kumar Ande <venkatkumar.ande@amd.com> Acked-by: Selwin Sebastian <selwin.sebas
net/axgbe: modify debug messages
Modify debug messages to get better information from debug logs
Signed-off-by: Venkat Kumar Ande <venkatkumar.ande@amd.com> Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>
show more ...
|
#
e82b0fe0 |
| 04-Jun-2024 |
Venkat Kumar Ande <venkatkumar.ande@amd.com> |
net/axgbe: disable RRC for yellow carp devices
Link stability issues are noticed on Yellow carp platforms when Receiver Reset Cycle is issued. Since the CDR workaround is disabled on these platforms
net/axgbe: disable RRC for yellow carp devices
Link stability issues are noticed on Yellow carp platforms when Receiver Reset Cycle is issued. Since the CDR workaround is disabled on these platforms, the Receiver Reset Cycle is not needed.
So, avoid issuing rrc on Yellow carp platforms.
Without the fix the user will not get the link UP.
Fixes: a5c7273771e8 ("net/axgbe: add phy programming APIs") Cc: stable@dpdk.org
Signed-off-by: Venkat Kumar Ande <venkatkumar.ande@amd.com> Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>
show more ...
|
#
7b7288b0 |
| 04-Jun-2024 |
Venkat Kumar Ande <venkatkumar.ande@amd.com> |
net/axgbe: disable interrupts during device removal
Hardware interrupts are enabled during the init, however, they are not disabled during close.
Disable all hardware interrupts during close operat
net/axgbe: disable interrupts during device removal
Hardware interrupts are enabled during the init, however, they are not disabled during close.
Disable all hardware interrupts during close operation to avoid any issues.
Fixes: 9e890103267e ("net/axgbe: add Rx/Tx setup") Cc: stable@dpdk.org
Signed-off-by: Venkat Kumar Ande <venkatkumar.ande@amd.com> Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>
show more ...
|
#
ba6a168a |
| 01-Feb-2024 |
Sivaramakrishnan Venkat <venkatx.sivaramakrishnan@intel.com> |
drivers/net: return number of supported packet types
Missing "RTE_PTYPE_UNKNOWN" ptype causes buffer overflow. Enhance code such that the dev_supported_ptypes_get() function pointer now returns the
drivers/net: return number of supported packet types
Missing "RTE_PTYPE_UNKNOWN" ptype causes buffer overflow. Enhance code such that the dev_supported_ptypes_get() function pointer now returns the number of elements to eliminate the need for "RTE_PTYPE_UNKNOWN" as the last item.
Same applied to 'buffer_split_supported_hdr_ptypes_get()' dev_ops too.
Signed-off-by: Sivaramakrishnan Venkat <venkatx.sivaramakrishnan@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
a3ec01b4 |
| 05-Jan-2024 |
Venkat Kumar Ande <venkatkumar.ande@amd.com> |
net/axgbe: read and save port property register
Read and save the port property registers once during the device probe and then use the saved values as they are needed.
This is refactoring for futu
net/axgbe: read and save port property register
Read and save the port property registers once during the device probe and then use the saved values as they are needed.
This is refactoring for future code readability of the driver.
Signed-off-by: Venkat Kumar Ande <venkatkumar.ande@amd.com> Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>
show more ...
|
#
4feb9aa0 |
| 15-Nov-2023 |
Jesna K E <jesna.k.e@amd.com> |
net/axgbe: fix Tx function selection
A bug was introduced with the recent fix that when an offload feature is enabled axgbe_xmit_pkts_vec API is called rather than axgbe_xmit_pkts API.This patch fix
net/axgbe: fix Tx function selection
A bug was introduced with the recent fix that when an offload feature is enabled axgbe_xmit_pkts_vec API is called rather than axgbe_xmit_pkts API.This patch fixes it.
Fixes: 9963b5131af8 ("net/axgbe: support multi-process") Cc: stable@dpdk.org
Signed-off-by: Jesna K E <jesna.k.e@amd.com> Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>
show more ...
|
#
0236016c |
| 08-Sep-2023 |
Jie Hai <haijie1@huawei.com> |
net/axgbe: fix Rx and Tx queue state
The DPDK framework reports the queue state, which is stored in dev->data->tx_queue_state and dev->data->rx_queue_state. The state is maintained by the driver. Us
net/axgbe: fix Rx and Tx queue state
The DPDK framework reports the queue state, which is stored in dev->data->tx_queue_state and dev->data->rx_queue_state. The state is maintained by the driver. Users may determine whether a queue participates in packet forwarding based on the state. Therefore, the driver needs to modify the queue state in time according to the actual situation.
Fixes: 9ad9ff476cac ("ethdev: add queue state in queried queue information") Cc: stable@dpdk.org
Signed-off-by: Jie Hai <haijie1@huawei.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
a27ff9ca |
| 04-Oct-2023 |
Selwin Sebastian <selwin.sebastian@amd.com> |
net/axgbe: identify CPU with cpuid
Using root complex to identify CPU will not work for VM passthrough. cpuid is used to get family and model id to identify CPU.
Fixes: b0db927b5eba ("net/axgbe: us
net/axgbe: identify CPU with cpuid
Using root complex to identify CPU will not work for VM passthrough. cpuid is used to get family and model id to identify CPU.
Fixes: b0db927b5eba ("net/axgbe: use PCI root complex device to distinguish device") Cc: stable@dpdk.org
Signed-off-by: Selwin Sebastian <selwin.sebastian@amd.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
9963b513 |
| 04-Jan-2023 |
Jesna K E <jesna.k.e@amd.com> |
net/axgbe: support multi-process
Added multi-process support for axgbe PMD.
To achieve multi-process support separate out set Tx and Rx functions and call them on device for primary process and cal
net/axgbe: support multi-process
Added multi-process support for axgbe PMD.
To achieve multi-process support separate out set Tx and Rx functions and call them on device for primary process and call from a secondary process when it is attaching to an already-configured NIC.
Signed-off-by: Jesna K E <jesna.k.e@amd.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
93bffd8f |
| 08-Sep-2022 |
Bhagyada Modali <bhagyada.modali@amd.com> |
net/axgbe: support segmented Tx
Enable segmented Tx support and add jumbo packet transmit capability.
Signed-off-by: Bhagyada Modali <bhagyada.modali@amd.com> Acked-by: Chandubabu Namburu <chandu@a
net/axgbe: support segmented Tx
Enable segmented Tx support and add jumbo packet transmit capability.
Signed-off-by: Bhagyada Modali <bhagyada.modali@amd.com> Acked-by: Chandubabu Namburu <chandu@amd.com>
show more ...
|
#
93041fd5 |
| 13-May-2022 |
Chengwen Feng <fengchengwen@huawei.com> |
net/axgbe: fix xstats get return if xstats is null
Many user (e.g. telemetry) invokes rte_eth_xstats_get(port_id, NULL, 0) to retrieve the required number of elements, but currently axgbe PMD return
net/axgbe: fix xstats get return if xstats is null
Many user (e.g. telemetry) invokes rte_eth_xstats_get(port_id, NULL, 0) to retrieve the required number of elements, but currently axgbe PMD returns zero when xstats is null.
Remove the logic of "return zero when xstats is NULL", and add the logic of "return the required number of entries when n is lower than the required number of entries".
Fixes: 9d1ef6b2e731 ("net/axgbe: add xstats") Cc: stable@dpdk.org
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
3e02a95b |
| 31-Jan-2022 |
Selwin Sebastian <selwin.sebastian@amd.com> |
net/axgbe: disable CDR workaround for Yellow Carp device
Yellow Carp ethernet devices (V3xxx) do not require autonegotiation CDR workaround, hence disable the same.
Signed-off-by: Selwin Sebastian
net/axgbe: disable CDR workaround for Yellow Carp device
Yellow Carp ethernet devices (V3xxx) do not require autonegotiation CDR workaround, hence disable the same.
Signed-off-by: Selwin Sebastian <selwin.sebastian@amd.com> Acked-by: Chandubabu Namburu <chandu@amd.com>
show more ...
|
#
f7706f88 |
| 31-Jan-2022 |
Selwin Sebastian <selwin.sebastian@amd.com> |
net/axgbe: support Yellow Carp device
Yellow Carp ethernet devices (V3xxx) use the existing PCI ID but the window settings for the indirect PCS access have been altered. Add the check for Yellow Car
net/axgbe: support Yellow Carp device
Yellow Carp ethernet devices (V3xxx) use the existing PCI ID but the window settings for the indirect PCS access have been altered. Add the check for Yellow Carp Ethernet devices to use the new register values.
Signed-off-by: Selwin Sebastian <selwin.sebastian@amd.com> Acked-by: Chandubabu Namburu <chandu@amd.com>
show more ...
|
#
b0db927b |
| 02-Dec-2021 |
Chandubabu Namburu <chandu@amd.com> |
net/axgbe: use PCI root complex device to distinguish device
"bus/pci: optimize bus scan" broke axgbe on V1000/R1000. RV root complex pci device does not have any kernel driver assigned so it is rem
net/axgbe: use PCI root complex device to distinguish device
"bus/pci: optimize bus scan" broke axgbe on V1000/R1000. RV root complex pci device does not have any kernel driver assigned so it is removed from pci scan list which is used in "net/axgbe: add a HW quirk for register definitions".
Get root complex device id directly from pci sysfs instead of pci scan list.
Fixes: 991e0b1dbc4a ("net/axgbe: add a HW quirk for register definitions") Cc: stable@dpdk.org
Signed-off-by: Chandubabu Namburu <chandu@amd.com> Acked-by: Selwin Sebastian <selwin.sebastian@amd.com>
show more ...
|
#
7be78d02 |
| 29-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|
#
d61138d4 |
| 22-Oct-2021 |
Harman Kalra <hkalra@marvell.com> |
drivers: remove direct access to interrupt handle
Removing direct access to interrupt handle structure fields, rather use respective get set APIs for the same. Making changes to all the drivers acce
drivers: remove direct access to interrupt handle
Removing direct access to interrupt handle structure fields, rather use respective get set APIs for the same. Making changes to all the drivers access the interrupt handle fields.
Signed-off-by: Harman Kalra <hkalra@marvell.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Raslan Darawsheh <rasland@nvidia.com>
show more ...
|
#
295968d1 |
| 22-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to have 'rte_eth' prefix.
All internal components switched to using new names.
Syntax fixed on lines that this patch touches.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Wisam Jaddo <wisamm@nvidia.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
b563c142 |
| 18-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: remove jumbo offload flag
Removing 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag.
Instead of drivers announce this capability, application can deduct the capability by checking reported 'dev_in
ethdev: remove jumbo offload flag
Removing 'DEV_RX_OFFLOAD_JUMBO_FRAME' offload flag.
Instead of drivers announce this capability, application can deduct the capability by checking reported 'dev_info.max_mtu' or 'dev_info.max_rx_pktlen'.
And instead of application setting this flag explicitly to enable jumbo frames, this can be deduced by driver by comparing requested 'mtu' to 'RTE_ETHER_MTU'.
Removing this additional configuration for simplification.
Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Acked-by: Michal Krawczyk <mk@semihalf.com>
show more ...
|
#
f7e04f57 |
| 18-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: move MTU set check to library
Move requested MTU value check to the API to prevent the duplicated code.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: Andrew Rybchenko <a
ethdev: move MTU set check to library
Move requested MTU value check to the API to prevent the duplicated code.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
show more ...
|
#
dd4e429c |
| 18-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: move jumbo frame offload check to library
Setting MTU bigger than RTE_ETHER_MTU requires the jumbo frame support, and application should enable the jumbo frame offload support for it.
When
ethdev: move jumbo frame offload check to library
Setting MTU bigger than RTE_ETHER_MTU requires the jumbo frame support, and application should enable the jumbo frame offload support for it.
When jumbo frame offload is not enabled by application, but MTU bigger than RTE_ETHER_MTU is requested there are two options, either fail or enable jumbo frame offload implicitly.
Enabling jumbo frame offload implicitly is selected by many drivers since setting a big MTU value already implies it, and this increases usability.
This patch moves this logic from drivers to the library, both to reduce the duplicated code in the drivers and to make behaviour more visible.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Huisong Li <lihuisong@huawei.com>
show more ...
|
#
1bb4a528 |
| 18-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: fix max Rx packet length
There is a confusion on setting max Rx packet length, this patch aims to clarify it.
'rte_eth_dev_configure()' API accepts max Rx packet size via 'uint32_t max_rx_p
ethdev: fix max Rx packet length
There is a confusion on setting max Rx packet length, this patch aims to clarify it.
'rte_eth_dev_configure()' API accepts max Rx packet size via 'uint32_t max_rx_pkt_len' field of the config struct 'struct rte_eth_conf'.
Also 'rte_eth_dev_set_mtu()' API can be used to set the MTU, and result stored into '(struct rte_eth_dev)->data->mtu'.
These two APIs are related but they work in a disconnected way, they store the set values in different variables which makes hard to figure out which one to use, also having two different method for a related functionality is confusing for the users.
Other issues causing confusion is: * maximum transmission unit (MTU) is payload of the Ethernet frame. And 'max_rx_pkt_len' is the size of the Ethernet frame. Difference is Ethernet frame overhead, and this overhead may be different from device to device based on what device supports, like VLAN and QinQ. * 'max_rx_pkt_len' is only valid when application requested jumbo frame, which adds additional confusion and some APIs and PMDs already discards this documented behavior. * For the jumbo frame enabled case, 'max_rx_pkt_len' is an mandatory field, this adds configuration complexity for application.
As solution, both APIs gets MTU as parameter, and both saves the result in same variable '(struct rte_eth_dev)->data->mtu'. For this 'max_rx_pkt_len' updated as 'mtu', and it is always valid independent from jumbo frame.
For 'rte_eth_dev_configure()', 'dev->data->dev_conf.rxmode.mtu' is user request and it should be used only within configure function and result should be stored to '(struct rte_eth_dev)->data->mtu'. After that point both application and PMD uses MTU from this variable.
When application doesn't provide an MTU during 'rte_eth_dev_configure()' default 'RTE_ETHER_MTU' value is used.
Additional clarification done on scattered Rx configuration, in relation to MTU and Rx buffer size. MTU is used to configure the device for physical Rx/Tx size limitation, Rx buffer is where to store Rx packets, many PMDs use mbuf data buffer size as Rx buffer size. PMDs compare MTU against Rx buffer size to decide enabling scattered Rx or not. If scattered Rx is not supported by device, MTU bigger than Rx buffer size should fail.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com> Acked-by: Huisong Li <lihuisong@huawei.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
show more ...
|
#
8c9f976f |
| 01-Oct-2021 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
ethdev: improve xstats names by IDs get prototype
Adjust parameters order to eth_xstats_get_by_id_t prototype. Make ids the second parameter similar to eth_xstats_get_by_id_t.
Signed-off-by: Andrew
ethdev: improve xstats names by IDs get prototype
Adjust parameters order to eth_xstats_get_by_id_t prototype. Make ids the second parameter similar to eth_xstats_get_by_id_t.
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|