summaryrefslogtreecommitdiff
path: root/proto/ospf/topology.h
AgeCommit message (Collapse)Author
2022-05-30Merge commit 'f15f2fcee7eeb5a100bd204a0e67018e25953420' into haugesundMaria Matejka
2022-05-26Moved nexthop from struct rta to extended attribute.Maria Matejka
This doesn't do anything more than to put the whole structure inside adata. The overall performance is certainly going downhill; we'll optimize this later. Anyway, this is one of the latest items inside rta and in several commits we may drop rta completely and move to eattrs-only routes.
2021-11-09Split route data structure to storage (ro) / manipulation (rw) structures.Maria Matejka
Routes are now allocated only when they are just to be inserted to the table. Updating a route needs a locally allocated route structure. Ownership of the attributes is also now not transfered from protocols to tables and vice versa but just borrowed which should be easier to handle in a multithreaded environment.
2019-07-09OSPF: Fix handling of external routes on graceful restartOndrej Zajicek (work)
We need to flush learned external LSAs a bit later than other LSAs (after first feed after end of the graceful restart) to avoid flap of external routes.
2019-06-30OSPF: Support for graceful restartOndrej Zajicek (work)
Implement OSPFv2 (RFC 3623) and OSPFv3 (RFC 5187) graceful restart, for both restarting and helper sides. Graceful restart is initiated by 'graceful down' command.
2019-02-13OSPF: Basic support for DN-bit handling (RFC 4576)Ondrej Zajicek (work)
External LSAs originated by OSPF routers with VPN-PE behavior enabled are marked by DN flag and they are ignored by other OSPF routers with VPN-PE enabled.
2018-05-30Nest: Removing separate tmpa from route propagationJan Maria Matejka
This is a fundamental change of an original (1999) concept of route processing inside BIRD. During import/export, there was a temporary ea_list created which was to be used instead of the another one inside the route itself. This led to some confusion, quirks, and strange filter code that handled extended route attributes. Dropping it now. The protocol interface has changed in an uniform way -- the `struct ea_list *attrs` argument has been removed from store_tmp_attrs(), import_control(), rt_notify() and get_route_info().
2017-12-07OSPF: Update to new timersOndrej Zajicek (work)
Note that recurrent timers are currently limited to ~1 hour.
2016-12-22Merged multipath and single-path data structures.Jan Moskyto Matejka
Dropped struct mpnh and mpnh_*() Now struct nexthop exists, nexthop_*(), and also included struct nexthop into struct rta. Also converted RTD_DEVICE and RTD_ROUTER to RTD_UNICAST. If it is needed to distinguish between these two cases, RTD_DEVICE is equivalent to IPA_ZERO(a->nh.gw), RTD_ROUTER is then IPA_NONZERO(a->nh.gw). From now on, we also explicitely want C99 compatible compiler. We assume that this 20-year norm should be known almost everywhere.
2016-04-07Channelize: rt_notify arg conversion table -> channelJan Moskyto Matejka
2015-11-05Initial commit on integrated BIRDOndrej Zajicek (work)
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. The commit is WiP, some protocols are not yet updated (BGP, Kernel), and the code contains some temporary scaffolding. Comments are welcome.
2015-06-08Moving of mulipath merging code from OSPF to nestOndrej Zajicek
2014-07-19Whitespace cleanup in OSPF.Ondrej Zajicek
2014-07-18Temporary integrated OSPF commit.Ondrej Zajicek
2014-06-26Temporary integrated OSPF commit.Ondrej Zajicek
2012-07-26Fixes default route in OSPF multiple area setting.Ondrej Zajicek
2011-09-03Fixes for OSPF NSSA handling.Ondrej Zajicek
2011-08-08OSPF NSSA support, inter-area LSA translation.Ondrej Zajicek
2011-07-20OSPF NSSA support, part one.Ondrej Zajicek
2010-12-07Multipath support for OSPFOndrej Zajicek
2010-05-02OSPF: most of summary LSA orig./flush logic rewritten.Ondrej Zajicek
Fixes many bugs in the old code and makes it much cleaner.
2010-04-24Fixes and enhancements in 'show ospf state' command.Ondrej Zajicek
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 OSPFv2 and OSPFv3 (previously it displayed stubnets in OSPFv2).
2010-04-21Fixes several problems in OSPF vlink implementation.Ondrej Zajicek
2010-04-11Fixes next hop calculation on NBMA and parallel PTP links.Ondrej Zajicek
2009-09-17Implements proper RID handling in OSPFv3.Ondrej Zajicek
2009-08-25Temporary OSPFv3 development commitOndrej Zajicek
2009-08-21Temporary OSPFv3 development commitOndrej Zajicek
2005-02-13Many bugfixes in routing table calculation and summary LSA origination.Ondrej Filip
2004-07-15Huge OSPF database redesign. Since now, all LSAs of all areasOndrej Filip
are in single database. This avoids duplication of external LSAs and fixes bug in external LSA distribution.
2004-06-25A lot of changes:Ondrej Filip
- 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) - 2328 appendig E
2004-06-06Deleted unused parameters.Ondrej Filip
2004-06-06Cleanup in iface.cOndrej Filip
2004-06-01Patch from Andreas Steinmetz <ast@domdv.de>Ondrej Filip
2004-05-31The code was broken for external /29 to /32 routes. Assuming that youMartin Mares
have one machine publishing a route to 10.1.1.3/32 and another one publishing a route to 10.1.1.4/32. If the first machine went down the route to 10.1.1.4/32 was wrongly killed by the old code, leading either to missing routes or worse to bug()s like "Router parent does not have next hop" or just segfaults. The patch fixes this but in the long term a redesign is required here. Note that the patch doesn't worse the situation, instead it prevents the problems stated. The redesign is required to handle multiple routes to small subnets properly. (by Andreas) Feela, I think that this is at least a good temporary fix, but it's of course up to you to decide.
2001-06-09Added comments.Ondrej Filip
2000-08-18Just formatting.Ondrej Filip
2000-06-07Better algoritmus of LSA aging.Ondrej Filip
2000-06-07Doc in neighbor.c and some tiny changes related to.Ondrej Filip
2000-06-06Tracing in topologyOndrej Filip
2000-05-31LSArt origination and routing table calculation is now not doing soOndrej Filip
often. Instead of calculation I just schedule it latter.
2000-05-30Route attributes for OSPF.Martin Mares
2000-05-27Better shutdown. (Flush my own router LSA and send 1WAY to every neighbor.)Ondrej Filip
Ext LSA originating and flushing added.
2000-05-03Testing if I can flush LSA from database.Ondrej Filip
2000-05-03Better rt and net originating.Ondrej Filip
2000-04-30Sync with nest's rt table and some minor improvements.Ondrej Filip
2000-04-30RT calculation strongly simplified. Now, I don't need anyOndrej Filip
memory allocation. :-)
2000-04-29Calculating of nexts hop(s) added.Ondrej Filip
2000-04-26Routing table calculation. Dijkstra done.Ondrej Filip
2000-04-04LSupdate processing improved. Now there is some bug in hashing. :-(Ondrej Filip
2000-04-04Flooding work continues.Ondrej Filip