OpenBSD CVS

CVS log for src/usr.sbin/ospfd/rde_spf.c


[BACK] Up to [local] / src / usr.sbin / ospfd

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.79 / (download) - annotate - [select for diffs], Wed Mar 8 04:43:14 2023 UTC (14 months, 3 weeks ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, HEAD
Changes since 1.78: +1 -2 lines
Diff to previous 1.78 (colored)

Delete obsolete /* ARGSUSED */ lint comments.

ok miod@ millert@

Revision 1.78 / (download) - annotate - [select for diffs], Tue Nov 19 09:55:55 2019 UTC (4 years, 6 months ago) by remi
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.77: +10 -5 lines
Diff to previous 1.77 (colored)

Add point-to-point support for broadcast interfaces.

tested by Kapetanakis Giannis
ok claudio@

Revision 1.77 / (download) - annotate - [select for diffs], Thu Apr 4 19:57:08 2019 UTC (5 years, 1 month ago) by remi
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.76: +2 -2 lines
Diff to previous 1.76 (colored)

RFC 2328 mandates in 12.4.1.1 that the Link ID of the Type 3 link has to
be set to the subnet's IP address and not the interface address.

Bug report and fix from Mitchell Krome.

OK claudio@

Revision 1.76 / (download) - annotate - [select for diffs], Sun Nov 22 13:09:10 2015 UTC (8 years, 6 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1, OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.75: +25 -20 lines
Diff to previous 1.75 (colored)

Improve ABR support especially for self-originated stub networks.
This seems to solve the last issues people reported when using ospfd
in multiple areas. OK sthen@ prodding by deraadt@

Revision 1.75 / (download) - annotate - [select for diffs], Tue Sep 18 18:58:56 2012 UTC (11 years, 8 months ago) by bluhm
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7, OPENBSD_5_6_BASE, OPENBSD_5_6, OPENBSD_5_5_BASE, OPENBSD_5_5, OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3
Changes since 1.74: +1 -4 lines
Diff to previous 1.74 (colored)

The if (!better && !equal) check is redundant as the same condition
is checked a few lines below again.  Fewer checks make the code
more readable.
ok stsp@

Revision 1.74 / (download) - annotate - [select for diffs], Wed Apr 4 19:20:44 2012 UTC (12 years, 2 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE, OPENBSD_5_2
Changes since 1.73: +7 -1 lines
Diff to previous 1.73 (colored)

Both LSA_TYPE_AREA_OPAQ and LSA_TYPE_AS_OPAQ can be found when traversing
the LSDB. So adjust SPF calculation to not trigger a fatal.
Problem found and fix tested by Chris Wopat

Revision 1.73 / (download) - annotate - [select for diffs], Tue May 24 20:21:51 2011 UTC (13 years ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.72: +29 -25 lines
Diff to previous 1.72 (colored)

Fix nexthop calculation for directly connected P2P links. connected
may only be set on directly connected networks but not on router
nodes which are used by the P2P links. Fix for PR 6597. OK sthen@

Revision 1.72 / (download) - annotate - [select for diffs], Mon May 9 12:24:41 2011 UTC (13 years ago) by claudio
Branch: MAIN
Changes since 1.71: +6 -6 lines
Diff to previous 1.71 (colored)

First bits to support opaque LSA. Type-9, 10 and 11 are LSA that can
hold about any data you like and is used for things like greaceful
reload. Implement the basic redistribute logic and LSDB handling but
the data sent is currently not looked at.
Tested and OK sthen@

Revision 1.71 / (download) - annotate - [select for diffs], Mon May 2 11:45:55 2011 UTC (13 years, 1 month ago) by claudio
Branch: MAIN
Changes since 1.70: +16 -14 lines
Diff to previous 1.70 (colored)

More spring cleaning

Revision 1.70 / (download) - annotate - [select for diffs], Thu Mar 24 08:36:00 2011 UTC (13 years, 2 months ago) by claudio
Branch: MAIN
Changes since 1.69: +15 -46 lines
Diff to previous 1.69 (colored)

Fix some memory leaks. Mainly better cleanup on shutdown but the v_nexthop
leak is a runtime one.
OK bluhm@

Revision 1.69 / (download) - annotate - [select for diffs], Tue Feb 16 08:22:42 2010 UTC (14 years, 3 months ago) by dlg
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.68: +5 -3 lines
Diff to previous 1.68 (colored)

allow spf-delay and spf-holdtime to be specified in msec so ospfd can
better respond to rapid topology changes.

developed while working with joshua atterbury
ok claudio@ as part of a larger diff.

Revision 1.68 / (download) - annotate - [select for diffs], Thu Nov 12 22:19:33 2009 UTC (14 years, 6 months ago) by claudio
Branch: MAIN
Changes since 1.67: +3 -3 lines
Diff to previous 1.67 (colored)

get_rtr_link and get_net_link are not supposed to fail and returning
NULL would be bad. So instead use a fatalx() in that impossible case.
After a discussion with deraadt@ because of a parfait warning.

Revision 1.67 / (download) - annotate - [select for diffs], Wed Jan 7 21:16:36 2009 UTC (15 years, 4 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.66: +4 -3 lines
Diff to previous 1.66 (colored)

Full stub area support. This allows ABRs to announce a default network
summary LSA into stub areas so that these routers are able to reach the
outside of the area.
OK norby@

Revision 1.66 / (download) - annotate - [select for diffs], Mon Feb 11 12:37:37 2008 UTC (16 years, 3 months ago) by norby
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4, OPENBSD_4_3_BASE, OPENBSD_4_3
Changes since 1.65: +2 -2 lines
Diff to previous 1.65 (colored)

Correct the output of several error and debug messages.

Revision 1.65 / (download) - annotate - [select for diffs], Mon Oct 1 08:35:12 2007 UTC (16 years, 8 months ago) by norby
Branch: MAIN
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored)

fix alot of whitespace problems...

Revision 1.64 / (download) - annotate - [select for diffs], Sun Sep 16 15:00:11 2007 UTC (16 years, 8 months ago) by claudio
Branch: MAIN
Changes since 1.63: +34 -36 lines
Diff to previous 1.63 (colored)

Change the way nexthops are calculated on the root level. Instead of looking
from the target back and trying to figure the nexthop out, the link is searched
in the interface list and the info from the matiching interface is used.
This should solve the nexthop issues with setups having multiple point-to-point
links between two routers as reported on misc@ some time ago.
tested and OK norby@

Revision 1.63 / (download) - annotate - [select for diffs], Mon Aug 6 11:32:34 2007 UTC (16 years, 10 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.62: +9 -5 lines
Diff to previous 1.62 (colored)

Fix two issues in the RIB calculation. First rt_nexthop_add() should not
return from the inner loop if the outer loop is not finished -- just break
the inner loop and continue the outside one. In rt_update() nexthops should
not be cleared and freed if the new route is better. This resulted in reset
RIB timers after any calculation run. Instead just mark the nexthop invalid
and go on. Tested and OK pyr@

Revision 1.62 / (download) - annotate - [select for diffs], Tue Jun 19 16:45:15 2007 UTC (16 years, 11 months ago) by reyk
Branch: MAIN
Changes since 1.61: +11 -9 lines
Diff to previous 1.61 (colored)

add support for mapping route labels to AS-external route tags.

manpage bits from jmc@
ok norby@ claudio@

Revision 1.61 / (download) - annotate - [select for diffs], Tue Jun 12 06:30:08 2007 UTC (16 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)

When calculating as_ext routes only respect the connected flag for rt_nodes
with d_type DT_NET. Without this directly connected DT_RTRs use the wrong
nexthop and fail to install the as_ext route because the nexthop is not
directly reachable.

Revision 1.60 / (download) - annotate - [select for diffs], Tue Apr 10 13:26:39 2007 UTC (17 years, 1 month ago) by claudio
Branch: MAIN
Changes since 1.59: +254 -142 lines
Diff to previous 1.59 (colored)

Next step in equal cost multipath support. Make the SPF calculation multipath
aware. Both the SPF and RIB trees need additional structures to store the
multiple nexthops to the destination but only the first active nexthop is
passed to the parent process and used for routing. This is the next thing
that needs to be modified. Tested and OK pyr@

Revision 1.59 / (download) - annotate - [select for diffs], Mon Apr 2 16:26:03 2007 UTC (17 years, 2 months ago) by claudio
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored)

Use fatal() if calloc fails instead of fatalx().

Revision 1.58 / (download) - annotate - [select for diffs], Mon Jan 29 13:23:05 2007 UTC (17 years, 4 months ago) by norby
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.57: +2 -4 lines
Diff to previous 1.57 (colored)

Remove useless debug message when calculating the SPF tree.

ok claudio@

Revision 1.57 / (download) - annotate - [select for diffs], Mon Jan 29 13:04:13 2007 UTC (17 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.56: +3 -3 lines
Diff to previous 1.56 (colored)

Do not link from the LS DB to outside structures that may vanish before
the actual LS DB entry is removed. In particular a neighbor may be removed
at any time -- we were lucky because we kept down neighbors around for
another 24h. Reload support unhided this problem again. Just copy the
needed info into the vertex. Pointing to the area is save as the vertex is
part of the area itself and removed when the area is removed.
OK norby@

Revision 1.56 / (download) - annotate - [select for diffs], Wed Jan 24 12:05:10 2007 UTC (17 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.55: +3 -13 lines
Diff to previous 1.55 (colored)

Remove most of the spf calculation related log_debug messages.

Revision 1.55 / (download) - annotate - [select for diffs], Thu Jul 6 13:03:39 2006 UTC (17 years, 11 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.54: +6 -1 lines
Diff to previous 1.54 (colored)

In rt_invalidate() skip all as_ext routes if routes matching a specific area
are invalidated. as_ext routes have a uninitalised area id (aka 0.0.0.0) and
so bad stuff happend when area 0.0.0.0 was invalidated. Because of this the
FIB and RIB got out of sync in some scenarios.

Revision 1.54 / (download) - annotate - [select for diffs], Tue May 30 22:15:55 2006 UTC (18 years ago) by claudio
Branch: MAIN
Changes since 1.53: +6 -5 lines
Diff to previous 1.53 (colored)

Correctly calculate point-to-point nexthop address. The logic was badly twisted
but funnily worked for routers with just one point-to-point link.
Found by Marc Winiger. OK norby@

Revision 1.49.2.1 / (download) - annotate - [select for diffs], Thu May 4 22:19:03 2006 UTC (18 years, 1 month ago) by brad
Branch: OPENBSD_3_9
Changes since 1.49: +18 -6 lines
Diff to previous 1.49 (colored) next main 1.50 (colored)

MFC:
Fix by claudio@

Invalidating the full RIB and then only recalculating part of it is not
that smart. Kill the global rt_invalidate() instead clear only that part of
the RIB that is actually recalculated.

ok claudio@ deraadt@

Revision 1.53 / (download) - annotate - [select for diffs], Tue Apr 25 19:27:36 2006 UTC (18 years, 1 month ago) by norby
Branch: MAIN
Changes since 1.52: +1 -49 lines
Diff to previous 1.52 (colored)

kill unused old debug code.

ok claudio@

Revision 1.52 / (download) - annotate - [select for diffs], Wed Mar 22 16:01:20 2006 UTC (18 years, 2 months ago) by claudio
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored)

Move the AS external LSA tree out of struct ospfd_config. This simplifies
the code and makes config reloads easier. OK norby@

Revision 1.51 / (download) - annotate - [select for diffs], Tue Mar 21 08:36:27 2006 UTC (18 years, 2 months ago) by claudio
Branch: MAIN
Changes since 1.50: +18 -6 lines
Diff to previous 1.50 (colored)

Invalidating the full RIB and then only recalculating part of it is not
that smart. Kill the global rt_invalidate() instead clear only that part of
the RIB that is actually recalculated. OK norby@

Revision 1.50 / (download) - annotate - [select for diffs], Mon Mar 13 09:36:06 2006 UTC (18 years, 2 months ago) by claudio
Branch: MAIN
Changes since 1.49: +13 -11 lines
Diff to previous 1.49 (colored)

The return value of the start/stop timer functions is almost never checked.
Switch them to void functions and check if evtimer_add/del fails -- in which
case we fatal() as there is no useful way to recover in such an event.
OK norby@

Revision 1.49 / (download) - annotate - [select for diffs], Fri Feb 24 21:06:47 2006 UTC (18 years, 3 months ago) by norby
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE
Branch point for: OPENBSD_3_9
Changes since 1.48: +14 -1 lines
Diff to previous 1.48 (colored)

Keep track of the uptime of the entries in the RIB.
It is now possible to see the uptime of the individual entries in the RIB.
The uptime can be displayed with "ospfctl show rib"

ok claudio@

Revision 1.48 / (download) - annotate - [select for diffs], Fri Feb 10 13:00:49 2006 UTC (18 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.47: +6 -4 lines
Diff to previous 1.47 (colored)

If ABR only look in the backbone area 0.0.0.0 for summary LSA. OK norby@

Revision 1.47 / (download) - annotate - [select for diffs], Thu Feb 9 20:47:20 2006 UTC (18 years, 3 months ago) by norby
Branch: MAIN
Changes since 1.46: +10 -6 lines
Diff to previous 1.46 (colored)

Don't calculate all areas every time the link state database is updated,
only calculate the dirty ones.

ok claudio@

Revision 1.46 / (download) - annotate - [select for diffs], Thu Feb 2 15:10:57 2006 UTC (18 years, 4 months ago) by norby
Branch: MAIN
Changes since 1.45: +1 -7 lines
Diff to previous 1.45 (colored)

zap cand_list_empty, found by lint.

ok claudio@

Revision 1.45 / (download) - annotate - [select for diffs], Wed Feb 1 20:24:08 2006 UTC (18 years, 4 months ago) by norby
Branch: MAIN
Changes since 1.44: +15 -13 lines
Diff to previous 1.44 (colored)

spf_calc should only do what the name says - calculate the spf tree.

ok claudio@

Revision 1.44 / (download) - annotate - [select for diffs], Wed Feb 1 19:56:15 2006 UTC (18 years, 4 months ago) by norby
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)

Wrong type, found by lint.

ok claudio@

Revision 1.43 / (download) - annotate - [select for diffs], Wed Feb 1 18:38:51 2006 UTC (18 years, 4 months ago) by norby
Branch: MAIN
Changes since 1.42: +6 -6 lines
Diff to previous 1.42 (colored)

variable naming, a -> addr.

ok claudio@

Revision 1.42 / (download) - annotate - [select for diffs], Thu Jan 26 15:05:08 2006 UTC (18 years, 4 months ago) by norby
Branch: MAIN
Changes since 1.41: +94 -89 lines
Diff to previous 1.41 (colored)

Separate route table calculations from the SPF calculation.

ok claudio@

Revision 1.41 / (download) - annotate - [select for diffs], Tue Jan 24 20:27:04 2006 UTC (18 years, 4 months ago) by norby
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored)

Correct debug text

Revision 1.40 / (download) - annotate - [select for diffs], Tue Jan 24 20:06:03 2006 UTC (18 years, 4 months ago) by norby
Branch: MAIN
Changes since 1.39: +2 -3 lines
Diff to previous 1.39 (colored)

Fix bad indent.

Revision 1.39 / (download) - annotate - [select for diffs], Tue Jan 24 18:31:32 2006 UTC (18 years, 4 months ago) by norby
Branch: MAIN
Changes since 1.38: +72 -62 lines
Diff to previous 1.38 (colored)

Split SPF calc and AS Ext calc.

Initial diff by claudio@ reworked by me.

test and ok claudio@

Revision 1.38 / (download) - annotate - [select for diffs], Fri Dec 2 12:21:31 2005 UTC (18 years, 6 months ago) by claudio
Branch: MAIN
Changes since 1.37: +8 -3 lines
Diff to previous 1.37 (colored)

Fixed version of r1.35, readd candidate to list in both cases so that the list
remains sorted. Tested and OK norby@

Revision 1.37 / (download) - annotate - [select for diffs], Mon Nov 14 11:48:05 2005 UTC (18 years, 6 months ago) by norby
Branch: MAIN
Changes since 1.36: +4 -7 lines
Diff to previous 1.36 (colored)

Revert candidate list change since it is broken.

ok henning@

Revision 1.36 / (download) - annotate - [select for diffs], Sat Nov 12 18:18:24 2005 UTC (18 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.35: +1 -9 lines
Diff to previous 1.35 (colored)

spacing mostly

Revision 1.35 / (download) - annotate - [select for diffs], Fri Nov 4 14:37:26 2005 UTC (18 years, 7 months ago) by claudio
Branch: MAIN
Changes since 1.34: +7 -4 lines
Diff to previous 1.34 (colored)

The candidate list is a sorted linear list so when changing the cost of
a vertex that is already a candidate it is necessary to remove and insert
the candidate otherwise the candidate list is no longer correctly sorted.
OK norby@

Revision 1.34 / (download) - annotate - [select for diffs], Fri Nov 4 10:46:23 2005 UTC (18 years, 7 months ago) by claudio
Branch: MAIN
Changes since 1.33: +4 -4 lines
Diff to previous 1.33 (colored)

Kill spf_timer in struct ospfd_conf. There is no need for two event structs
just use ev for the spf_timer -- ev is unused in the RDE.

Revision 1.33 / (download) - annotate - [select for diffs], Thu Sep 1 19:09:34 2005 UTC (18 years, 9 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE, OPENBSD_3_8
Changes since 1.32: +12 -4 lines
Diff to previous 1.32 (colored)

rt_lookup() did not respect the route node invalid flag and so AS-ext
routes where not cleared even though the advertising router was no longer
reachable. Same problem has the rt_dump() function that is used for
ospfctl show rib.  Tested by me and norby@
OK norby@ deraadt@

Revision 1.32 / (download) - annotate - [select for diffs], Tue Aug 30 21:02:35 2005 UTC (18 years, 9 months ago) by claudio
Branch: MAIN
Changes since 1.31: +14 -13 lines
Diff to previous 1.31 (colored)

Fix a bug in the nexthop calculation for complex networks. The result was a
routing table where most entries used the local interface IP as nexthop. This
bug was found by jakob@ and he verified that it fixes his problems. Additional
tests by me and norby@.
OK norby@ deraadt@

Revision 1.31 / (download) - annotate - [select for diffs], Mon Aug 8 12:22:48 2005 UTC (18 years, 9 months ago) by claudio
Branch: MAIN
Changes since 1.30: +9 -9 lines
Diff to previous 1.30 (colored)

Try to do an SPF recalculation only if the LS DB changed.
This is still not perfect as on ABRs it is only necessary to
recalculate the area that got changed and not all others too.
More to come but it is a good start. OK norby@

Revision 1.30 / (download) - annotate - [select for diffs], Mon Aug 8 08:51:47 2005 UTC (18 years, 9 months ago) by claudio
Branch: MAIN
Changes since 1.29: +51 -16 lines
Diff to previous 1.29 (colored)

Correctly order LSA/route entries. Also prefer network vertices over router
ones in the candidate list. Be more careful about LS_INFINITY as it is
possible that the cost overflows in the calculation (checking for == is in
some cases wrong). Simplify the code a bit. Tested and OK norby@

Revision 1.29 / (download) - annotate - [select for diffs], Mon Jun 27 18:59:41 2005 UTC (18 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.28: +21 -10 lines
Diff to previous 1.28 (colored)

Mark connected routes (routes without a nexthop) in the rib. Without this
as-ext routes would select a wrong nexthop if the forwarding router is
directly connected. OK, help and debugging norby@

Revision 1.28 / (download) - annotate - [select for diffs], Mon Jun 27 17:59:36 2005 UTC (18 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.27: +19 -18 lines
Diff to previous 1.27 (colored)

Don't let /32 DT_NET routes override DT_RTR routes. This should help
setups with /32 loopback networks.  OK norby@

Revision 1.27 / (download) - annotate - [select for diffs], Sun Jun 26 23:50:10 2005 UTC (18 years, 11 months ago) by deraadt
Branch: MAIN
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

typo by claudio

Revision 1.26 / (download) - annotate - [select for diffs], Sun Jun 26 20:44:44 2005 UTC (18 years, 11 months ago) by claudio
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

Don't htonl() something that is already in network byte order. AS-Ext routes
suffered because of this. Normaly seen because they where not added to the rib
or ended up with a bad nexthop.
This is what you get for stealing code from bgpd :(
OK norby@

Revision 1.25 / (download) - annotate - [select for diffs], Sat May 28 17:49:59 2005 UTC (19 years ago) by norby
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Fix confusing typo.

Revision 1.24 / (download) - annotate - [select for diffs], Fri May 27 01:02:04 2005 UTC (19 years ago) by claudio
Branch: MAIN
Changes since 1.23: +5 -6 lines
Diff to previous 1.23 (colored)

While calculating the routing table don't ignore all routes with a cost of
LS_INFINITY. Summary LSA are not touched by the SPF algorithm and so they
got dropped here because the still had a cost of LS_INFINITY.
The calculated routing table starts to make sense now.
OK norby@

Revision 1.23 / (download) - annotate - [select for diffs], Fri May 27 00:56:35 2005 UTC (19 years ago) by claudio
Branch: MAIN
Changes since 1.22: +4 -3 lines
Diff to previous 1.22 (colored)

Only checking if w->cost is non equal to LS_INFINITY and w->prev is NULL is
not enough to distinguish between calculated vertexes and those just queued
in the candidate list. So add a additional check if the vertex is on the
candidate list. This fixes a problem Stephen Marley reported some time ago.
OK norby@

Revision 1.22 / (download) - annotate - [select for diffs], Fri May 27 00:50:50 2005 UTC (19 years ago) by claudio
Branch: MAIN
Changes since 1.21: +3 -7 lines
Diff to previous 1.21 (colored)

Fix nexthop calculation by setting w->prev before calling calc_next_hop().
OK norby@

Revision 1.21 / (download) - annotate - [select for diffs], Thu May 26 23:31:04 2005 UTC (19 years ago) by norby
Branch: MAIN
Changes since 1.20: +1 -2 lines
Diff to previous 1.20 (colored)

Remove annoying spf_calc debug line.

Revision 1.20 / (download) - annotate - [select for diffs], Thu May 26 23:23:39 2005 UTC (19 years ago) by norby
Branch: MAIN
Changes since 1.19: +1 -6 lines
Diff to previous 1.19 (colored)

Remove route update debugging messages.

Revision 1.19 / (download) - annotate - [select for diffs], Thu May 26 23:11:53 2005 UTC (19 years ago) by norby
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

Disable cand_list_dump and spf_dump by default.

Revision 1.18 / (download) - annotate - [select for diffs], Thu May 26 22:44:24 2005 UTC (19 years ago) by norby
Branch: MAIN
Changes since 1.17: +1 -3 lines
Diff to previous 1.17 (colored)

Unwanted.

Revision 1.17 / (download) - annotate - [select for diffs], Tue May 24 06:55:21 2005 UTC (19 years ago) by claudio
Branch: MAIN
Changes since 1.16: +4 -1 lines
Diff to previous 1.16 (colored)

Fix some obvious issues in the summary LSA origination.
Actually remove summary LSA if the LSA they refer to are no longer valid.
Set correct cost on the summary LSA.
Announce type 4 summary LSA.
OK norby@

Revision 1.16 / (download) - annotate - [select for diffs], Mon May 23 23:03:07 2005 UTC (19 years ago) by claudio
Branch: MAIN
Changes since 1.15: +5 -3 lines
Diff to previous 1.15 (colored)

First part of summary LSA origination. Not perfect but a start.
OK norby@

Revision 1.15 / (download) - annotate - [select for diffs], Mon May 23 22:26:45 2005 UTC (19 years ago) by norby
Branch: MAIN
Changes since 1.14: +1 -23 lines
Diff to previous 1.14 (colored)

Kill rt_dump_debug stuff as "ospfctl show rib [detail]" provides the same
information.

ok claudio@

Revision 1.14 / (download) - annotate - [select for diffs], Sun May 22 18:05:42 2005 UTC (19 years ago) by norby
Branch: MAIN
Changes since 1.13: +37 -21 lines
Diff to previous 1.13 (colored)

Handle cost2 for AS-external, and prepare for handling flags in
ospfctl show rib detail.

ok claudio@

Revision 1.13 / (download) - annotate - [select for diffs], Thu May 12 20:57:01 2005 UTC (19 years ago) by claudio
Branch: MAIN
Changes since 1.12: +102 -15 lines
Diff to previous 1.12 (colored)

Calculate routes for summary and as-external LSA. Still some minor parts
missing but good enough to be used.
Tested and some input by Stephen Marley.
OK norby@

Revision 1.12 / (download) - annotate - [select for diffs], Thu May 12 20:53:02 2005 UTC (19 years ago) by claudio
Branch: MAIN
Changes since 1.11: +6 -6 lines
Diff to previous 1.11 (colored)

lsa_age() the vertex befor comparing the age with MAX_AGE.
Move a common check (cost == LS_INFINITY) out of the switch cases.
OK norby@

Revision 1.11 / (download) - annotate - [select for diffs], Thu May 12 19:32:46 2005 UTC (19 years ago) by claudio
Branch: MAIN
Changes since 1.10: +4 -2 lines
Diff to previous 1.10 (colored)

Don't fatal in case no root node was found for spf calculation.
The area may be empty because there is no active interface.
OK norby@

Revision 1.10 / (download) - annotate - [select for diffs], Thu May 5 15:27:34 2005 UTC (19 years, 1 month ago) by claudio
Branch: MAIN
Changes since 1.9: +2 -4 lines
Diff to previous 1.9 (colored)

Fix a stupid typo in the #if 0 block in spf_calc() and start using that code
block. The idea is to ignore nodes that are already part of the SPF tree as
soon as possible.
OK norby@

Revision 1.9 / (download) - annotate - [select for diffs], Wed Mar 23 20:15:50 2005 UTC (19 years, 2 months ago) by claudio
Branch: MAIN
Changes since 1.8: +1 -2 lines
Diff to previous 1.8 (colored)

prefixlen2mask() should return a network byte order result as it does imply
by using an in_addr_t as return type. It simplyfies also the usage as in most
cases the mask is used with a struct in_addr address which is also network
byte order. Add prototypes of prefixlen2mask() and mask2prefixlen() to
ospfd.h as it is used or will be used at different places.
OK norby@

Revision 1.8 / (download) - annotate - [select for diffs], Tue Mar 22 22:13:48 2005 UTC (19 years, 2 months ago) by norby
Branch: MAIN
Changes since 1.7: +18 -18 lines
Diff to previous 1.7 (colored)

Remove bool cruft.

ok claudio@

Revision 1.7 / (download) - annotate - [select for diffs], Thu Mar 17 16:46:15 2005 UTC (19 years, 2 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE, OPENBSD_3_7
Changes since 1.6: +5 -3 lines
Diff to previous 1.6 (colored)

Fix an access after free. It is not allowed to use a RB_REMOVE inside of a
RB_FOREACH.
OK norby@ deraadt@

Revision 1.6 / (download) - annotate - [select for diffs], Mon Mar 14 18:21:29 2005 UTC (19 years, 2 months ago) by norby
Branch: MAIN
Changes since 1.5: +3 -2 lines
Diff to previous 1.5 (colored)

Add "show summary" to ospfctl.

ok claudio@ henning@

Revision 1.5 / (download) - annotate - [select for diffs], Sat Mar 12 11:03:05 2005 UTC (19 years, 2 months ago) by norby
Branch: MAIN
Changes since 1.4: +81 -20 lines
Diff to previous 1.4 (colored)

Add "show rib" and "show rib detail" to ospfctl.

ok henning@

Revision 1.4 / (download) - annotate - [select for diffs], Sat Mar 12 10:49:12 2005 UTC (19 years, 2 months ago) by norby
Branch: MAIN
Changes since 1.3: +4 -4 lines
Diff to previous 1.3 (colored)

Small K&F.

ok henning@

Revision 1.3 / (download) - annotate - [select for diffs], Tue Mar 8 20:12:18 2005 UTC (19 years, 2 months ago) by norby
Branch: MAIN
Changes since 1.2: +87 -22 lines
Diff to previous 1.2 (colored)

Remove no longer valid route entries.

ok claudio@

Revision 1.2 / (download) - annotate - [select for diffs], Wed Mar 2 16:17:04 2005 UTC (19 years, 3 months ago) by norby
Branch: MAIN
Changes since 1.1: +15 -13 lines
Diff to previous 1.1 (colored)

Calculate the nexthop correctly if the calculating router has
Point-to-point links.

ok claudio@

Revision 1.1 / (download) - annotate - [select for diffs], Sun Feb 27 08:21:15 2005 UTC (19 years, 3 months ago) by norby
Branch: MAIN

SPF and route table calculation.

Calculate Shortest Path Tree for each area known in the link state
database.

The Shortest Path Tree is used as input for route table calculation.
Route tabled is calculated and the result is inserted into the kernel
route table.

ok claudio@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.