From 4cf4e8329797811a10baa4dda8e0d490af5503cb Mon Sep 17 00:00:00 2001 From: Rafael Zalamena Date: Tue, 19 Mar 2019 17:25:00 -0300 Subject: [PATCH] bfdd: fix echo loopback function Add the address family to the sockaddr structure otherwise `sendmsg` will fail with `EAFNOSUPPORT`. Signed-off-by: Rafael Zalamena --- bfdd/bfd_packet.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bfdd/bfd_packet.c b/bfdd/bfd_packet.c index 69d27ed698..93677ec85a 100644 --- a/bfdd/bfd_packet.c +++ b/bfdd/bfd_packet.c @@ -141,6 +141,7 @@ void ptm_bfd_echo_snd(struct bfd_session *bfd) if (BFD_CHECK_FLAG(bfd->flags, BFD_SESS_FLAG_IPV6)) { sd = bglobal.bg_echov6; memset(&sin6, 0, sizeof(sin6)); + sin6.sin6_family = AF_INET6; memcpy(&sin6.sin6_addr, &bfd->key.peer, sizeof(sin6.sin6_addr)); if (bfd->ifp && IN6_IS_ADDR_LINKLOCAL(&sin6.sin6_addr)) sin6.sin6_scope_id = bfd->ifp->ifindex; @@ -155,6 +156,7 @@ void ptm_bfd_echo_snd(struct bfd_session *bfd) } else { sd = bglobal.bg_echo; memset(&sin6, 0, sizeof(sin6)); + sin.sin_family = AF_INET; memcpy(&sin.sin_addr, &bfd->key.peer, sizeof(sin.sin_addr)); sin.sin_port = htons(BFD_DEF_ECHO_PORT); #ifdef HAVE_STRUCT_SOCKADDR_SA_LEN -- 2.39.5