qpimd-users
[Top][All Lists]
Advanced

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

[qpimd-users] Re: querry related with pim ssm


From: Everton Marques
Subject: [qpimd-users] Re: querry related with pim ssm
Date: Thu, 11 Feb 2010 13:12:35 -0200

Hi Bhavin,

On Thu, Feb 11, 2010 at 12:00 PM,  <address@hidden> wrote:
>
> (1)  Why is pim_mroute_add(&channel_oil->oil) function is called from the
> del_oif function in the file pim_zebra.c while we want to delete the
> S,G entry from MFC. (Which is done later on in the function del_oif ).

The kernel mroute API expects "struct mfcctl" to define the the whole
OIL (output interface list) for an S,G entry in the kernel. In order
to add/del specific interfaces to/from the OIL, one is supposed to
update the the array mfcctl.mfcc_ttls[] accordingly and then call
setsockopt(MRT_ADD_MFC) to deliver that information to the kernel MFC.

pim_mroute_add() is used either to add a completely new S,G entry, as
well as update the OIL for an existing S,G entry.

del_oif() purpose is to remove an specific interface from OIL. It does
so by removing the the interface from mfcctl.mfcc_ttls[] and then
calling pim_mroute_add() to send such an update towards the kernel.

> (2)  What is done by the function static int on_rpf_cache_refresh (struct
> thread *t) in the file pim_zebra.c since it calls pim_mroute_add which will
> add an entry to the MFC?

The purpose on_rpf_cache_refresh() is to verify if the RPF information
for some S,G entry
has changed; if so, the kernel MFC must be updated accordingly.
on_rpf_cache_refresh() uses pim_mroute_add() to update an existing S,G
entry, not to create a new one.

Cheers,
Everton




reply via email to

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