Thank you for the patch, but it doesn't fix the problem.
And things are more strange now.

Zebra shows that it didn't add any of the two routes to the FIB:

        S>  1.2.3.0/24 [1/0] via 192.168.0.1, eth1
                             via 192.168.1.1, eth2
        C>* 192.168.0.0/24 is directly connected, eth1
        C>* 192.168.1.0/24 is directly connected, eth2

But in the same time I see the first one in kernel routing table:

        1.2.3.0/24 via 192.168.0.1 dev eth1  proto zebra  metric 20
        192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.101
        192.168.1.0/24 dev eth2  proto kernel  scope link  src 192.168.1.101

Best regards,
Igor

> 6 апр. 2016 г., в 22:03, Timo Teräs <[email protected]> написал(а):
> 
> Signed-off-by: Timo Teräs <[email protected]>
> ---
> This should fix the issue reported in:
> [quagga-dev 14998] Multipath doesn't work in 1.0
> 
> zebra/zebra_rib.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
> index 1650dab..18afabc 100644
> --- a/zebra/zebra_rib.c
> +++ b/zebra/zebra_rib.c
> @@ -1078,7 +1078,6 @@ nexthop_active_update (struct route_node *rn, struct 
> rib *rib, int set)
>   ifindex_t prev_index;
> 
>   rib->nexthop_active_num = 0;
> -  UNSET_FLAG (rib->status, RIB_ENTRY_CHANGED);
> 
>   for (nexthop = rib->nexthop; nexthop; nexthop = nexthop->next)
>   {
> @@ -1275,6 +1274,8 @@ rib_process (struct route_node *rn)
> 
>   RNODE_FOREACH_RIB (rn, rib)
>     {
> +      UNSET_FLAG (rib->status, RIB_ENTRY_CHANGED);
> +
>       /* Currently installed rib. */
>       if (CHECK_FLAG (rib->flags, ZEBRA_FLAG_SELECTED))
>         {
> -- 
> 2.8.0
> 


_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to