summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/packet_utils.c
diff options
context:
space:
mode:
authorXavier Simonart <xavier.simonart@intel.com>2018-12-26 15:26:27 +0100
committerXavier Simonart <xavier.simonart@intel.com>2019-01-03 13:18:19 +0100
commitfccce1ef79294066fc7e3dc5b36c5915573d0e47 (patch)
tree9c1eccd2dae0255610e7fdf9624ef2bbfd2277d5 /VNFs/DPPD-PROX/packet_utils.c
parent8bca011d7b95868bee9c965c5a6fafc031835a6b (diff)
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 <xavier.simonart@intel.com>
Diffstat (limited to 'VNFs/DPPD-PROX/packet_utils.c')
-rw-r--r--VNFs/DPPD-PROX/packet_utils.c5
1 files changed, 3 insertions, 2 deletions
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;
}
}