[quagga-dev 3150] bug in Routing IPv4 using IS-IS ?

Yossi Boaron Yossi.Boaron at veraznetworks.com
Mon Apr 11 14:03:57 BST 2005


Please correct me if I'm wrong,

 The SPF is build periodically  (by running the 'isis_run_spf' function) 
 'isis_route_validate' function is called after the SPF calculated. this function send 'route add' or 'route delete' messages to the ZEBRA process and set the flags field.

 Assuming the following secnario :
1. ISIS discover new route and update ZEBRA process (route flag set to ISIS_ROUTE_FLAG_ACTIVE)
2. after a while the ISIS process discover that the route don't exist anymore. 
3. before sending route delete message to ZEBRA process ISIS process verifies that the route is synced (the #define ISIS_ROUTE_FLAG_ZEBRA_SYNC 0x01 is up in the flag field)
4. the flag ISIS_ROUTE_FLAG_ZEBRA_SYNC  is never set.
5. the result the route don't deleted from ZEBRA.

Solution ? 
in file ISIS_ZEBRA.c  function : 

isis_zebra_route_add_ipv4 (struct prefix *prefix,
			   struct isis_route_info *route_info)

after the writen function is called 
      ' writen (zclient->sock, stream->data, stream_get_endp (stream)); '

add the following line	
      'SET_FLAG (route_info->flag, ISIS_ROUTE_FLAG_ZEBRA_SYNC);'

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20050411/1c022c7c/attachment-0001.html>

More information about the Quagga-dev mailing list