Subject: Pimd on Linux 2.2.x

From: Fabrizio Nesti <[email-masked]>
Date: Mon, 14 Feb 2000 11:58:13 +0100 (MET)

Hello,
I am interested in running pimd on a linux  workstation (2.2.12), with only
one ethernet interface. (our router is not ready yet).

Is it true that PIM should also support tunnel interfaces, and if pimd does,
how can it recognise things like tunl0 or dvmrp1?

Thanks in advance
ciao,

Fabrizio Nesti -- SISSA

---

From: Pavlin Ivanov Radoslavov <[email-masked]>
Date: Tue, 15 Feb 2000 18:56:22 -0800

> how can it recognise things like tunl0 or dvmrp1?

It doesn't. If those interfaces were setup in the kernel before pimd
was launched, it will try to use them as long as those interfaces
have the IFF_MULTICAST flag set. To be more specific, it will not
ignore those interfaces, but to be really able to use them for
things like sending Join messages, the unicast routing must use
those interfaces as the incoming interface toward some
destinations. If your kernel doesn't incorporate the tunl0(==GRE?)
interface in the routing table, then they cannot be used (sorry, I
don't know the facts about the Linux's kernel).

The tunnel interfaces are not part of the PIM spec. In general, you
can use those interfaces as long as the kernel "hides" their
non-physical origin.

Regards,
Pavlin

---

From: Fabrizio Nesti <[email-masked]>
Date: Fri, 18 Feb 2000 17:54:56 +0100 (MET)

Thanks for the reply!

> have the IFF_MULTICAST flag set. 

Actually tt seems that they are not recognized, at startup:

   pimd: 17:43:35.986 warning - Invalid phyint address 'dvmrp1'
                                in /etc/pimd.conf

The interface is up and running, although not in the unicast routing table. 
So, if I understand, pimd is not making any kernel level routing, 
just handling joins etc. on multicast group, and it needs an entry in the
routing table?

> To be more specific, it will not ignore those interfaces, but to be
> really able to use them for things like sending Join messages, the
> unicast routing must use those interfaces as the incoming interface
> toward some destinations. If your kernel doesn't incorporate the
> tunl0(==GRE?) interface in the routing table, then they cannot be used
> (sorry, I don't know the facts about the Linux's kernel).

On the other hand, looking at the code in vif.c, it seems that tunnel
interfaces may be recognized by means of the flag 't':

	/*
	 * Initialize the passed vif with all appropriate default values.
	 * "t" is true if a tunnel or register_vif, or false if a phyint.
	 */
	void zero_vif(v, t)
	...

but actually it is called in config.c only, with FALSE parameter:

        v = &uvifs[numvifs];
        zero_vif(v, FALSE);
	...

I would like just to manage a multicast (only, no TCP etc) tunnel through 
a non compliant router.. 
Is it possible? 

Again thanks 
Fabrizio Nesti -- SISSA

---

From: Hitoshi Asaeda <[email-masked]>
Date: Mon, 21 Feb 2000 12:29:12 +0900 (JST)

>    pimd: 17:43:35.986 warning - Invalid phyint address 'dvmrp1'

I believe you specified a statment, "phyint dvmrp1", in pimd.conf. This
means that you pointed out to disable the interface. However,
according to above warning, pimd complained that dvmrp1 was not
recognized as an interface because of some reason, like no IP address,
no IFF_MULTICAST, etc. So pimd just ignored this statement, "phyint
dvmrp".
Anyway, what is "dvmrp1"? I've not used Linux, but "dvmrp1" looks to
me curious. This provides some tunnel mechanism?

> just handling joins etc. on multicast group, and it needs an entry in the

To construct a multicast routing tree, unicast routing table is
required.
And pimd itself doesn't forward packets. Kernel does.

> I would like just to manage a multicast (only, no TCP etc) tunnel through 

pimd doesn't have a tunnel mechanism, like mrouted. However, if you
have tunnel interfaces, like gif0, gre0, etc, it'll be able to use
them with pimd.
But, remember current pimd (2.1.0-alpha27) cannot work with tunnel
device. We will be able to release new pimd (2.2.0?) in order to make
it work with tunnel devices.
--
Hitoshi Asaeda