qpimd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[qpimd-users] querry realted with vifs and ifs in pimd


From: bhavin81
Subject: [qpimd-users] querry realted with vifs and ifs in pimd
Date: Thu, 10 Sep 2009 20:25:49 +0530
User-agent: SquirrelMail/1.4.19

Hello friends,

     Thanks Everton for your extremely helpful reply.
I have still some  querry related with interface. I might be paraphrsing
the things said by Everton to make it clear for me.
let's say machine has 4 (eth 0,1,2,3) ethernet cards so it has 4 interfaces.
One struct interface for each means 4 struct interfaces in this case.
Then what is the connected list of addresses? In this case, is it
the remaining 3 interfaces addresses by each one i.e. eth0 will have
eth1,2,3 addresses plus it self's address in the connected list or eth0
it self may have several addresses and they are stored in the connected
addresses list? If second possibility then lowest ip address of the all
will be the primary address.

Regards,
Bhavin.

> Hi,
>
> On Wed, Sep 9, 2009 at 11:28 AM, <address@hidden> wrote:
>>
>> -> Each interface which is known as interface in pimd has pim_interface
>> and they have ifindex(interface's) and vifindex(pim_interface's)
>> respectively.  Every interface as well as pim_inteface has primary
>> address.
>>
>>  if i am correct then can anyone tell me why are we duplicating same
>> information in both interface and pim_interface? Is it due to dependance
>> of quagga on other moduels or is it standarda way of defining inteface
>> for each daemon?
>
> Zebra lib creates an "struct interface" instance for *every* interface
> seen
> by the operation system (even for those not running PIM). Those
> interfaces are assigned an ifindex by the operating system. The
> struct "interface" keeps a whole list of connected addresses (not just
> one primary address), see the "connected" member.
>
> pimd creates an "struct pim_interface" only for interfaces running
> multicast (either PIM or IGMP). pimd needs to detect change in
> the primary address of the interface, then it saves the current
> primary address in "primary_address" under "struct pim_interface".
>
> Also, in order to program the MFC, pimd needs to assign an unique
> vif_index to an interface. Currently, such an unique vif_index is easily
> allocated by copying the same value as interface->ifindex, but ifindex
> and vif_index are not exactly the same thing, hence the apparent
> duplication.
>
> Everton
>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]