- ip46_address_t src = to_ip46 (mp->is_ipv6, mp->dst_address);
- ip46_address_t dst = to_ip46 (mp->is_ipv6, mp->src_address);
+ ip46_address_t src = {.as_u64[0] = 0,.as_u64[1] = 0 };
+ ip46_address_t dst = {.as_u64[0] = 0,.as_u64[1] = 0 };
+
+ if (mp->src_address.af == ADDRESS_IP6)
+ {
+ clib_memcpy (&src.ip6, &mp->src_address.un.ip6, sizeof (ip6_address_t));
+ clib_memcpy (&dst.ip6, &mp->dst_address.un.ip6, sizeof (ip6_address_t));
+ }
+ else
+ {
+ clib_memcpy (&src.ip4, &mp->src_address.un.ip4, sizeof (ip4_address_t));
+ clib_memcpy (&dst.ip4, &mp->dst_address.un.ip4, sizeof (ip4_address_t));
+ }