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);
}
};
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
};
};
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
};