Open xivamar opened 8 years ago
Pull request: https://github.com/MERAprojects/ops-quagga/pull/37
The 1st part is fixed on:
switch# show version
OpenSwitch 0.4.0 (Build: appliance-ops-0.4.0-meraswitch/devel/master-20170110110121-dev)
switch#
The function ospf_lsa_maxage_walker is scheduled by the timer OSPF_LSA_MAXAGE_CHECK_INTERVAL (30 sec). Then it invokes ospf_lsa_maxage_walker_remover. Inside the last one the condition "if (IS_LSA_MAXAGE (lsa))" never gets true, because the function get_age inside the macro IS_LSA_MAXAGE always returns values less OSPF_LSA_MAXAGE, while the command show ip ospf database shows LSAs with age 3600. This should be investigated further.
Also the delivered correction for correct printing LSA age should be updated: remove: lsa_age = lsa->data->ls_age; add instead: lsa_age = get_age(lsa);
The difference of the variable relative_time and the field tv_recv of LSAs never exceeds about 1800 seconds, so the function get_age never returns bigger value. It is still unclear if tv_recv is updated during live of LSA, or LSAs are silently deleted and new ones created with small values of the tv_recv.
Problem Description:
OSPF LSA age always is 3600. And it seems that the old LSA are not deleted from the ospf database.
OpenSwitch version:
OpenSwitch 1.0.0 (Build: appliance-ops-1.0.0-release+2016090200)
Test Topology:
Steps to reproduce the problem:
Check the ospf database via
show ip ospf database
on DUT2.on DUT2:
config.txt