X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vnet%2Fvnet%2Fip%2Fip6.h;h=70e326725301d1d3be7da536f030c586c141af3d;hb=d076f19b5e119265d995a031707c8d78608c439f;hp=312e39845b4c5c42595c904e254a2fa740d354c0;hpb=5b7a563ff0a39b74a0f037572b7709e3c9aa5cf2;p=vpp.git diff --git a/vnet/vnet/ip/ip6.h b/vnet/vnet/ip/ip6.h index 312e39845b4..70e32672530 100644 --- a/vnet/vnet/ip/ip6.h +++ b/vnet/vnet/ip/ip6.h @@ -289,13 +289,16 @@ ip6_unaligned_destination_matches_route (ip6_main_t * im, return 1; } -always_inline void +always_inline int ip6_src_address_for_packet (ip6_main_t * im, vlib_buffer_t * p, ip6_address_t * src, u32 sw_if_index) { ip_lookup_main_t * lm = &im->lookup_main; ip_interface_address_t * ia = ip_interface_address_for_packet (lm, p, sw_if_index); + if (ia == NULL) + return -1; ip6_address_t * a = ip_interface_address_get_address (lm, ia); *src = a[0]; + return 0; } always_inline u32