| Branch: | Revision:

iof-bird-daemon / proto / ospf / ospf.c @ 74c838a8

History | View | Annotate | Download (38.5 KB)

# Date Author Comment
74c838a8 12/29/2015 02:42 PM Ondrej Zajicek (work)

Move ID allocator to a separate file and use it also in OSPF

600998fc 12/21/2015 07:28 PM Ondrej Zajicek (work)

Modify FIB_WALK() and FIB_ITERATE() to work with new FIB code

Returned user data pointers have offset relative to fib_node.

23c212e7 12/21/2015 02:33 AM Ondrej Zajicek (work)

Follow-up work on integration

7fd4143e 12/20/2015 12:47 PM Jan Moskyto Matejka

Integrated address print lengths

Minor changes by Ondrej Santiago Zajicek

d44e686e 11/12/2015 01:03 AM Ondrej Zajicek (work)

Follow-up commit on integrated BIRD

Use net_addr for interface address prefixes, support net_addr in
configuration parser.

fe9f1a6d 11/05/2015 11:48 AM Ondrej Zajicek (work)

Initial commit on integrated BIRD

New data types net_addr and variants (in lib/net.h) describing
network addresses (prefix/pxlen). Modifications of FIB structures
to handle these data types and changing everything to use these
data types instead of prefix/pxlen pairs where possible....

1321e12a 07/20/2015 03:11 PM Ondrej Zajicek

Static: Allows to specify attributes for static routes

The patch adds suport for specifying route attributes together with
static routes, e.g.:

route via { krt_advmss = 1200; ospf_metric1 = 100; };
2bbc3083 02/21/2015 08:08 PM Ondrej Zajicek

Store protocol config size inside protocol structure

Make proto_config_new() use this info instead of supplied size.

Thanks to Alexander V. Chernikov for the patch.

6f8bbaa1 11/03/2014 09:42 AM Ondrej Zajicek

Fininshing integrated OSPF.

f8fefde3 10/24/2014 09:07 AM Ondrej Zajicek

Refactoring of OSPF messages.

178a197a 07/21/2014 07:50 PM Ondrej Zajicek

OSPF instance id option and documentation update.

742029eb 07/19/2014 03:28 PM Ondrej Zajicek

Whitespace cleanup in OSPF.

a7a7372a 07/18/2014 04:24 PM Ondrej Zajicek

Temporary integrated OSPF commit.

70945cb6 06/26/2014 09:58 AM Ondrej Zajicek

Temporary integrated OSPF commit.

145368f5 04/23/2014 11:54 AM Ondrej Zajicek

Extends multipath support for OSPF.

Fixes cases where the same network or external route are propagated by
several OSPF routes and some other corner cases in next hop construction
and ECMP. Allows to specify whether external routes should be merged.

Thanks to Peter Christensen for the original patch.

10c2e1e0 02/06/2014 04:54 PM Ondrej Zajicek

Fixes crash when state of disabled OSPF protocol is queried.

Thanks to Ondrej Caletka for the bugreport.

48e5f32d 02/06/2014 04:46 PM Ondrej Zajicek

Many changes in I/O and OSPF sockets and packet handling.

- BSD: specify src addr on IP sockets by IP_HDRINCL
- BSD: specify src addr on UDP sockets by IP_SENDSRCADDR
- Linux: specify src addr on IP/UDP sockets by IP_PKTINFO
- IPv6: specify src addr on IP/UDP sockets by IPV6_PKTINFO...

736e143f 11/23/2013 10:50 AM Ondrej Zajicek

Merge branch 'master' into add-path


f623ab98 06/11/2013 10:12 AM Ondrej Zajicek

Implements OSPF stub router option (RFC 3137).

Also fixes OSPFv3 routing table calculcation w.r.t.
errata 2078 to RFC 5340.

79b4e12e 12/27/2012 11:56 AM Ondrej Zajicek

Implements interface masks for choosing router id.

Router ID could be automatically determined based of subset of
ifaces/addresses specified by 'router id from' option. The patch also
does some minor changes related to router ID reconfiguration.

Thanks to Alexander V. Chernikov for most of the work.

dd4da6f6 10/31/2012 04:14 PM Ondrej Zajicek

Fixes another bug in OSPFv3 vlinks.

8249ad9b 10/29/2012 07:39 PM Ondrej Zajicek

Fixes sorting in OSPF show state.

094d2bdb 08/14/2012 02:46 PM Ondrej Zajicek

Implements ADD-PATH extension for BGP.

Allows to send and receive multiple routes for one network by one BGP
session. Also contains necessary core changes to support this (routing
tables accepting several routes for one network from one protocol).
It needs some more cleanup before merging to the master branch.

bbcfd5a0 07/26/2012 11:59 AM Ondrej Zajicek

Fixes default route in OSPF multiple area setting.

d494df63 04/26/2012 10:04 PM Ondrej Zajicek

Some minor fixes.

20ab192b 03/16/2012 11:12 AM Ondrej Zajicek

Adds filtering to 'show ospf lsadb' command.

Thanks Alexander V. Chernikov for the original patch.

39c028e9 01/24/2012 10:31 AM Ondrej Zajicek

Assign default protocol preference via proto_config_new().

The patch from Alexander V. Chernikov.

2918e610 09/03/2011 07:31 PM Ondrej Zajicek

Fixes for OSPF NSSA handling.

ed317862 08/07/2011 11:45 PM Ondrej Zajicek

OSPF NSSA support, inter-area LSA translation.

4160a9dd 07/22/2011 06:00 PM Ondrej Zajicek

OSPF NSSA translator election.

41b612c3 07/20/2011 09:48 PM Ondrej Zajicek

OSPF NSSA support, part one.

8e48831a 03/17/2011 02:53 PM Ondrej Zajicek

Vastly improved OSPF reconfiguration.

Now it can handle a change in iface pattern structure.
It can add, remove and reconfigure interfaces, vlinks and areas.

919f5411 12/24/2010 05:08 PM Ondrej Zajicek

Implements Point-to-MultiPoint interface type for OSPF.

57c574d8 12/07/2010 10:35 PM Ondrej Zajicek

Multipath support for OSPF

391931d4 11/19/2010 12:46 PM Ondrej Zajicek

Minor finalizations of link state checks.

d9e7e1b1 11/13/2010 01:19 PM Ondrej Zajicek

Adds support for iface link detection to OSPF.

5cdf264f 11/10/2010 03:43 PM Ondrej Zajicek

Fixes a bug related to implicit backbone on ABR.

faf58cec 08/22/2010 12:43 PM Ondrej Zajicek

Fixes a bug in NBMA on an iface with multiple IP addresses.

ba5e5940 08/02/2010 11:11 AM Ondrej Zajicek

Adds igp_metric attribute.

824de84d 06/02/2010 08:25 PM Ondrej Zajicek

Do not start with huge OSPF FIBs.

Most OSPF instances don't need 64k FIB fields. This change halves
resident memory usage on small OSPF networks.

6384c7d7 05/02/2010 05:58 PM Ondrej Zajicek

OSPF: most of summary LSA orig./flush logic rewritten.

Fixes many bugs in the old code and makes it much cleaner.

0ea8fb4a 04/24/2010 01:18 PM Ondrej Zajicek

Fixes and enhancements in 'show ospf state' command.

Now it shows a distance, option to change showing reachable/all network
nodes and better handling of AS-external LSAs in multiple areas. The
command 'show ospf topology' was changed to not show stubnets in both...

b8113a5e 04/06/2010 10:19 PM Ondrej Zajicek

Implements BGP 'show protocols' info details.

126683fe 03/29/2010 05:29 PM Ondrej Zajicek

Filter language updates; new route attributes and datatype.

- Adds bgp_originator_id and bgp_cluster_list route attributes.
- Adds dotted quad filter datatype (for router IDs, used by
bgp_originator_id and ospf_router_id route attributes).
- Fixes pair ~ pair set matching....
48cff379 03/26/2010 03:21 PM Ondrej Zajicek

Added some comments.

af157fa3 03/26/2010 01:48 PM Ondrej Zajicek

Disable multiple OSPF pseudointerfaces on BSD.

0aad2b92 03/14/2010 03:36 PM Ondrej Zajicek

Temporary OSPF commit - sockets.

54305181 03/11/2010 05:55 PM Ondrej Zajicek

Merge branch 'new' into socket2

ff2857b0 02/26/2010 09:55 AM Ondrej Zajicek

Many changes in (mainly) kernel syncers.

- BSD kernel syncer is now self-conscious and can learn alien routes
- important bugfix in BSD kernel syncer (crash after protocol restart)
- many minor changes and bugfixes in kernel syncers and neighbor cache
- direct protocol does not generate host and link local routes...

e81b440f 02/21/2010 01:34 PM Ondrej Zajicek

Fix configure to enable warnings and fix most of them.

dca75fd7 02/13/2010 11:26 AM Ondrej Zajicek

Removes phantom protocol from the pipe design.

It seems that by adding one pipe-specific exception to route
announcement code and by adding one argument to rt_notify() callback i
could completely eliminate the need for the phantom protocol instance
and therefore make the code more straightforward. It will also fix some...

353729f5 02/11/2010 09:23 AM Ondrej Zajicek

Temporary OSPF commit - socket changes.

c27b2449 02/08/2010 03:01 PM Ondrej Zajicek

Shows source (Router ID) for OSPF routes and adds such attribute.

A sad thing is that we does not have a 'router_id' filter type,
so it must be given as decimal number in filters.

cf31112f 01/03/2010 11:17 AM Ondrej Zajicek

Implements MRTdump feature.

610bb3cf 12/22/2009 09:49 AM Ondrej Zajicek

Show command cleanups.

f7574707 12/14/2009 08:17 PM Ondrej Zajicek

Implements route reload for OSPF.

34a877cc 12/14/2009 04:29 PM Ondrej Zajicek

Minor updates.

be2d38b7 12/10/2009 11:31 PM Ondrej Zajicek

Temporary OSPFv3 commit.

98955023 12/03/2009 10:20 PM Ondrej Zajicek

Fixes OSPFv2 build.

98899244 10/15/2009 09:57 AM Ondrej Zajicek

Implement command to show LSA db.

b66abe8e 10/14/2009 10:28 PM Ondrej Zajicek

Reimplements 'show ospf state' for OSPFv3 and fixes some bugs.

d82fc18d 10/07/2009 08:10 PM Ondrej Zajicek

Implement proper LSA ID generation.

be862406 09/08/2009 11:45 AM Ondrej Zajicek

Temporary OSPFv3 development commit.

Finally, it is working.

b49e6f5a 08/25/2009 02:42 PM Ondrej Zajicek

Temporary OSPFv3 development commit

c3226991 08/21/2009 07:27 AM Ondrej Zajicek

Temporary OSPFv3 development commit

3aab39f5 07/23/2009 02:51 PM Ondrej Zajicek

Use %R in OSPF when appropriate.

f9bdcad4 07/05/2009 05:01 PM Ondrej Zajicek

Fixes type mismatch in OSPF printf statements.

Mixing ip_addr and u32 does bad things on Ultrasparc.
Although both have the same size. Fascinating.
It was not catched by compiler because of varargs.

38675202 06/11/2009 03:25 PM Ondrej Zajicek

Implements an option that allows to change a set of stub networks.

3d15dcdb 06/10/2009 09:45 PM Ondrej Zajicek

Changes OSPF to generate stub networks for non-primary addresses.

Also does some reorganization in RT LSA announcement.

23ac9e9a 05/31/2009 01:24 PM Ondrej Zajicek

Changes pipes to transfer all routes between routing table, not just optimal routes.

20e94fb8 05/06/2009 08:02 PM Ondrej Zajicek

A change in OSPF and RIP interface patterns.

Allows to add more interface patterns to one common 'options'
section like:

interface "eth3", "eth4" { options common to eth3 and eth4 };

Also removes undocumented and unnecessary ability to specify
more interface patterns with different 'options' sections:...

aebe06b4 11/08/2008 10:33 PM Ondrej Zajicek

Proper format functions for ORIGINATOR_ID, CLUSTER_LIST

f0ad56f4 10/28/2008 03:10 PM Ondrej Zajicek

Fixes some sloppiness of commit a3b70dc499b64f41aa776b5b4afee5c7bfb8dfa6.

a3b70dc4 10/26/2008 11:03 PM Ondrej Zajicek

Two new informative CLI commands for OSPF.

Two new CLI commands for OSPF giving nice informative (and still machine
parsable) representation of OSPF network graph (based on datas from the
LSA database).

The first command (show ospf topology) shows routers, networks and stub...

94c42054 03/15/2005 10:06 PM Ondrej Filip

Added new parametr 'rx buffer <num>'. BIRD is able to receive
very large packets (if configured).

63ca37f3 02/20/2005 06:56 PM Ondrej Filip

Cleanup - all unused variables deleted.

52d61a84 02/20/2005 04:54 PM Ondrej Filip

Intelligent reconfiguration should work again.

d8c7d9e8 02/20/2005 04:27 AM Ondrej Filip

Since now I can also use 'dead interval', not just 'dead counter'.

b181f444 02/14/2005 11:54 AM Ondrej Filip

Small changes to reduce number of warnings.

5d3f5552 02/13/2005 11:36 PM Ondrej Filip

Many bugfixes in routing table calculation and summary LSA origination.

86c84d76 07/15/2004 04:37 PM Ondrej Filip

Huge OSPF database redesign. Since now, all LSAs of all areas
are in single database. This avoids duplication of external LSAs and
fixes bug in external LSA distribution.

3b16080c 07/14/2004 09:46 PM Ondrej Filip

Multiple OSPF areas can be attached.
Origination of summary LSA works.
Routing table calculation works.
Virtual links works.

Well, I hope, OSPF is fully compatible with RFC2328!!!!

621ccdfe 07/13/2004 11:58 AM Ondrej Filip

Bugfix - options bits were not included in LSAs
Bugfix - E bit was not unset on stub areas.

3e2bd0f1 06/26/2004 08:15 PM Ondrej Filip

Md5 authentification added (unsested).
Packet receiving clean up.

98ac6176 06/25/2004 04:39 PM Ondrej Filip

A lot of changes:
- metric is 3 byte long now
- summary lsa originating
- more OSPF areas possible
- virtual links
- better E1/E2 routes handling
- some bug fixes..

I have to do:
- md5 auth (last mandatory item from rfc2328)
- !!!!DEBUG!!!!! (mainly virtual link system has probably a lot of bugs)...

1a61882d 06/11/2004 09:36 AM Ondrej Filip

Better routing table calculation. We are ready to work with
multiple OSPF areas.

d5d9693c 06/06/2004 06:45 PM Ondrej Filip

Deleted unused parameters.

b8f17cf1 06/06/2004 04:00 PM Ondrej Filip

Small cleanup, indentation and preparation for multiple areas routing table calculation.

2e10a170 06/06/2004 09:37 AM Ondrej Filip


66261211 06/06/2004 09:13 AM Ondrej Filip

Struct area_net changed.

b9ed99f7 06/06/2004 08:55 AM Ondrej Filip

Cleanup in iface.c

598b984d 06/05/2004 09:58 AM Martin Mares

One less unused variable.

1512813e 06/05/2004 09:28 AM Martin Mares

... and a whole bunch of unused parameters and variables in ospf.

6f3203fa 06/04/2004 09:05 PM Ondrej Filip

cleanup in lsupd.c, indenting, "struct proto" removed...

3df1e804 06/04/2004 02:21 PM Ondrej Filip

Don't repeat "Sheduling rt calc....."

39e517d4 06/04/2004 12:53 PM Ondrej Filip

hello.c and hello.h cleaned up. No design changes.

035f6acb 06/01/2004 01:12 PM Ondrej Filip

Patch from Andreas Steinmetz <>

d83faf8d 05/31/2004 08:53 PM Martin Mares

static declarations don't belong to includes. (And most of them were
redundant anyway.)

0077aab4 05/31/2004 06:16 PM Martin Mares

The code was broken for external /29 to /32 routes. Assuming that you
have one machine publishing a route to and another one
publishing a route to If the first machine went down the
route to was wrongly killed by the old code, leading either...

baa5dd6c 08/23/2003 10:42 AM Ondrej Filip

Many spelling mistakes fixed.

Thanks you Harry Moyes.