diff options
author | Paul Jakma <paul.jakma@sun.com> | 2006-05-04 07:32:57 +0000 |
---|---|---|
committer | Paul Jakma <paul.jakma@sun.com> | 2006-05-04 07:32:57 +0000 |
commit | 9c27ef9b9c26db0af507869c2866c4a8463f4ae7 (patch) | |
tree | 72279949d2ac9f10f6e62a5a18e332a8b4e02dd5 /ospfd/ChangeLog | |
parent | b9d92881f5d45601c4268d99baec8835068b73c2 (diff) |
[ospfd] Fix SPF of virtual-links
2006-04-24 Paul Jakma <paul.jakma@sun.com>
* (general) More Virtual-link fixes, again with much help in
testing / debug from Juergen Kammer. Primarily in SPF.
* ospf_spf.h: Add guard. ospf_interface.h will include this
header.
* ospf_interface.h: Modify ospf_vl_lookup definition to take
struct ospf as argument, so as to allow for NULL area
argument.
(struct ospf_vl_data) Remove out_oi, instead add a struct
vertex_nexthop, to use as initial nexthop for backbone paths
through a vlink.
* ospf_interface.c: (ospf_vl_lookup) Modified to allow
NULL area to be passed to indicate "any" (first) area.
Add extra debug.
(ospf_vl_set_params) vl_oi -> nexthop. Add extra debug.
(ospf_vl_up_check) Fix debug, inet_ntoa returns a static
buffer..
* ospf_route.c: (ospf_intra_add_router) Vlinks dont go through
backbone, don't bother checking.
* ospf_spf.c: (static struct list vertex_list) Record vertices
that will need to be freed.
(cmp) Order network before router vertices, as required,
wasn't implemented.
(vertex_nexthop_free) Mild additional robustness check.
(vertex_parent_free) Take void argument, as this function
is passed as list deconstructor for vertex parent list.
(ospf_vertex_new) More debug. Set deconstructor for parent
list. Track allocated vertices on the vertex_list.
(ospf_vertex_free) Get rid of the tricky recursive cleanup of
vertices. Now frees only the given vertex.
(ospf_vertex_add_parent) Fix assert.
(ospf_nexthop_calculation) Fix calculation of nexthop for
VLink vertices, lookup the vl_data and use its previously
recorded nexthop information.
(ospf_spf_calculate) Vertices are freed simply by deleting
vertex_list nodes and letting ospf_vertex_free as deconstructor
work per-node.
(ospf_spf_calculate_timer) Trivial optimisation, leave
backbone SPF calculation till last to reduce SPF churn on
VLink updates.
* ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup
(no_ospf_area_vlink_cmd) ditto.
(show_ip_ospf_interface_sub) For Vlinks, the peer address is
more interesting than the output interface.
Diffstat (limited to 'ospfd/ChangeLog')
-rw-r--r-- | ospfd/ChangeLog | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog index ac596705..99599f54 100644 --- a/ospfd/ChangeLog +++ b/ospfd/ChangeLog @@ -1,3 +1,49 @@ +2006-04-24 Paul Jakma <paul.jakma@sun.com> + + * (general) More Virtual-link fixes, again with much help in + testing / debug from Juergen Kammer. Primarily in SPF. + * ospf_spf.h: Add guard. ospf_interface.h will include this + header. + * ospf_interface.h: Modify ospf_vl_lookup definition to take + struct ospf as argument, so as to allow for NULL area + argument. + (struct ospf_vl_data) Remove out_oi, instead add a struct + vertex_nexthop, to use as initial nexthop for backbone paths + through a vlink. + * ospf_interface.c: (ospf_vl_lookup) Modified to allow + NULL area to be passed to indicate "any" (first) area. + Add extra debug. + (ospf_vl_set_params) vl_oi -> nexthop. Add extra debug. + (ospf_vl_up_check) Fix debug, inet_ntoa returns a static + buffer.. + * ospf_route.c: (ospf_intra_add_router) Vlinks dont go through + backbone, don't bother checking. + * ospf_spf.c: (static struct list vertex_list) Record vertices + that will need to be freed. + (cmp) Order network before router vertices, as required, + wasn't implemented. + (vertex_nexthop_free) Mild additional robustness check. + (vertex_parent_free) Take void argument, as this function + is passed as list deconstructor for vertex parent list. + (ospf_vertex_new) More debug. Set deconstructor for parent + list. Track allocated vertices on the vertex_list. + (ospf_vertex_free) Get rid of the tricky recursive cleanup of + vertices. Now frees only the given vertex. + (ospf_vertex_add_parent) Fix assert. + (ospf_nexthop_calculation) Fix calculation of nexthop for + VLink vertices, lookup the vl_data and use its previously + recorded nexthop information. + (ospf_spf_calculate) Vertices are freed simply by deleting + vertex_list nodes and letting ospf_vertex_free as deconstructor + work per-node. + (ospf_spf_calculate_timer) Trivial optimisation, leave + backbone SPF calculation till last to reduce SPF churn on + VLink updates. + * ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup + (no_ospf_area_vlink_cmd) ditto. + (show_ip_ospf_interface_sub) For Vlinks, the peer address is + more interesting than the output interface. + 2006-04-03 Paul Jakma <paul.jakma@sun.com> * (general) Fix issues with handling of Vlinks and entries |