From fccce1ef79294066fc7e3dc5b36c5915573d0e47 Mon Sep 17 00:00:00 2001 From: Xavier Simonart Date: Wed, 26 Dec 2018 15:26:27 +0100 Subject: Prevent dropping ARP packets JIRA: SAMPLEVNF-152 When system is overloaded, ARP packets were sometimes dropped, as any other packets. This was causing two issues: - The count of TX non dataplane packets was wrong - If many consecutive ARP packets were dropped, the underlying switch might see its ARP timer expiring, causing performance degradation (packets being broadcasted). ARP packets are now always sent as no-drop. Change-Id: I9a86cbf8c4b56a178f86bc789153f1fa49ddf73f Signed-off-by: Xavier Simonart --- VNFs/DPPD-PROX/packet_utils.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'VNFs/DPPD-PROX/packet_utils.c') diff --git a/VNFs/DPPD-PROX/packet_utils.c b/VNFs/DPPD-PROX/packet_utils.c index e93f430c..274d2f84 100644 --- a/VNFs/DPPD-PROX/packet_utils.c +++ b/VNFs/DPPD-PROX/packet_utils.c @@ -325,9 +325,10 @@ void handle_ctrl_plane_pkts(struct task_base *tbase, struct rte_mbuf **mbufs, ui break; case ARP_REPLY_FROM_CTRL: case ARP_REQ_FROM_CTRL: - TASK_STATS_ADD_TX_NON_DP(&tbase->aux->stats, 1); out[0] = 0; - tbase->aux->tx_pkt_l2(tbase, &mbufs[j], 1, out); + // tx_ctrlplane_pkt does not drop packets + tbase->aux->tx_ctrlplane_pkt(tbase, &mbufs[j], 1, out); + TASK_STATS_ADD_TX_NON_DP(&tbase->aux->stats, 1); break; } } -- cgit 1.2.3-korg