diff options
author | Xavier Simonart <xavier.simonart@intel.com> | 2018-12-26 15:26:27 +0100 |
---|---|---|
committer | Xavier Simonart <xavier.simonart@intel.com> | 2019-01-03 13:18:19 +0100 |
commit | fccce1ef79294066fc7e3dc5b36c5915573d0e47 (patch) | |
tree | 9c1eccd2dae0255610e7fdf9624ef2bbfd2277d5 /VNFs/DPPD-PROX/packet_utils.c | |
parent | 8bca011d7b95868bee9c965c5a6fafc031835a6b (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.c | 5 |
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; } } |