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
sizeof (*tr));
clib_memset (tr, 0, sizeof (*tr));
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);
}
ip_address_copy (&tr->map_resolver_ip,
&lcm->active_map_resolver);
}
};
cast_fct cast_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,
};
copy_fct copy_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,