summaryrefslogtreecommitdiffstats
path: root/VNFs/DPPD-PROX/tx_pkt.h
diff options
context:
space:
mode:
authorXavier Simonart <xavier.simonart@intel.com>2020-04-29 01:22:10 +0200
committerXavier Simonart <xavier.simonart@intel.com>2020-05-29 23:28:44 +0200
commit9e0c77ef5b6569b8db31269916102f5219bffdc9 (patch)
treef61fe61e20dbd0bfe255d62c5290088bb015c9f2 /VNFs/DPPD-PROX/tx_pkt.h
parentca250755c6ecad89fc30507a4c6707eedc658f5d (diff)
Improve ctrlplane performance
The crlplane performance has been improved. This is necessary when handling many IP in L3 mode (i.e. many ARP Requests/Replies). Before this change, arp timer was updated as soon as an arp request was tentativaly sent to the master. This means that, if the request failed to be sent (e.g. ring full) we had to wait arp_update_time (default 1sec) before trying again. Now arp_update_time is only used when an arp reply is received. If a request has been successfully sent, then the arp timer is updated by 1 second (i.e. we will not send any arp reuest for this IP within this second) If we failed to send the request, then the timer is updated by 100 msec which means we will wait 100 msec before trying again. A too high value here would have meant that we have to wait a long time before trying again. A too short value overload the master ring with request to transmit ARP requests, so that master is unable to handle arp replies. arp_update_time is now also partly randomized to avoid all IPs to request arp request at the beginning of the test. So if arp_update_time is 10 sec then the configuration sets it to 5 to 15 sec. As a final note the following parameter (already implemented before) can be changed to improve ctrlplane performance (at the cost of dataplane) ctrl path polling frequency=10000 Change-Id: I9660458a22e7442eaa0c83aaa0c9893a15069f98 Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Diffstat (limited to 'VNFs/DPPD-PROX/tx_pkt.h')
-rw-r--r--VNFs/DPPD-PROX/tx_pkt.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/VNFs/DPPD-PROX/tx_pkt.h b/VNFs/DPPD-PROX/tx_pkt.h
index a6881531..708a9837 100644
--- a/VNFs/DPPD-PROX/tx_pkt.h
+++ b/VNFs/DPPD-PROX/tx_pkt.h
@@ -82,7 +82,7 @@ uint16_t tx_try_self(struct task_base *tbase, struct rte_mbuf **mbufs, uint16_t
int tx_pkt_drop_all(struct task_base *tbase, struct rte_mbuf **mbufs, uint16_t n_pkts, uint8_t *out);
int tx_pkt_l3(struct task_base *tbase, struct rte_mbuf **mbufs, uint16_t n_pkts, uint8_t *out);
-void tx_ring_cti(struct task_base *tbase, struct rte_ring *ring, uint16_t command, struct rte_mbuf *mbuf, uint8_t core_id, uint8_t task_id, uint32_t ip);
+int tx_ring_cti(struct task_base *tbase, struct rte_ring *ring, uint16_t command, struct rte_mbuf *mbuf, uint8_t core_id, uint8_t task_id, uint32_t ip);
void tx_ring_ip(struct task_base *tbase, struct rte_ring *ring, uint16_t command, struct rte_mbuf *mbuf, uint32_t ip);
void tx_ring(struct task_base *tbase, struct rte_ring *ring, uint16_t command, struct rte_mbuf *mbuf);