summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--VNFs/DPPD-PROX/handle_master.c2
-rw-r--r--VNFs/DPPD-PROX/packet_utils.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/VNFs/DPPD-PROX/handle_master.c b/VNFs/DPPD-PROX/handle_master.c
index 22527413..c6ae96b1 100644
--- a/VNFs/DPPD-PROX/handle_master.c
+++ b/VNFs/DPPD-PROX/handle_master.c
@@ -170,6 +170,8 @@ static inline void handle_arp_reply(struct task_base *tbase, struct rte_mbuf *mb
tx_ring_ip(tbase, ring, UPDATE_FROM_CTRL, mbuf, key);
}
task->external_ip_table[ret].nb_requests = 0;
+ } else {
+ tx_drop(mbuf);
}
}
}
diff --git a/VNFs/DPPD-PROX/packet_utils.c b/VNFs/DPPD-PROX/packet_utils.c
index 1b461c65..06a9ba64 100644
--- a/VNFs/DPPD-PROX/packet_utils.c
+++ b/VNFs/DPPD-PROX/packet_utils.c
@@ -247,7 +247,7 @@ void task_start_l3(struct task_base *tbase, struct task_args *targ)
const int NB_CACHE_ARP_MBUF = 256;
struct prox_port_cfg *port = find_reachable_port(targ);
- if (port) {
+ if (port && (tbase->l3.arp_pool == NULL)) {
static char name[] = "arp0_pool";
tbase->l3.reachable_port_id = port - prox_port_cfg;
if (targ->local_ipv4) {