<div dir="ltr"><div><br></div>I am using my own protocol and wanted to understand more about handling of route update. When my protocol receives a route, I inform the core using rte_update() and pass on the new route and when I need to delete I set new = NULL and call rte_update().<div>Problem :</div><div>1. This is the initial route that was installed in the table.</div><div>Route1 <a href="http://10.0.1.0/24">10.0.1.0/24</a> Metric : 10</div><div>2. Received a better route with Metric as 5, so i call rte_update and pass on the new route. So now, I have</div><div>Route1 <a href="http://10.0.1.0/24">10.0.1.0/24</a> Metric: 5</div><div>3.  Protocol again receives an update to delete the cost 5 route (step 2) . However when I do that, I see that I no longer have any route to <a href="http://10.0.1.0/24">10.0.1.0/24</a> instead of having a higher cost route (cost 10 ).</div><div><br></div><div>When I enable debug, I see that during delete, when we fall through rte_recalculate() in core code, net->routes is being set to null and so we never do recalculation for new optimal route. Is there something I need to do after we call rte_update() to install route so I save the old_best route.</div><div><br></div><div>Thanks, </div><div><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Jigar Mehta<br><br><br></div>
</div></div>