X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fmctap.c;h=8125c41e34e1f0aa6eab4265b2da1fc9fdda586f;hb=4f6c7408011df0741cff090df878b5b362a38747;hp=437082b63d42f3d7aa31749aabd33ea21ce44bbe;hpb=aeddd223ec0994425151d23753f25154eee3703e;p=mctap.git diff --git a/src/mctap.c b/src/mctap.c index 437082b..8125c41 100644 --- a/src/mctap.c +++ b/src/mctap.c @@ -68,13 +68,16 @@ static int mkmcastsk4(struct in_addr group, int port) mreq.imr_multiaddr = group; if(setsockopt(fd, SOL_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq))) return(-1); + soval = 1; + if(setsockopt(fd, SOL_IP, IP_MULTICAST_LOOP, &soval, sizeof(soval))) + return(-1); return(fd); } static void test(int fd) { char buf[65536]; - int ret; + int i, ret; struct sockaddr_storage nm; socklen_t nmlen; @@ -86,6 +89,11 @@ static void test(int fd) exit(1); } printf("%s %i:\n", formataddress((struct sockaddr *)&nm, nmlen), ret); + for(i = 0; i < ret; i++) { + printf("%02x ", (unsigned char)buf[i]); + if(i % 20 == 0) + putchar(10); + } } }