Skip to content

Commit

Permalink
Enable the local cache mac address
Browse files Browse the repository at this point in the history
Change-Id: If7d72f6ab3db68bc093c42d60d125fe86f8fbda7
Signed-off-by: Deepak S <[email protected]>
  • Loading branch information
sdeepak2 committed Aug 7, 2018
1 parent 974e4b3 commit 441879c
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion common/VIL/l2l3_stack/lib_arp.c
Original file line number Diff line number Diff line change
Expand Up @@ -294,12 +294,20 @@ struct arp_entry_data *get_dest_mac_addr_ipv4(const uint32_t nhip,
uint32_t phy_port, struct ether_addr *hw_addr)
{
struct arp_entry_data *ret_arp_data = NULL;
struct ether_addr *x;
uint8_t index;

/* as part of optimization we store mac address in cache
* & thus can be sent without having to retrieve
*/
if (likely(arp_cache_dest_mac_present(phy_port))) {
x = get_local_cache_hw_addr(phy_port, nhip);
if (unlikely(!x)) {
printf("local copy of address not stored\n");
return NULL;
}

ether_addr_copy(x, hw_addr);
return &arp_entry_data_default;
}

Expand Down Expand Up @@ -2488,7 +2496,7 @@ struct ether_addr *get_local_cache_hw_addr(uint8_t out_port, uint32_t nhip)
limit = p_arp_data->arp_local_cache[out_port].num_nhip;
for (i=0; i < limit; i++) {
tmp = p_arp_data->arp_local_cache[out_port].nhip[i];
if (tmp == nhip) {
if (likely(tmp == nhip)) {
x = &p_arp_data->arp_local_cache[out_port].link_hw_laddr[i];
return x;
}
Expand Down

0 comments on commit 441879c

Please sign in to comment.