[quagga-dev 16613] Re: [quagga-users 14675] Potential problem in rib_process function

Balaji Gurudoss balajig81 at gmail.com
Wed May 10 19:03:36 BST 2017


Ideally speaking the implicit withdraw would happen when the new one gets
selected and old one gets validated. Are you seeing this issue with a very
simple topology with two routers connected back to back running OSPF or do
you see it in a specific topology ?

Thanks,
  - Balaji

On Wed, May 10, 2017 at 10:27 PM, Atul Chowdhry <atul77 at gmail.com> wrote:

> Hi Guys,
>  I am using quagga release 1.2.1. I see one potential problem in
> rib_process function related to withdrawal of redistributed route from
> zebra.
> Problematic line is marked in bold letters.
> Suppose a prefix was already learned via OSPF. Now if I try to add a
> static route for same prefix, I hit this code.
> In this case. old_selected will point to OSPF and new_selected will point
> to Static. Now since ospf route is not the selected one, don;t we
> always have to withdraw this ospf route from clients redistributing OSPF.
> Why there is extra check there ?
> I also tested this locally. If I comment this if statement then I see
> zebra sending delete for OSPF route else not.
>
> Pls give advice.
>
> Rgds
> Atul
>
>
>   /* Redistribute SELECTED entry */
> 1308   if (old_selected != new_selected
> 1309       || (new_selected && CHECK_FLAG (new_selected->status,
> RIB_ENTRY_CHANGED)))
> 1310     {
> 1311       if (old_selected)
> 1312         {
> 1313          * if (! new_selected)       >>>> Why this if statement is
> there ?? I fell this shouldn't be there.*
> 1314             redistribute_delete (&rn->p, old_selected);
> 1315           if (old_selected != new_selected)
> 1316             UNSET_FLAG (old_selected->flags, ZEBRA_FLAG_SELECTED);
> 1317         }
> 1318
> 1319       if (new_selected)
> 1320         {
> 1321           /* Install new or replace existing redistributed entry */
> 1322           SET_FLAG (new_selected->flags, ZEBRA_FLAG_SELECTED);
> 1323           redistribute_add (&rn->p, new_selected);
> 1324         }
> 1325      }
>
>
> _______________________________________________
> Quagga-users mailing list
> Quagga-users at lists.quagga.net
> https://lists.quagga.net/mailman/listinfo/quagga-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20170510/386414c7/attachment.html>


More information about the Quagga-dev mailing list