OpenBSD CVS

CVS log for src/usr.sbin/ospfd/rde.h


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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.40 / (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_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, 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, HEAD
Changes since 1.39: +2 -1 lines
Diff to previous 1.39 (colored)

Add point-to-point support for broadcast interfaces.

tested by Kapetanakis Giannis
ok claudio@

Revision 1.39 / (download) - annotate - [select for diffs], Sat Mar 14 02:22:09 2015 UTC (9 years, 2 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, 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, OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.38: +2 -1 lines
Diff to previous 1.38 (colored)

When removing interfaces in the RDE we also need to remove all the RDE
neighbors that are part of that interface or we open us up to use after
free situations like the one found by sthen@.
Diff makes sense sthen@

Revision 1.38 / (download) - annotate - [select for diffs], Mon May 9 12:24:41 2011 UTC (13 years, 1 month ago) by claudio
Branch: MAIN
CVS Tags: 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, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.37: +9 -4 lines
Diff to previous 1.37 (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.37 / (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.36: +1 -4 lines
Diff to previous 1.36 (colored)

More spring cleaning

Revision 1.36 / (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.35: +4 -1 lines
Diff to previous 1.35 (colored)

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

Revision 1.35 / (download) - annotate - [select for diffs], Wed Jan 7 21:16:36 2009 UTC (15 years, 5 months ago) by claudio
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, OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5
Changes since 1.34: +5 -1 lines
Diff to previous 1.34 (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.34 / (download) - annotate - [select for diffs], Tue Jun 19 16:45:15 2007 UTC (16 years, 11 months ago) by reyk
Branch: MAIN
CVS Tags: OPENBSD_4_4_BASE, OPENBSD_4_4, OPENBSD_4_3_BASE, OPENBSD_4_3, OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.33: +2 -1 lines
Diff to previous 1.33 (colored)

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

manpage bits from jmc@
ok norby@ claudio@

Revision 1.33 / (download) - annotate - [select for diffs], Tue Apr 10 13:26:39 2007 UTC (17 years, 2 months ago) by claudio
Branch: MAIN
Changes since 1.32: +30 -17 lines
Diff to previous 1.32 (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.32 / (download) - annotate - [select for diffs], Thu Apr 5 18:50:45 2007 UTC (17 years, 2 months ago) by pyr
Branch: MAIN
Changes since 1.31: +1 -2 lines
Diff to previous 1.31 (colored)

remove an unused function.
ok claudio@

Revision 1.31 / (download) - annotate - [select for diffs], Mon Jan 29 13:04:13 2007 UTC (17 years, 4 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1
Changes since 1.30: +4 -2 lines
Diff to previous 1.30 (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.30 / (download) - annotate - [select for diffs], Mon May 29 16:50:36 2006 UTC (18 years ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.29: +3 -2 lines
Diff to previous 1.29 (colored)

Delay lsa database deletes for MIN_LS_INTERVAL seconds so that flapping
routes do not cause a update storm. OK norby@

Revision 1.29 / (download) - annotate - [select for diffs], Tue Apr 25 08:06:31 2006 UTC (18 years, 1 month ago) by claudio
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored)

The return value of lsa_num_links is an u_int16_t tnd not int. Found by lint.

Revision 1.28 / (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.27: +3 -1 lines
Diff to previous 1.27 (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.27 / (download) - annotate - [select for diffs], Mon Mar 13 09:36:06 2006 UTC (18 years, 3 months ago) by claudio
Branch: MAIN
Changes since 1.26: +4 -4 lines
Diff to previous 1.26 (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.26 / (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, OPENBSD_3_9
Changes since 1.25: +2 -1 lines
Diff to previous 1.25 (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.25 / (download) - annotate - [select for diffs], Fri Feb 10 13:00:49 2006 UTC (18 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

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

Revision 1.24 / (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.23: +1 -2 lines
Diff to previous 1.23 (colored)

zap cand_list_empty, found by lint.

ok claudio@

Revision 1.23 / (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.22: +2 -1 lines
Diff to previous 1.22 (colored)

Separate route table calculations from the SPF calculation.

ok claudio@

Revision 1.22 / (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.21: +2 -1 lines
Diff to previous 1.21 (colored)

Split SPF calc and AS Ext calc.

Initial diff by claudio@ reworked by me.

test and ok claudio@

Revision 1.21 / (download) - annotate - [select for diffs], Thu Jan 12 15:10:02 2006 UTC (18 years, 5 months ago) by claudio
Branch: MAIN
Changes since 1.20: +1 -7 lines
Diff to previous 1.20 (colored)

Rewrite the redistribute code. The previous implementation was stupid and
resulted in a major bottleneck if bgpd was used on the same box -- not clever
to do linear searches over 175k entries :(. This now moves the redistribute
code back into kroute duty and kills the linear list. Also default routes are
now redistributed without the need for a kernel default route.
OK norby@

Revision 1.20 / (download) - annotate - [select for diffs], Mon Aug 8 12:22:48 2005 UTC (18 years, 10 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_3_8_BASE, OPENBSD_3_8
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (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.19 / (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.18: +2 -1 lines
Diff to previous 1.18 (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.18 / (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.17: +2 -2 lines
Diff to previous 1.17 (colored)

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

Revision 1.17 / (download) - annotate - [select for diffs], Fri May 27 02:01:53 2005 UTC (19 years ago) by norby
Branch: MAIN
Changes since 1.16: +9 -1 lines
Diff to previous 1.16 (colored)

Preparation for upcoming virtual link support.

ok claudio@

Revision 1.16 / (download) - annotate - [select for diffs], Tue May 24 06:55:21 2005 UTC (19 years ago) by claudio
Branch: MAIN
Changes since 1.15: +2 -1 lines
Diff to previous 1.15 (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.15 / (download) - annotate - [select for diffs], Mon May 23 23:03:07 2005 UTC (19 years ago) by claudio
Branch: MAIN
Changes since 1.14: +2 -1 lines
Diff to previous 1.14 (colored)

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

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: +2 -1 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], Fri May 13 17:18:53 2005 UTC (19 years, 1 month ago) by norby
Branch: MAIN
Changes since 1.12: +2 -1 lines
Diff to previous 1.12 (colored)

Cost type 2 will be needed soon.

ok claudio@

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

Every time a LSA is returned from a lookup lsa_age() it.
Also move the lsa_age() prototype to rde.h so that we can access it from
the SPF code.
OK norby@

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

Add "show database asbr/external/network/router/self-originate/summary"
to ospfctl.

Show detailed information about the LSAs in the Link State Database.

ok claudio@

Revision 1.10 / (download) - annotate - [select for diffs], Sun May 8 19:58:51 2005 UTC (19 years, 1 month ago) by claudio
Branch: MAIN
Changes since 1.9: +16 -9 lines
Diff to previous 1.9 (colored)

Keep track of the req list in the RDE. The RFC requires us to check for
silly updates while fetching the table from the other server. OK norby@

Revision 1.9 / (download) - annotate - [select for diffs], Tue Apr 12 09:54:59 2005 UTC (19 years, 2 months ago) by claudio
Branch: MAIN
Changes since 1.8: +7 -1 lines
Diff to previous 1.8 (colored)

Support for self originated AS-external LSA.
With "redistribute (static|connected|default|none)" it is possible to
tell ospfd which external routes should be announced.
Connected routes will be announced only if there is no corresponding
interface configured, in that case the prefix is not external.
Adding and removing of announced prefixes are done automaticaly.
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: +4 -4 lines
Diff to previous 1.7 (colored)

Remove bool cruft.

ok claudio@

Revision 1.7 / (download) - annotate - [select for diffs], Sat Mar 12 11:03:05 2005 UTC (19 years, 3 months ago) by norby
Branch: MAIN
CVS Tags: OPENBSD_3_7_BASE, OPENBSD_3_7
Changes since 1.6: +3 -1 lines
Diff to previous 1.6 (colored)

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

ok henning@

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

Remove no longer valid route entries.

ok claudio@

Revision 1.5 / (download) - annotate - [select for diffs], Sun Feb 27 08:21:15 2005 UTC (19 years, 3 months ago) by norby
Branch: MAIN
Changes since 1.4: +40 -1 lines
Diff to previous 1.4 (colored)

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@

Revision 1.4 / (download) - annotate - [select for diffs], Wed Feb 9 22:58:08 2005 UTC (19 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.3: +2 -1 lines
Diff to previous 1.3 (colored)

Fix premature ageing of self originating LSA. Still not perfect but better
than before where it just failed to work.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Feb 9 20:40:23 2005 UTC (19 years, 4 months ago) by claudio
Branch: MAIN
Changes since 1.2: +3 -2 lines
Diff to previous 1.2 (colored)

Rework of self originated LSA. First of all the code to generate the LSA
is rewritten to use the dynamic buffer api introduced lately.
Add missing parts in the RDE to merge these LSA originated from the OE into
the LSDB with correct seq_num, etc.
Add hooks to the neighbor and interface fsm so that the LSA get updated if
needed. This is not perfect, still many things are missing. OK norby@

Revision 1.2 / (download) - annotate - [select for diffs], Fri Jan 28 17:53:33 2005 UTC (19 years, 4 months ago) by norby
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored)

Change my email address to the OpenBSD one since Ericsson has nothing to
do with this software, just happend to be my only valid email address at
the time.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Jan 28 14:05:40 2005 UTC (19 years, 4 months ago) by claudio
Branch: MAIN

Welcome ospfd
started by Esben Norby some time ago by using the imsg/three process framework
of bgpd. He implemented the basic concept plus the ospf finite state machines.
Later I joined and helped him cleanup, debug and extend his work.
Right now it is not particularly useful, major parts are still missing but is
imported to allow more people to work on it.
status:
The basic protocol works for broadcast networks and the LS database is
synchronized and updated. It is not possible to be DR or BDR on a network
and other interface types like point-to-point are not yet supported.
The shortest path tree is not calculated and so no routing information is
exchanged with the kernel FIB.

Not yet connected to the builds.
OK henning@

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.