From 98504d1cdcc20d17ee05eaa37c6205d27b9f6c09 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 11 Jan 2016 20:59:08 -0500 Subject: [PATCH] libca: enable mcast loopback --- src/ca/client/udpiiu.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/ca/client/udpiiu.cpp b/src/ca/client/udpiiu.cpp index e4e8bd31f..dcdb4f6af 100644 --- a/src/ca/client/udpiiu.cpp +++ b/src/ca/client/udpiiu.cpp @@ -163,6 +163,19 @@ udpiiu::udpiiu ( throwWithLocation ( noSocket () ); } +#ifdef IP_ADD_MEMBERSHIP + { + int flag = 1; + if(setsockopt(this->sock, IPPROTO_IP, IP_MULTICAST_LOOP, &flag, sizeof(flag))==-1) + { + char sockErrBuf[64]; + epicsSocketConvertErrnoToString ( + sockErrBuf, sizeof ( sockErrBuf ) ); + errlogPrintf("CAC: failed to set mcast loopback\n"); + } + } +#endif + int boolValue = true; int status = setsockopt ( this->sock, SOL_SOCKET, SO_BROADCAST, (char *) &boolValue, sizeof ( boolValue ) );