#
2b843cac |
| 13-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
drivers: use per line logging in helpers
Use RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fen
drivers: use per line logging in helpers
Use RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
f8a4217d |
| 13-Mar-2024 |
Wei Hu <weh@microsoft.com> |
net/mana: support VLAN tagging
For Tx path, use LONG_PACKET_FORMAT if VLAN tag is present. For Rx, extract VLAN id from oob, put into mbuf and set the VLAN flags in mbuf.
Signed-off-by: Wei Hu <weh
net/mana: support VLAN tagging
For Tx path, use LONG_PACKET_FORMAT if VLAN tag is present. For Rx, extract VLAN id from oob, put into mbuf and set the VLAN flags in mbuf.
Signed-off-by: Wei Hu <weh@microsoft.com> Acked-by: Long Li <longli@microsoft.com>
show more ...
|
#
0c7bc26b |
| 09-Feb-2024 |
Long Li <longli@microsoft.com> |
net/mana: handle MR cache expansion failure
On MR cache expansion failure, the request should fail as there is no path to get a new MR into the tree. Attempting to insert a new MR to the cache tree
net/mana: handle MR cache expansion failure
On MR cache expansion failure, the request should fail as there is no path to get a new MR into the tree. Attempting to insert a new MR to the cache tree will result in memory violation.
Fixes: 0f5db3c68ba7 ("net/mana: implement memory registration") Cc: stable@dpdk.org
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
7d79530e |
| 20-Jan-2024 |
Long Li <longli@microsoft.com> |
net/mana: rename function that returns memory region
The function name mana_find_pmd_mr() is misleading as there might be allocations to get a MR. Change function name to mana_alloc_pmd_mr().
Signe
net/mana: rename function that returns memory region
The function name mana_find_pmd_mr() is misleading as there might be allocations to get a MR. Change function name to mana_alloc_pmd_mr().
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
3178e37c |
| 18-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
drivers: use dedicated logtypes
When a driver dedicated logtype exists, use it instead of the generic PMD logtype.
This has been done partially automatically with:
$ for file in $(git grep -l RTE_
drivers: use dedicated logtypes
When a driver dedicated logtype exists, use it instead of the generic PMD logtype.
This has been done partially automatically with:
$ for file in $(git grep -l RTE_LOG.*PMD.*fmt drivers/'**.h' \ :^drivers/common/cnxk/roc_platform.h) do tail=${file#drivers/*/*/} dir=${file%%$tail} ! git grep -q RTE_LOGTYPE_ $dir || \ { echo $dir already done; continue; } git grep -hE '^extern int .*log.*;$' $file | \ sed -ne 's/^extern int \([^ ;]*\);$/\1/p' | \ while read logtype do git grep -q 'RTE_LOG_REGISTER\(_DEFAULT\|\)('$logtype',' || \ [ "$logtype" != "${logtype%%driver}" ] || \ { echo Skipped $logtype; continue; } abbrev=$(echo $logtype | sed -e 's/_logtype//' | tr '[a-z]' '[A-Z]') sed -i -e 's/^\(extern int '$logtype'.*\)$/\1\n#define RTE_LOGTYPE_' \ $abbrev' '$logtype'/' $file sed -i -e 's/\(RTE_LOG.*, \)PMD,/\1'$abbrev',/' $file break done done
Then a manual update for: - common/cpt, - common/dpaax, - common/idpf, - mempool/dpaa, - net/bnxt, - net/octeon_ep, - raw/ifpga, - vdpa/ifc,
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
ee15bf9d |
| 13-Oct-2023 |
Long Li <longli@microsoft.com> |
net/mana: add missing new line to data path logs
Add a missing "\n" to DP logs. This makes the logs correctly formatted.
Fixes: e2d3a3c060c4 ("net/mana: use datapath logging") Cc: stable@dpdk.org
net/mana: add missing new line to data path logs
Add a missing "\n" to DP logs. This makes the logs correctly formatted.
Fixes: e2d3a3c060c4 ("net/mana: use datapath logging") Cc: stable@dpdk.org
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
84497839 |
| 25-Jul-2023 |
Long Li <longli@microsoft.com> |
net/mana: support MTU update
Add support for updating MTU for MANA. MTU is updated in kernel through socket interface.
Signed-off-by: Long Li <longli@microsoft.com>
|
#
26c6bdf3 |
| 21-Sep-2023 |
Wei Hu <weh@microsoft.com> |
net/mana: add 32-bit short doorbell
Add 32-bit short doorbell support. Ring short doorbell when running in 32-bit applications.
Both 32-bit and 64-bit doorbells are supported by mana hardware on sa
net/mana: add 32-bit short doorbell
Add 32-bit short doorbell support. Ring short doorbell when running in 32-bit applications.
Both 32-bit and 64-bit doorbells are supported by mana hardware on same platform. 32-bit applications cannot use 64-bit doorbells. 64-bit applications can use 32-bit doorbells, however the performance would greatly suffer and it is not recommended.
Cc: stable@dpdk.org
Signed-off-by: Wei Hu <weh@microsoft.com> Acked-by: Long Li <longli@microsoft.com>
show more ...
|
#
304ad326 |
| 10-Jul-2023 |
Long Li <longli@microsoft.com> |
net/mana: fix WQE count for ringing RQ doorbell
The hardware specification specifies that WQE_COUNT should set to 0 for the Receive Queue. Although currently the hardware doesn't enforce the check,
net/mana: fix WQE count for ringing RQ doorbell
The hardware specification specifies that WQE_COUNT should set to 0 for the Receive Queue. Although currently the hardware doesn't enforce the check, in the future releases it may check on this value.
Cc: stable@dpdk.org
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
3409e0f1 |
| 06-May-2023 |
Long Li <longli@microsoft.com> |
net/mana: implement Rx CQE coalescing
With RX coalescing, one CQE entry can be used to indicate up to 4 packets on the receive queue. This saves processing time and PCI bandwidth over the CQ.
Signe
net/mana: implement Rx CQE coalescing
With RX coalescing, one CQE entry can be used to indicate up to 4 packets on the receive queue. This saves processing time and PCI bandwidth over the CQ.
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
cce2c9df |
| 06-May-2023 |
Long Li <longli@microsoft.com> |
net/mana: suppress Tx CQE generation whenever possible
When sending TX packets, we don't need a completion for every packet sent. If packets are sent in a series, the completion of the last packet c
net/mana: suppress Tx CQE generation whenever possible
When sending TX packets, we don't need a completion for every packet sent. If packets are sent in a series, the completion of the last packet can be used to indicate completion of all prior packets.
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
31124619 |
| 17-Mar-2023 |
Long Li <longli@microsoft.com> |
net/mana: optimize completion queue by batch processing
We can poll completion queues in a batch to speed up completion processing. Also, the completion data doesn't need to be copied out of the har
net/mana: optimize completion queue by batch processing
We can poll completion queues in a batch to speed up completion processing. Also, the completion data doesn't need to be copied out of the hardware queue and they can be passed as pointers to be consumed by the RX/TX code.
Fixes: 517ed6e2d590 ("net/mana: add basic driver with build environment") Cc: stable@dpdk.org
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
b5dfcaec |
| 17-Mar-2023 |
Long Li <longli@microsoft.com> |
net/mana: avoid unnecessary assignments in data path
Unnecessary assignments involve memset and waste CPU cycles. Removing them to reduce CPU usage.
Fixes: 517ed6e2d590 ("net/mana: add basic driver
net/mana: avoid unnecessary assignments in data path
Unnecessary assignments involve memset and waste CPU cycles. Removing them to reduce CPU usage.
Fixes: 517ed6e2d590 ("net/mana: add basic driver with build environment") Cc: stable@dpdk.org
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
e2d3a3c0 |
| 21-Feb-2023 |
Long Li <longli@microsoft.com> |
net/mana: use datapath logging
Change all the logging statements on the datapath to use RTE_LOG_DP() to reduce CPU overhead when logging is not enabled for datapath.
Fixes: 517ed6e2d590 ("net/mana:
net/mana: use datapath logging
Change all the logging statements on the datapath to use RTE_LOG_DP() to reduce CPU overhead when logging is not enabled for datapath.
Fixes: 517ed6e2d590 ("net/mana: add basic driver with build environment") Cc: stable@dpdk.org
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
afd5d170 |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: support Rx interrupts
mana can receive Rx interrupts from kernel through RDMA verbs interface. Implement Rx interrupts in the driver.
Signed-off-by: Long Li <longli@microsoft.com>
|
#
7f322844 |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: send packets
With all the TX queues created, MANA can send packets over those queues.
Signed-off-by: Long Li <longli@microsoft.com>
|
#
eb9994dd |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: receive packets
With all the RX queues created, MANA can use those queues to receive packets.
Signed-off-by: Long Li <longli@microsoft.com>
|
#
5f705ac2 |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: start/stop Rx queues
MANA allocates device queues through the IB layer when starting Rx queues. When device is stopped all the queues are unmapped and freed.
Signed-off-by: Long Li <longl
net/mana: start/stop Rx queues
MANA allocates device queues through the IB layer when starting Rx queues. When device is stopped all the queues are unmapped and freed.
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
410333da |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: start/stop Tx queues
MANA allocate device queues through the IB layer when starting Tx queues. When device is stopped all the queues are unmapped and freed.
Signed-off-by: Long Li <longli
net/mana: start/stop Tx queues
MANA allocate device queues through the IB layer when starting Tx queues. When device is stopped all the queues are unmapped and freed.
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
56dd45c0 |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: implement hardware layer operations
The hardware layer of MANA understands the device queue and doorbell formats. Those functions are implemented for use by packet RX/TX code.
Signed-off-
net/mana: implement hardware layer operations
The hardware layer of MANA understands the device queue and doorbell formats. Those functions are implemented for use by packet RX/TX code.
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
0f5db3c6 |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: implement memory registration
MANA hardware has iommu built-in, that provides hardware safe access to user memory through memory registration. Since memory registration is an expensive ope
net/mana: implement memory registration
MANA hardware has iommu built-in, that provides hardware safe access to user memory through memory registration. Since memory registration is an expensive operation, this patch implements a two level memory registration cache mechanisum for each queue and for each port.
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
f7dc479a |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: configure Tx queues
Tx hardware queue is allocated when starting the queue, this is for pre configuration.
Signed-off-by: Long Li <longli@microsoft.com>
|
#
0c63c005 |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: configure Rx queues
Rx hardware queue is allocated when starting the queue. This function is for queue configuration pre starting.
Signed-off-by: Long Li <longli@microsoft.com>
|
#
a382177c |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: configure RSS
Currently this PMD supports RSS configuration when the device is stopped. Configuring RSS in running state will be supported in the future.
Signed-off-by: Long Li <longli@mi
net/mana: configure RSS
Currently this PMD supports RSS configuration when the device is stopped. Configuring RSS in running state will be supported in the future.
Signed-off-by: Long Li <longli@microsoft.com>
show more ...
|
#
d878cb09 |
| 05-Oct-2022 |
Long Li <longli@microsoft.com> |
net/mana: report device info
Add the function to get device info.
Signed-off-by: Long Li <longli@microsoft.com>
|