[Xorp-users] Looping back PIM messages
Venketesan
venkthi1 at iit.edu
Mon Aug 7 16:21:02 PDT 2006
Thanks for clarifying that it was an expected behaviour. I did put in
a check to ignore my own packets .
regards,
Venkat
----- Original Message -----
From: Pavlin Radoslavov <pavlin at icir.org>
Date: Monday, August 7, 2006 4:06 pm
Subject: Re: [Xorp-users] Looping back PIM messages
> > I am sorry, i noticed in fact that the PIm control messages do
> go out
> > of the interface 1 in router B, but i still dont know why they
> are
> > also looped back to me when XORP is running.
>
> Yes, this is the expected behavior, because the IP_MULTICAST_LOOP
> flag is explicitly set before transmitting the multicast packets.
> E.g., see the following code inside fea/mfea_proto_comm.cc,
> ProtoComm::proto_socket_write():
>
> if (dst.is_multicast()) {
> set_default_multicast_vif(mfea_vif->vif_index());
> set_multicast_loop(true);
> setloop = true;
> }
>
> Hence, in your code you would have to explicitly ignore your own
> control messages. E.g., see the following code inside pim/pim_vif.cc
> PimVif::pim_process():
>
> // Ignore my own PIM messages
> if (pim_node().is_my_addr(src))
> return (XORP_ERROR);
>
>
> If for whatever reason you cannot perform such check, then you can
> try to comment-out the "set_multicast_loop(true)" statement inside
> fea/mfea_proto_comm.cc.
>
>
> Pavlin
>
>
> > Thanks a lot.
> >
> > venkat
> >
> > ----- Original Message -----
> > From: Venketesan <venkthi1 at iit.edu>
> > Date: Thursday, August 3, 2006 6:44 pm
> > Subject: [Xorp-users] Looping back PIM messages
> >
> > > Hey all,
> > >
> > > I am writing a multicast tunneling protocol in linux redhat 9.
> I
> > > have
> > > a program that
> > > receives encapsulated PIm control messages on an interface
> that
> > > basically connects to a non multicast router.
> > > The topology is the following
> > > A---->0B1----->C
> > >
> > > A is a non xorp linux box.
> > > B is a xorp linux box with my code running in it too.
> > > C is a pure XORP linux box.
> > >
> > > I receive unicast encapsulated PIM control messages in B via
> A. My
> > > code
> > > receves thise control messages and decapsulates and sends them
> to
> > > C. I
> > > send these PIM-SM packets using a raw socket binded to IP
> address
> > > of
> > > interface 1 in B.
> > >
> > > Now the issue is for some reason my program receves all the
> PIM
> > > control messages back that it was supposed to send out. Xorp
> is
> > > looping it back and not letting the packets go out of
> interface1
> > > in B.
> > > If i
> > > stop xorp everything is fine and the packets are received at C.
> > > Note that i am not listening over any raw socket just sending
> PIM-
> > > SM
> > > packets using them. The way i receive is in the kernel i
> intercept
> > > PIM-
> > > SM packets, make a copy of the same and pass it to my user
> space
> > > program using netlink sockets.
> > >
> > > Can anyone guide me on this issue, is it a expected behaviour
> of
> > > XORP
> > > to loop back any PIM-SM control packet not orginated by itself.
> > > I am using XORP 1.2
> > > regards,
> > > Venkat
> > >
> > > _______________________________________________
> > > Xorp-users mailing list
> > > Xorp-users at xorp.org
> > > http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-users
> > >
> >
> > _______________________________________________
> > Xorp-users mailing list
> > Xorp-users at xorp.org
> > http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-users
>
More information about the Xorp-users
mailing list