Hi,
I had a question.
How do I send IP multicast traffic if link layer is ATM?
I have a socket program, in which if I try sending over atm0, I get a
-EINVAL.
I have attached my sender code below.
I am using CLIP. I have two Linux boxes connected back-back (I am able to
ping each other on ATM).
The code works for ethernet.
Am I missing something?
Thanks,
Pramodh
mcast_send() {
fd=socket(AF_INET,SOCK_DGRAM,0);
/* struct ifreq ifr; */
strcpy(ifr.ifr_ifrn.ifrn_name, "atm0");
ret = ioctl(fd, SIOCGIFINDEX, (void *)&ifr);
/* struct ip_mreqn mreqn; */
mreqn.imr_multiaddr.s_addr = inet_addr("225.0.0.37");
/* 192.168.40.2 --> ATM interface address */
mreqn.imr_address.s_addr = inet_addr("192.168.40.2");
mreqn.imr_ifindex = ifr.ifr_ifru.ifru_ivalue;
ret = setsockopt(fd, SOL_IP, IP_MULTICAST_IF,
(void *)&mreqn, sizeof(mreqn));
/* struct sockaddr_in addr; */
addr.sin_family=AF_INET;
addr.sin_addr.s_addr=inet_addr("225.0.0.37");
addr.sin_port=htons(6001);
if (sendto(fd,(char *)message,len,0,
(struct sockaddr *) &addr, sizeof(addr)) < 0) {
perror("sendto");
exit(1);
}
}
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]