History log of /dpdk/drivers/net/mana/rx.c (Results 1 – 15 of 15)
Revision Date Author Comments
# 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 ...


# eeb37809 09-Feb-2024 Long Li <longli@microsoft.com>

net/mana: use bulk mbuf allocation for Rx WQEs

Instead of allocating mbufs one by one during RX, use
rte_pktmbuf_alloc_bulk() to allocate them in a batch.

With this patch, there are no measurable p

net/mana: use bulk mbuf allocation for Rx WQEs

Instead of allocating mbufs one by one during RX, use
rte_pktmbuf_alloc_bulk() to allocate them in a batch.

With this patch, there are no measurable performance improvements in
benchmarks. However, this patch should improve CPU cycles and reduce
potential locking conflicts in real-world applications.

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 ...


# 319855c9 07-Jul-2023 Long Li <longli@microsoft.com>

net/mana: set queue state

Set the queue state when queue is started/stopped

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 ...


# 8a56ff3d 10-Jul-2023 Long Li <longli@microsoft.com>

net/mana: fix counter overflow for posted WQE

This counter should set to uint16_t, the same type as pkt_received.
Otherwise, it may overflow when pkt_received goes over 256.

Thanks Xinhao Kong <t-k

net/mana: fix counter overflow for posted WQE

This counter should set to uint16_t, the same type as pkt_received.
Otherwise, it may overflow when pkt_received goes over 256.

Thanks Xinhao Kong <t-kongxinhao@microsoft.com> for debugging this.

Fixes: 517ed6e2d590 ("net/mana: add basic driver with build environment")
Cc: stable@dpdk.org

Signed-off-by: Long Li <longli@microsoft.com>

show more ...


# ae220ee5 07-Jul-2023 Long Li <longli@microsoft.com>

net/mana: fix deadlock on coalescing CQE error

On a fatal CQE error when coalescing is used, update the correct index
and allow proceeding to the next CQE.

Fixes: 3409e0f172f6 ("net/mana: implement

net/mana: fix deadlock on coalescing CQE error

On a fatal CQE error when coalescing is used, update the correct index
and allow proceeding to the next CQE.

Fixes: 3409e0f172f6 ("net/mana: implement Rx CQE coalescing")

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 ...


# 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>


# 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 ...