[dpdk-dev] [PATCH] rte_eth_af_packet: check return value from sendto call

John W. Linville linville at tuxdriver.com
Thu Aug 27 19:50:50 CEST 2015


Coverity CID # 13200

If sendto fails, the packets will not get transmitted.  Return 0 as
the number of packets transmitted.

Signed-off-by: John W. Linville <linville at tuxdriver.com>
---
 drivers/net/af_packet/rte_eth_af_packet.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index cac26e533813..bfde66115708 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -220,7 +220,8 @@ eth_af_packet_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
 	}
 
 	/* kick-off transmits */
-	sendto(pkt_q->sockfd, NULL, 0, MSG_DONTWAIT, NULL, 0);
+	if (sendto(pkt_q->sockfd, NULL, 0, MSG_DONTWAIT, NULL, 0) == -1)
+		return 0; /* error sending -- no packets transmitted */
 
 	pkt_q->framenum = framenum;
 	pkt_q->tx_pkts += num_tx;
-- 
2.4.3



More information about the dev mailing list