Networking Forums

Networking Forums > Computer Networking > Linux Networking > Multicast UDP deamon and VLAN interfaces

Reply
Thread Tools Display Modes

Multicast UDP deamon and VLAN interfaces

 
 
pietro.cerutti@gmail.com
Guest
Posts: n/a

 
      12-01-2006, 07:38 AM
Hi guys,
I have a daemon running on Debian and listening for multicast packets
sent to 224.0.0.251:5353 (ZeroConf Multicast DNS queries).
The server is plugged into a VLAN trunk with eth0 and joins several
VLANs using virtual interfaces (i.e. eth0.xxx). It should be able to
capture the UDP packets on any interfaces, so it spawns a thread for
each interface specified in a config file, and for each thread it
creates a socket:

/************************************************** ************************************/
// Inside a function whose parameters are:
// int *sfd - the socket file descriptor
// struct in_addr bound_ip - the IP on which to listen

#define PORT 5353
#define MGRP "224.0.0.0.251"

struct sockaddr_in addr;
struct ip_mreq mc;

*sfd = socket( AF_INET, SOCK_DGRAM, IPPROTO_UDP );

bzero( &addr, sizeof( addr ) );
addr.sin_family = AF_INET;
addr.sin_port = htons( PORT );
addr.sin_addr = bound_ip;

bind( *sfd, (struct sockaddr *) &addr, sizeof(addr));

int flag = 1;
mc.imr_multiaddr.s_addr = inet_addr( MGRP );
mc.imr_interface = bound_ip;

setsockopt( *sfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mc, sizeof(mc));
setsockopt( *sfd, SOL_SOCKET, SO_REUSEADDR, (char *) &flag,
sizeof(flag));
setsockopt( *sfd, SOL_SOCKET, SO_REUSEPORT, (char *) &flag,
sizeof(flag));

/************************************************** ************************************/

The problem is that the server captures the UDP packets sent to the
Multicast group only when bound_ip is set to 0 (INADDR_ANY), and even
then, only when the packets are coming on the first interface (eth0).

If I see right, the problem could be that I want to capture packets
sent to 224.0.0.251 while listening on IP, say, 192.168.2.103. But even
then, how could one specify on which interface to listen for a
Multicast packet?

What I'd like is to
- be able to specify several interfaces and spawn one daemon for each
one
- receive Multicast UDP packets only on the specified interfaces

Any hints are appreciated

Thank you,

Regards

 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Multicast UDP deamon and VLAN interfaces pietro.cerutti@gmail.com Linux Networking 6 12-01-2006 04:21 PM
VLAN - Security risk or not: 1 Port in 2 VLAN's arno Windows Networking 6 11-28-2006 10:57 PM
Can Microsoft's RRAS be configured for multicast? Such as in cases where you want to make it a multicast rendevous point? Spin Windows Networking 0 10-26-2006 01:06 PM
LISa deamon l0n3_w012ph Linux Networking 0 01-21-2005 12:43 PM
problem running smartlink modem driver deamon (slmodemd) Ruhan Alpaydin Linux Networking 0 11-24-2004 07:49 AM



1 2 3 4 5 6 7 8 9 10 11