diff mbox

PACKET_MMAP: prevent receive stalling

Message ID 1402333781-24544-1-git-send-email-stuart.haslam@arm.com
State Accepted
Commit 4779764704aced9c49642bad030cdd25f32ac739
Headers show

Commit Message

Stuart Haslam June 9, 2014, 5:09 p.m. UTC
pkt_mmap_v2_rx drops packets if they originate from the sender's own
MAC, but it doesn't move on to polling the next packet descriptor in
the ring so reception stalls.
---
 platform/linux-generic/source/odp_packet_socket.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Maxim Uvarov June 10, 2014, 6:14 p.m. UTC | #1
applied, thanks!

Maxim.

On 06/09/2014 10:09 AM, Stuart Haslam wrote:
> pkt_mmap_v2_rx drops packets if they originate from the sender's own
> MAC, but it doesn't move on to polling the next packet descriptor in
> the ring so reception stalls.
> ---
>   platform/linux-generic/source/odp_packet_socket.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/platform/linux-generic/source/odp_packet_socket.c b/platform/linux-generic/source/odp_packet_socket.c
> index a4c913a..8809abc 100644
> --- a/platform/linux-generic/source/odp_packet_socket.c
> +++ b/platform/linux-generic/source/odp_packet_socket.c
> @@ -460,6 +460,7 @@ static inline unsigned pkt_mmap_v2_rx(int sock, struct ring *ring,
>   			if (odp_unlikely(ethaddrs_equal(if_mac,
>   							eth_hdr->h_source))) {
>   				mmap_rx_user_ready(ppd.raw); /* drop */
> +				frame_num = next_frame_num;
>   				continue;
>   			}
>
diff mbox

Patch

diff --git a/platform/linux-generic/source/odp_packet_socket.c b/platform/linux-generic/source/odp_packet_socket.c
index a4c913a..8809abc 100644
--- a/platform/linux-generic/source/odp_packet_socket.c
+++ b/platform/linux-generic/source/odp_packet_socket.c
@@ -460,6 +460,7 @@  static inline unsigned pkt_mmap_v2_rx(int sock, struct ring *ring,
 			if (odp_unlikely(ethaddrs_equal(if_mac,
 							eth_hdr->h_source))) {
 				mmap_rx_user_ready(ppd.raw); /* drop */
+				frame_num = next_frame_num;
 				continue;
 			}