From 96b6e7ca9603e6ba8b8f9ad22747bec0431763fd Mon Sep 17 00:00:00 2001 From: Alex Forencich Date: Fri, 21 Nov 2014 00:00:27 -0800 Subject: [PATCH] Ignore transient requests --- rtl/arp.v | 4 ++-- rtl/arp_64.v | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rtl/arp.v b/rtl/arp.v index 000fa85ec..a88928a9d 100644 --- a/rtl/arp.v +++ b/rtl/arp.v @@ -326,7 +326,7 @@ always @* begin end // manage ARP lookup requests - if (~arp_request_operation_reg) begin + if (~arp_request_operation_reg & ~arp_response_valid) begin if (arp_request_valid) begin if (~(arp_request_ip | subnet_mask) == 0) begin // broadcast address @@ -355,7 +355,7 @@ always @* begin arp_request_retry_cnt_next = REQUEST_RETRY_COUNT-1; arp_request_timer_next = REQUEST_RETRY_INTERVAL; end - end else begin + end else if (arp_request_operation_reg) begin arp_request_timer_next = arp_request_timer_reg - 1; // if we got a response, it will go in the cache, so when the query succeds, we're done if (cache_query_response_valid & ~cache_query_response_error) begin diff --git a/rtl/arp_64.v b/rtl/arp_64.v index 490e3c101..8e9f84151 100644 --- a/rtl/arp_64.v +++ b/rtl/arp_64.v @@ -330,7 +330,7 @@ always @* begin end // manage ARP lookup requests - if (~arp_request_operation_reg) begin + if (~arp_request_operation_reg & ~arp_response_valid) begin if (arp_request_valid) begin if (~(arp_request_ip | subnet_mask) == 0) begin // broadcast address @@ -359,7 +359,7 @@ always @* begin arp_request_retry_cnt_next = REQUEST_RETRY_COUNT-1; arp_request_timer_next = REQUEST_RETRY_INTERVAL; end - end else begin + end else if (arp_request_operation_reg) begin arp_request_timer_next = arp_request_timer_reg - 1; // if we got a response, it will go in the cache, so when the query succeds, we're done if (cache_query_response_valid & ~cache_query_response_error) begin