lisp: fix crash with arp and packet trace on
With packet trace on, VPP crashes when an arp packet arrives. This patch fixes the crash and also ensures that the packet trace displays the eid info. Type: fix Signed-off-by: Onong Tayeng <otayeng@cisco.com> Change-Id: Iaad09a5e2b33e931ab9bd7bc3d4573b5ed5e4bfd (cherry picked from commit a3960a8b74de5cef51db2c7575f8f2d71a013d0a)
This commit is contained in:

committed by
Andrew Yourtchenko

parent
911d7563cb
commit
7bae4911bf
@ -3552,7 +3552,11 @@ lisp_cp_lookup_inline (vlib_main_t * vm,
|
||||
sizeof (*tr));
|
||||
|
||||
clib_memset (tr, 0, sizeof (*tr));
|
||||
gid_address_copy (&tr->dst_eid, &dst);
|
||||
if ((gid_address_type (&dst) == GID_ADDR_NDP) ||
|
||||
(gid_address_type (&dst) == GID_ADDR_ARP))
|
||||
clib_memcpy (&tr->dst_eid, &dst, sizeof (gid_address_t));
|
||||
else
|
||||
gid_address_copy (&tr->dst_eid, &dst);
|
||||
ip_address_copy (&tr->map_resolver_ip,
|
||||
&lcm->active_map_resolver);
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ serdes_fct write_fcts[GID_ADDR_TYPES] =
|
||||
};
|
||||
|
||||
cast_fct cast_fcts[GID_ADDR_TYPES] =
|
||||
{ ip_prefix_cast, lcaf_cast, mac_cast, sd_cast, nsh_cast, 0 /* arp */ ,
|
||||
{ ip_prefix_cast, lcaf_cast, mac_cast, sd_cast, nsh_cast, no_addr_cast,
|
||||
no_addr_cast
|
||||
};
|
||||
|
||||
@ -51,7 +51,7 @@ addr_len_fct addr_len_fcts[GID_ADDR_TYPES] =
|
||||
};
|
||||
|
||||
copy_fct copy_fcts[GID_ADDR_TYPES] =
|
||||
{ ip_prefix_copy, lcaf_copy, mac_copy, sd_copy, nsh_copy, 0 /* arp */ ,
|
||||
{ ip_prefix_copy, lcaf_copy, mac_copy, sd_copy, nsh_copy, no_addr_copy,
|
||||
no_addr_copy
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user