linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* RE: Multicast Broadcast
@ 2001-11-29 21:29 berthiaume_wayne
  2001-11-29 21:31 ` Andi Kleen
  0 siblings, 1 reply; 11+ messages in thread
From: berthiaume_wayne @ 2001-11-29 21:29 UTC (permalink / raw)
  To: ak; +Cc: linux-kernel

	Andi, forgive my ignorance. I've searched around and can't seem to
find any references to IP_ADD_MEMBERSHIP and how to use it. I did perform an
fgrep() and found the switch in net/ipv4/ip_socketglue.c, but where do I
implement it or how do I call it? Is this something I place in
/etc/sysconfig/network-scriptsifcfg-eth<x> file? Any help would be
appreciated.
Regards,
Wayne
EMC Corp
ObjectStor Engineering
4400 Computer Drive
M/S F213
Westboro,  MA    01580

email:       Berthiaume_Wayne@emc.com

"One man can make a difference, and every man should try."  - JFK


-----Original Message-----
From: Andi Kleen [mailto:ak@suse.de]
Sent: Monday, November 26, 2001 11:16 AM
To: berthiaume_wayne@emc.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: Multicast Broadcast


berthiaume_wayne@emc.com writes:

> 	One potential work-around is a patch to
> net/ipv4/igmp.c:ip_mc_join_group.
> For example:
> 
> #ifdef DUAL_MCAST_BIND
>    if(!imr->imr_ifindex) {
>       imr->ifindex=2;  /* eth0 */
>       err=ip_mc_join_group(sk, imr);
>       if (!err) {
>         imr->ifindex=3; /* eth1 */
>         err=ip_mc_join_group(sk, imr);
>       }
>       return err;
>    }
> #else
>    if(!imr->imr_ifindex)
>      in_dev = ip_mc_find_dev(imr);
> #endif
> 
> 	I'm hoping that there is another way.

It depends on what you want to do, but this "fix" is the same
equivalent to executing IP_ADD_MEMBERSHIP twice with 2 and 3 in the
imr_ifindex field (except that the later doesn't break any programs) 

-Andi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Multicast Broadcast
  2001-11-29 21:29 Multicast Broadcast berthiaume_wayne
@ 2001-11-29 21:31 ` Andi Kleen
  0 siblings, 0 replies; 11+ messages in thread
From: Andi Kleen @ 2001-11-29 21:31 UTC (permalink / raw)
  To: berthiaume_wayne; +Cc: ak, linux-kernel

On Thu, Nov 29, 2001 at 04:29:22PM -0500, berthiaume_wayne@emc.com wrote:
> 	Andi, forgive my ignorance. I've searched around and can't seem to
> find any references to IP_ADD_MEMBERSHIP and how to use it. I did perform an

man 7 ip

It is a socket option you use in the program that does the multicast
communication.

-Andi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Multicast Broadcast
  2001-11-30 21:12 berthiaume_wayne
@ 2001-12-01 16:19 ` Andi Kleen
  0 siblings, 0 replies; 11+ messages in thread
From: Andi Kleen @ 2001-12-01 16:19 UTC (permalink / raw)
  To: berthiaume_wayne; +Cc: ak, linux-kernel, alan

On Fri, Nov 30, 2001 at 04:12:58PM -0500, berthiaume_wayne@emc.com wrote:
> 	Andi, it appears that JVM doesn't support the ip_mreqn struct that
> would allow us to use imr_ifindex but supports only the older ip_mreq struct
> as the optval. Any other suggestions.

ip_mreqn is the only way I can think off. My suggestion is to fix the JVM
or use JNI.


-Andi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: Multicast Broadcast
@ 2001-11-30 21:12 berthiaume_wayne
  2001-12-01 16:19 ` Andi Kleen
  0 siblings, 1 reply; 11+ messages in thread
From: berthiaume_wayne @ 2001-11-30 21:12 UTC (permalink / raw)
  To: ak; +Cc: linux-kernel, alan

	Andi, it appears that JVM doesn't support the ip_mreqn struct that
would allow us to use imr_ifindex but supports only the older ip_mreq struct
as the optval. Any other suggestions.
Most appreciated,
Wayne
EMC Corp
ObjectStor Engineering
4400 Computer Drive
M/S F213
Westboro,  MA    01580

email:       Berthiaume_Wayne@emc.com
                 WBerthiaume@clariion.com

"One man can make a difference, and every man should try."  - JFK
 

-----Original Message-----
From: Andi Kleen [mailto:ak@suse.de]
Sent: Thursday, November 29, 2001 4:32 PM
To: berthiaume_wayne@emc.com
Cc: ak@suse.de; linux-kernel@vger.kernel.org
Subject: Re: Multicast Broadcast


On Thu, Nov 29, 2001 at 04:29:22PM -0500, berthiaume_wayne@emc.com wrote:
> 	Andi, forgive my ignorance. I've searched around and can't seem to
> find any references to IP_ADD_MEMBERSHIP and how to use it. I did perform
an

man 7 ip

It is a socket option you use in the program that does the multicast
communication.

-Andi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Multicast Broadcast
  2001-11-26 16:33 berthiaume_wayne
@ 2001-11-26 16:44 ` Andi Kleen
  0 siblings, 0 replies; 11+ messages in thread
From: Andi Kleen @ 2001-11-26 16:44 UTC (permalink / raw)
  To: berthiaume_wayne; +Cc: ak, linux-kernel

On Mon, Nov 26, 2001 at 11:33:03AM -0500, berthiaume_wayne@emc.com wrote:
> 	Wouldn't the IP address for the two NIC's have to be different for
> that to work? I'm binding the same VIP to the two eth's.

ifindexes have nothing to do with IP addresses. If you tell the kernel
which interface(s) you want it'll follow your wishes.

There is not really an IP address per NIC; IP addresses are global per host
and the association with an IP interface just defines some defaults which
can be always overwritten by the user if he wants to.

-Andi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: Multicast Broadcast
@ 2001-11-26 16:33 berthiaume_wayne
  2001-11-26 16:44 ` Andi Kleen
  0 siblings, 1 reply; 11+ messages in thread
From: berthiaume_wayne @ 2001-11-26 16:33 UTC (permalink / raw)
  To: ak; +Cc: linux-kernel

	Wouldn't the IP address for the two NIC's have to be different for
that to work? I'm binding the same VIP to the two eth's.

-----Original Message-----
From: Andi Kleen [mailto:ak@suse.de]
Sent: Monday, November 26, 2001 11:16 AM
To: berthiaume_wayne@emc.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: Multicast Broadcast


berthiaume_wayne@emc.com writes:

> 	One potential work-around is a patch to
> net/ipv4/igmp.c:ip_mc_join_group.
> For example:
> 
> #ifdef DUAL_MCAST_BIND
>    if(!imr->imr_ifindex) {
>       imr->ifindex=2;  /* eth0 */
>       err=ip_mc_join_group(sk, imr);
>       if (!err) {
>         imr->ifindex=3; /* eth1 */
>         err=ip_mc_join_group(sk, imr);
>       }
>       return err;
>    }
> #else
>    if(!imr->imr_ifindex)
>      in_dev = ip_mc_find_dev(imr);
> #endif
> 
> 	I'm hoping that there is another way.

It depends on what you want to do, but this "fix" is the same
equivalent to executing IP_ADD_MEMBERSHIP twice with 2 and 3 in the
imr_ifindex field (except that the later doesn't break any programs) 

-Andi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Multicast Broadcast
       [not found] <93F527C91A6ED411AFE10050040665D00241AB08@corpusmx1.us.dg.com.suse.lists.linux.kernel>
@ 2001-11-26 16:15 ` Andi Kleen
  0 siblings, 0 replies; 11+ messages in thread
From: Andi Kleen @ 2001-11-26 16:15 UTC (permalink / raw)
  To: berthiaume_wayne; +Cc: linux-kernel

berthiaume_wayne@emc.com writes:

> 	One potential work-around is a patch to
> net/ipv4/igmp.c:ip_mc_join_group.
> For example:
> 
> #ifdef DUAL_MCAST_BIND
>    if(!imr->imr_ifindex) {
>       imr->ifindex=2;  /* eth0 */
>       err=ip_mc_join_group(sk, imr);
>       if (!err) {
>         imr->ifindex=3; /* eth1 */
>         err=ip_mc_join_group(sk, imr);
>       }
>       return err;
>    }
> #else
>    if(!imr->imr_ifindex)
>      in_dev = ip_mc_find_dev(imr);
> #endif
> 
> 	I'm hoping that there is another way.

It depends on what you want to do, but this "fix" is the same
equivalent to executing IP_ADD_MEMBERSHIP twice with 2 and 3 in the
imr_ifindex field (except that the later doesn't break any programs) 

-Andi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: Multicast Broadcast
@ 2001-11-26 15:47 berthiaume_wayne
  0 siblings, 0 replies; 11+ messages in thread
From: berthiaume_wayne @ 2001-11-26 15:47 UTC (permalink / raw)
  To: lk; +Cc: linux-kernel

	One potential work-around is a patch to
net/ipv4/igmp.c:ip_mc_join_group.
For example:

#ifdef DUAL_MCAST_BIND
   if(!imr->imr_ifindex) {
      imr->ifindex=2;  /* eth0 */
      err=ip_mc_join_group(sk, imr);
      if (!err) {
        imr->ifindex=3; /* eth1 */
        err=ip_mc_join_group(sk, imr);
      }
      return err;
   }
#else
   if(!imr->imr_ifindex)
     in_dev = ip_mc_find_dev(imr);
#endif

	I'm hoping that there is another way.

Wayne
EMC Corp
ObjectStorEngineering
4400 Computer Drive
M/S F213
Westboro,  MA    01580

email:       Berthiaume_Wayne@emc.com

"One man can make a difference, and every man should try."  - JFK


-----Original Message-----
From: Jamie Lokier [mailto:lk@tantalophile.demon.co.uk]
Sent: Friday, November 23, 2001 3:53 PM
To: berthiaume_wayne@emc.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: Multicast Broadcast


berthiaume_wayne@emc.com wrote:
> 	I have a cluster that I wish to be able to perform a multicast
> broadcast over two backbones, primary and secondary, simultaneously. The
two
> eth's are bound to the same VIP. When I perform the broadcast, it only
goes
> out on eth0. 

I have seen this problem when trying to use an NTP server to multicast
to two ethernets.  Unfortunately, NTP's output would only send to one of
the networks (eth0).

I never did find a workaround.

-- Jamie

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Multicast Broadcast
  2001-11-21 20:53 berthiaume_wayne
  2001-11-21 21:07 ` Peter Svensson
@ 2001-11-23 20:52 ` Jamie Lokier
  1 sibling, 0 replies; 11+ messages in thread
From: Jamie Lokier @ 2001-11-23 20:52 UTC (permalink / raw)
  To: berthiaume_wayne; +Cc: linux-kernel

berthiaume_wayne@emc.com wrote:
> 	I have a cluster that I wish to be able to perform a multicast
> broadcast over two backbones, primary and secondary, simultaneously. The two
> eth's are bound to the same VIP. When I perform the broadcast, it only goes
> out on eth0. 

I have seen this problem when trying to use an NTP server to multicast
to two ethernets.  Unfortunately, NTP's output would only send to one of
the networks (eth0).

I never did find a workaround.

-- Jamie

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Multicast Broadcast
  2001-11-21 20:53 berthiaume_wayne
@ 2001-11-21 21:07 ` Peter Svensson
  2001-11-23 20:52 ` Jamie Lokier
  1 sibling, 0 replies; 11+ messages in thread
From: Peter Svensson @ 2001-11-21 21:07 UTC (permalink / raw)
  To: berthiaume_wayne; +Cc: linux-kernel

On Wed, 21 Nov 2001 berthiaume_wayne@emc.com wrote:

> 	I have a cluster that I wish to be able to perform a multicast
> broadcast over two backbones, primary and secondary, simultaneously. The two
> eth's are bound to the same VIP. When I perform the broadcast, it only goes
> out on eth0. 

I think you need multicast routing for that to work the way you want it 
to. Flooding multicast traffic between network segments is normally the 
task for multicast routers since you need a routing protocol to prevent 
loops etc. If you send the data on both packets a multicast router 
connected to the two networks would forward a copy each way resulting in 
two packets on both segments.

Peter
--
Peter Svensson      ! Pgp key available by finger, fingerprint:
<petersv@psv.nu>    ! 8A E9 20 98 C1 FF 43 E3  07 FD B9 0A 80 72 70 AF
------------------------------------------------------------------------
Remember, Luke, your source will be with you... always...



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Multicast Broadcast
@ 2001-11-21 20:53 berthiaume_wayne
  2001-11-21 21:07 ` Peter Svensson
  2001-11-23 20:52 ` Jamie Lokier
  0 siblings, 2 replies; 11+ messages in thread
From: berthiaume_wayne @ 2001-11-21 20:53 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1112 bytes --]

	Hello group....

	I have a cluster that I wish to be able to perform a multicast
broadcast over two backbones, primary and secondary, simultaneously. The two
eth's are bound to the same VIP. When I perform the broadcast, it only goes
out on eth0. 
	Is there a way to do this without writing an application to do it?
I've been looking at igmp.c:ip_mc_join_group to do a possible change like:

#ifdef DUAL_MCAST_BIND
   if(!imr->imr_ifindex) {
      imr->ifindex=2;  /* eth0 */
      err=ip_mc_join_group(sk, imr);
      if (!err) {
        imr->ifindex=3; /* eth1 */
        err=ip_mc_join_group(sk, imr);
      }
      return err;
   }
#else
   if(!imr->imr_ifindex)
     in_dev = ip_mc_find_dev(imr);
#endif

	Will this be necessary??? Could there be something in the kerenl to
configure?

PS: Please cc me any response as I'm not yet monitoring this group.

Thanks,
Wayne
EMC Corp
ObjectStorEngineering
4400 Computer Drive
M/S F213
Westboro,  MA    01580

email:       Berthiaume_Wayne@emc.com
                 WBerthiaume@clariion.com

"One man can make a difference, and every man should try."  - JFK







[-- Attachment #2: Wayne Berthiaume (E-mail).vcf --]
[-- Type: application/octet-stream, Size: 552 bytes --]

BEGIN:VCARD
VERSION:2.1
N:Berthiaume;Wayne
FN:Wayne Berthiaume
ORG:EMC Corp
TITLE:Sr Attach Engineer
TEL;WORK;VOICE:(508) 382-6026
TEL;PAGER;VOICE:(888) 769-4578
TEL;WORK;FAX:(508) 480-7897
ADR;WORK;ENCODING=QUOTED-PRINTABLE:;;CLARiiON Attach Engineering=0D=0A4 Coslin Drive=0D=0AM/S C4-40;Southboro;M=
A;01772;United States of America
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:CLARiiON Attach Engineering=0D=0A4 Coslin Drive=0D=0AM/S C4-40=0D=0ASouthbor=
o, MA 01772=0D=0AUnited States of America
URL;WORK:http://www.emc.com
REV:20010108T191730Z
END:VCARD

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2001-12-01 16:20 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-11-29 21:29 Multicast Broadcast berthiaume_wayne
2001-11-29 21:31 ` Andi Kleen
  -- strict thread matches above, loose matches on Subject: below --
2001-11-30 21:12 berthiaume_wayne
2001-12-01 16:19 ` Andi Kleen
2001-11-26 16:33 berthiaume_wayne
2001-11-26 16:44 ` Andi Kleen
     [not found] <93F527C91A6ED411AFE10050040665D00241AB08@corpusmx1.us.dg.com.suse.lists.linux.kernel>
2001-11-26 16:15 ` Andi Kleen
2001-11-26 15:47 berthiaume_wayne
2001-11-21 20:53 berthiaume_wayne
2001-11-21 21:07 ` Peter Svensson
2001-11-23 20:52 ` Jamie Lokier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).