Jan Maria Matejka
54ac17dc13
Nest: Removed rte_get_temp(), rte_update() now does its own copy.
...
This changes behaviour of rte_update() and rte_update2().
Formerly, the caller of rte_update2() took care of caching rta and
allocating rte; then rte_update2() freed the structures if it didn't use them.
Now rte_update2() does the permanent/global copies of rte+rta itself.
Allocation of rte+rta passed to rte_update2() is considered temporary
and the caller is also responsible to free these structures properly.
This is true for any kind of allocation: rte_update2() will always
allocate its own copy of the data passed (either really or just by
raising usecount in rta cache).
It is now possible (and in many protocols now used) to allocate rte+rta
on stack and pass them to rte_update(). It will deal with them correctly.
2018-09-26 16:23:28 +02:00
Jan Maria Matejka
f851f0d7e3
Config: Dropping CF_ADDTO.
2018-06-26 14:29:03 +02:00
Jan Maria Matejka
ee7e2ffd26
Protocol: Introducing an enum protocol_class
...
This supersedes the EAP_* constants.
2018-05-29 12:35:06 +02:00
Ondrej Zajicek (work)
2e507a7457
Use non-fatal asserts even for regular build
2018-01-10 16:17:37 +01:00
Ondrej Zajicek (work)
72163bd5f3
Nest: Allow modification of channels inherited from templates
...
Multiple definitions of same channels are forbidden, but inherited
channel can be redefined. In such case channel options are merged.
2018-01-09 18:42:22 +01:00
Ondrej Zajicek (work)
a6f79ca57f
Timers: Revert temporary names and remove old timer.h
2017-12-07 13:54:59 +01:00
Ondrej Zajicek (work)
ee528fbd5d
Timers: Add typecast to unit-converting macros
2017-12-07 13:53:42 +01:00
Ondrej Zajicek (work)
d59c1a2958
RPKI: Update to new timers
2017-12-07 13:52:21 +01:00
Ondrej Zajicek (work)
d3fa9e84e9
Timers: Show sub-second times in some protocol outputs
2017-12-07 13:49:27 +01:00
Ondrej Zajicek (work)
025525266f
Timers: Replace old timers with microsecond timers
...
The old timer interface is still kept, but implemented by new timers. The
plan is to switch from the old inteface to the new interface, then clean
it up.
2017-12-07 13:49:27 +01:00
Ondrej Zajicek (work)
4278abfe27
Check validity of dest w.r.t. net_type
...
Allow to define static roa/flow routes without dest.
2017-04-18 13:56:40 +02:00
Jan Moskyto Matejka
c609d03986
Merge branch 'int-new' into nexthop-merged
2017-02-22 11:58:04 +01:00
Ondrej Zajicek (work)
62e64905b7
Several minor fixes
2017-02-20 02:26:45 +01:00
Jan Moskyto Matejka
5b208e296f
Removing (struct rta)->cast. Never used.
2016-12-22 13:09:59 +01:00
Ondrej Zajicek (work)
eeba61ccd5
Minor cleanups
2016-12-13 20:18:11 +01:00
Jan Moskyto Matejka
b94e5e58db
RPKI: fixed some of the extended warnings
2016-12-07 15:35:35 +01:00
Jan Moskyto Matejka
af62c0f9f1
LibSSH may be switched off together with RPKI
2016-12-07 14:15:35 +01:00
Pavel Tvrdík
65d2a88dd2
RPKI protocol with one cache server per protocol
...
The RPKI protocol (RFC 6810) using the RTRLib
(http://rpki.realmv6.org/ ) that is integrated inside
the BIRD's code.
Implemeted transports are:
- unprotected transport over TCP
- secure transport over SSHv2
Example configuration of bird.conf:
...
roa4 table r4;
roa6 table r6;
protocol rpki {
debug all;
# Import both IPv4 and IPv6 ROAs
roa4 { table r4; };
roa6 { table r6; };
# Set cache server (validator) address,
# overwrite default port 323
remote "rpki-validator.realmv6.org" port 8282;
# Overwrite default time intervals
retry 10; # Default 600 seconds
refresh 60; # Default 3600 seconds
expire 600; # Default 7200 seconds
}
protocol rpki {
debug all;
# Import only IPv4 routes
roa4 { table r4; };
# Set cache server address to localhost,
# use default ports tcp => 323 or ssh => 22
remote 127.0.0.1;
# Use SSH transport instead of unprotected transport over TCP
ssh encryption {
bird private key "/home/birdgeek/.ssh/id_rsa";
remote public key "/home/birdgeek/.ssh/known_hosts";
user "birdgeek";
};
}
...
2016-12-07 09:35:24 +01:00