From e101e1f52f1da71575588fac30b984a0e94fb5a7 Mon Sep 17 00:00:00 2001 From: Eyal Bari Date: Wed, 15 Mar 2017 08:23:42 +0200 Subject: VXLAN:add hidden multicast interface check and some refactoring Change-Id: I99e3c5e782ce65cb9779ccc3a9a3151ef1429e07 Signed-off-by: Eyal Bari --- src/vnet/ip/ip6_packet.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/vnet/ip/ip6_packet.h') diff --git a/src/vnet/ip/ip6_packet.h b/src/vnet/ip/ip6_packet.h index bb7d703926b..cdd7eed5a82 100644 --- a/src/vnet/ip/ip6_packet.h +++ b/src/vnet/ip/ip6_packet.h @@ -82,21 +82,23 @@ typedef CLIB_PACKED (union { #define ip46_address_is_equal(a1, a2) (((a1)->as_u64[0] == (a2)->as_u64[0]) \ && ((a1)->as_u64[1] == (a2)->as_u64[1])) -always_inline void -ip46_from_addr_buf (u32 is_ipv6, u8 * buf, ip46_address_t * ip) +always_inline ip46_address_t +to_ip46 (u32 is_ipv6, u8 * buf) { + ip46_address_t ip; if (is_ipv6) - ip->ip6 = *((ip6_address_t *) buf); + ip.ip6 = *((ip6_address_t *) buf); else - ip46_address_set_ip4 (ip, (ip4_address_t *) buf); + ip46_address_set_ip4 (&ip, (ip4_address_t *) buf); + return ip; } + always_inline void ip6_addr_fib_init (ip6_address_fib_t * addr_fib, ip6_address_t * address, u32 fib_index) { - addr_fib->ip6_addr.as_u64[0] = address->as_u64[0]; - addr_fib->ip6_addr.as_u64[1] = address->as_u64[1]; + addr_fib->ip6_addr = *address; addr_fib->fib_index = fib_index; } -- cgit 1.2.3-korg