summaryrefslogtreecommitdiff
path: root/proto/static
AgeCommit message (Collapse)Author
2017-02-17Static: Fix bug in static route filter expressionsOndrej Zajicek (work)
During reconfiguration, old and new filter expressions in static routes are compared using i_same() function. When filter expressions contain function calls, it is necessary that old filter expressions are the second argument in i_same(), as it is internally modified by i_same(). Otherwise pointers to old (and freed) data appear in the config structure. Thanks to Lennert Buytenhek for tracking and reporting the bug.
2016-11-01Build: switch on -Wextra, get rid of most of the warningsJan Moskyto Matejka
There are several unresolved -Wmissing-field-initializers on older versions of GCC than 5.1, all of them false positive.
2016-09-14Nest: Keep multipath next hops sortedOndrej Zajicek (work)
2015-07-24Static: Support for BFD controlled static routesOndrej Zajicek
2015-07-20Static: Allows to specify attributes for static routesOndrej Zajicek
The patch adds suport for specifying route attributes together with static routes, e.g.: route 10.1.1.0/24 via 10.0.0.1 { krt_advmss = 1200; ospf_metric1 = 100; };
2015-06-08BGP multipath supportOndrej Zajicek
Kernel option 'merge paths' allows to merge routes exported to kernel protocol (currently BGP and static routes) to multipath routes.
2015-02-21Store protocol config size inside protocol structureOndrej Zajicek
Make proto_config_new() use this info instead of supplied size. Thanks to Alexander V. Chernikov for the patch.
2015-02-21Replacing GNU old-style field designator extensionPavel Tvrdik
2014-02-26Fixes issues with static protocol reconfiguration.Ondrej Zajicek
The old static route was not removed when the nexthop changed and the new one was not viable (no neighbor). Thanks to Pierluigi Rolando for the original patch.
2013-11-23Merge branch 'master' into add-pathOndrej Zajicek
Conflicts: filter/filter.c nest/proto.c nest/rt-table.c proto/bgp/bgp.h proto/bgp/config.Y
2013-02-09Fixes handling of iface routes in static proto during reconfiguration.Ondrej Zajicek
During reconfiguration, iface routes were installed even when iface was down.
2012-11-27Changes static route targets drop/reject to blackhole/unreachable.Ondrej Zajicek
To be consistent with rest of BIRD and Linux. Old names are also allowed for compatibility.
2012-08-14Implements ADD-PATH extension for BGP.Ondrej Zajicek
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.
2012-04-15Fix static protocol w.r.t. some recent changes in protocol ahooks.Ondrej Zajicek
2012-01-24Assign default protocol preference via proto_config_new().Ondrej Zajicek
The patch from Alexander V. Chernikov.
2012-01-09Show interface for link-local gw in static protocol.Ondrej Zajicek
2012-01-01Allows sticky link-local neighbors.Ondrej Zajicek
Allows using NEF_STICKY neighbors with link-local addresses. This is used for static route nexthops, they can be specified like fe80::1%eth0 .
2011-11-07Implements protocol templates.Ondrej Zajicek
Based on the patch from Alexander V. Chernikov. Extended to support almost all protocols. Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
2011-09-24Implements static recursive routes.Ondrej Zajicek
2011-04-01Fix leaked debug message.Ondrej Zajicek
2010-12-07Multipath support for static protocol.Ondrej Zajicek
2010-11-19Minor finalizations of link state checks.Ondrej Zajicek
2010-11-11Adds support for iface link check to static protocol.Ondrej Zajicek
2010-05-16Do not remove old static route if it is in new config with different gw.Ondrej Zajicek
2010-02-27Better flushing of interfaces.Ondrej Zajicek
When device protocol goes down, interfaces should be flushed asynchronously (in the same way like routes from protocols are flushed), when protocol goes to DOWN/HUNGRY. This fixes the problem with static routes staying in kernel routing table after BIRD shutdown.
2009-06-01The pipe cleanup.Ondrej Zajicek
2001-08-19Fix %<something>I format strings.Martin Mares
2000-06-08Fixes for the programmer's manual.Martin Mares
2000-06-04Removed lots of trailing newlines in log messages.Martin Mares
Please note that the only calls which don't add newlines automatically (i.e., don't print a full line of output) are debug() and DBG().
2000-06-04Documented all the trivial protocols.Martin Mares
2000-05-31Updated all the Doc files to new format.Martin Mares
2000-05-15Cleanup of configuration.Martin Mares
o Use `expr' instead of `NUM' and `ipa' instead of `IPA', so that defined symbols work everywhere. o `define' now accepts both numbers and IP addresses. o Renamed `ipa' in filters to `fipa'. Pavel, please update filters to accept define'd symbols as well.
2000-05-13Unified parsing of prefixes.Martin Mares
Had to rename `prefix' in filters to `fprefix'.
2000-05-13Manual enable/disable works right.Martin Mares
2000-05-05Added skeleton Doc files for the whole developer's documentation.Martin Mares
2000-04-28Split CF_HDR section to CF_HDR (only includes) and CF_DEFINES (defines,Martin Mares
C declarations etc.).
2000-03-31Include "lib/string.h" instead of <string.h>. It should give us bzero()Martin Mares
and other non-portable functions on all systems.
2000-03-12Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules,Martin Mares
several debug() calls converted to DBG().
2000-01-17Static protocol supports full dynamic reconfiguration.Martin Mares
2000-01-17Separated `official protocol names' used in status dumps from name templatesMartin Mares
used for automatic generation of instance names. protocol->name is the official name protocol->template is the name template (usually "name%d"), should be all lowercase. Updated all protocols to define the templates, checked that their configuration grammar includes proto_name which generates the name and interns it in the symbol table.
1999-12-03Implemented `show static'. It's a relatively good example of how to writeMartin Mares
show commands for other protocols.
1999-05-17Kill remaining master_table relics in KRT code.Martin Mares
Make all protocols pass routing table to rte_update and rte_discard.
1999-05-06I rewrote the interface handling code, so that it supports multipleMartin Mares
addresses per interface (needed for example for IPv6 support). Visible changes: o struct iface now contains a list of all interface addresses (represented by struct ifa), iface->addr points to the primary address (if any). o Interface has IF_UP set iff it's up and it has a primary address. o IF_UP is now independent on IF_IGNORED (i.e., you need to test IF_IGNORED in the protocols; I've added this, but please check). o The if_notify_change hook has been simplified (only one interface pointer etc.). o Introduced a ifa_notify_change hook. (For now, only the Direct protocol does use it -- it's wise to just listen to device routes in all other protocols.) o Removed IF_CHANGE_FLAGS notifier flag (it was meaningless anyway). o Updated all the code except netlink (I'll look at it tomorrow) to match the new semantics (please look at your code to ensure I did it right). Things to fix: o Netlink. o Make krt-iface interpret "eth0:1"-type aliases as secondary addresses.
1999-04-12Removed TOS support. This simplifies many things a lot.Martin Mares
1999-03-26Added everything protocols need to know about multiple routing tables,Martin Mares
i.e. struct proto now contains field 'table' pointing to routing table the protocol is attached to. Use this instead of &master_table. Modified all protocols except the kernel syncer to use this field.
1999-03-02Don't try to install static routes to disconnected neighbors.Martin Mares
1999-02-13Implemented static device routes.Martin Mares
Expect for reconfiguration issues, the static protocol is complete now.
1999-02-13Static protocol doesn't need any shutdown function. Everything getsMartin Mares
disposed by the core: neighbors, rte's, etc's...
1999-02-05Modified static router to use new interface.Martin Mares
1999-01-10New makefiles. Includes support for out-of-source-tree builds.Martin Mares