Commit graph

18 commits

Author SHA1 Message Date
Ondrej Zajicek (work)
7126cadf80 Static: Minor overhaul
The patch fixes several bugs introduced in previous changes, simplifies
the protocol by handing routes uniformly, introduces asynchronous route
processing to avoid issues with separate notifications for each next-hop
in ECMP routes, and makes reconfiguration faster by avoiding quadratic
complexity.
2017-03-09 13:47:00 +01:00
Jan Moskyto Matejka
f2010f9c65 Static: Protocol rework wrt. struct nexthop changes; MPLS label support 2016-12-22 21:38:33 +01:00
Jan Moskyto Matejka
4e276a8920 Merged multipath and single-path data structures.
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-12-22 13:01:06 +01:00
Ondrej Zajicek (work)
d44e686e9b Follow-up commit on integrated BIRD
Use net_addr for interface address prefixes, support net_addr in
configuration parser.
2015-11-12 02:03:59 +01:00
Ondrej Zajicek
538264cf1a Static: Support for BFD controlled static routes 2015-07-24 18:02:07 +02:00
Ondrej Zajicek
1321e12ac4 Static: Allows to specify attributes for static routes
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-07-20 17:11:10 +02:00
Ondrej Zajicek
d40c26594c Fixes issues with static protocol reconfiguration.
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.
2014-02-26 16:01:20 +01:00
Ondrej Zajicek
69a8259c5e Allows sticky link-local neighbors.
Allows using NEF_STICKY neighbors with link-local addresses. This is
used for static route nexthops, they can be specified like fe80::1%eth0
.
2012-01-01 12:14:42 +01:00
Ondrej Zajicek
4116db182d Implements static recursive routes. 2011-09-24 02:24:34 +02:00
Ondrej Zajicek
9852f81064 Multipath support for static protocol. 2010-12-07 23:34:36 +01:00
Ondrej Zajicek
391931d456 Minor finalizations of link state checks. 2010-11-19 13:46:21 +01:00
Ondrej Zajicek
fe181e7c63 Adds support for iface link check to static protocol. 2010-11-11 12:24:27 +01:00
Martin Mares
d272fe22dd Separated `official protocol names' used in status dumps from name templates
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.
2000-01-17 11:52:50 +00:00
Martin Mares
feed822676 Implemented `show static'. It's a relatively good example of how to write
show commands for other protocols.
1999-12-03 11:41:23 +00:00
Martin Mares
e9e3dc2659 Modified static router to use new interface. 1999-02-05 21:38:22 +00:00
Martin Mares
980297d289 Fixed a couple of bugs in static protocol. All static routes except device
ones seem to work well.
1998-12-08 18:31:31 +00:00
Martin Mares
f6bd206607 All static routes except for device ones should work and appear/disappear
when their destination comes on/off link. Deserves better testing :)

See example in bird.conf.
1998-12-06 23:13:31 +00:00
Martin Mares
a1bf6440b5 Added skeleton of static route protocol. 1998-12-06 18:21:23 +00:00