Ondrej Zajicek (work)
2eaf65ec60
Netlink: Fix parsing of multipath routes with MPLS labels
2019-07-15 18:16:55 +02:00
Ondrej Zajicek (work)
8235c4747d
Netlink: Use route replace for IPv4
...
Use route replace netlink op instead of delete+add netlink ops for kernel
IPv4 route replace. This avoids some packetloss during route replace.
Still use the old behavior for IPv6, as some kernel bugs are hidden in
IPv6 ECMP handling.
2019-07-15 16:23:18 +02:00
Maria Matejka
8263690e75
Merge remote-tracking branch 'origin/master' into mq-filter-stack
2019-07-15 16:07:16 +02:00
Maria Matejka
efd7c87b5b
Filter: further split of print & die to FI_PRINT, FI_FLUSH and FI_DIE
2019-07-15 15:46:36 +02:00
Maria Matejka
3782454e8d
Filter: Simpler filter context allocation
2019-07-15 15:46:36 +02:00
Maria Matejka
f634adc7dc
Filter: FID_MEMBER debug string is a C constant string
2019-07-15 15:17:04 +02:00
Maria Matejka
c0999a149c
Filter: Converted FI_PRINT and FI_PATHMASK_CONSTRUCT to VARARG
2019-07-15 15:12:18 +02:00
Maria Matejka
c29d73a06a
Filter: fixed excessive stack allocation in functions with args but no local vars
2019-07-15 15:06:52 +02:00
Maria Matejka
0da06b7103
Filter: lots of documentation
2019-07-15 13:19:01 +02:00
Maria Matejka
1b9db6d4a7
Filter: Don't write out when re-evaluating filter for internal purposes.
2019-07-15 12:03:47 +02:00
Maria Matejka
547be53b8c
Filter: Don't fail badly when trying to access non-existent route in config time
2019-07-15 12:03:13 +02:00
Ondrej Zajicek (work)
1aec7112f7
OSPF: Fix handling of NSSA option flags
...
Per RFC 3101, N-bit signalling NSSA support should be used only in Hello
packets, not in DBDES packets. BIRD since 2.0.4 verifies N-bit in
neighbor structure, which is learned from DBDES packets, therefore
NSSA-LSAs are not propagated to proper implementations of RFC 3101.
This patch fixes that. Both removing the check and removing N-bit from
DBDES packet. This will fix compatibility issues with proper
implementations, but causes compatibility issues with BIRD 2.0.4.
2019-07-10 18:25:36 +02:00
Ondrej Zajicek (work)
bfa15a642f
Filter: Minor cleanups
2019-07-10 16:47:17 +02:00
Maria Matejka
b2a4feeb4c
Merge branch 'master' into mq-filter-stack
2019-07-10 11:27:08 +02:00
Maria Matejka
422a933429
Debug: growing message format buffer
...
This led in corner cases to undefined buffer content
and garbage output.
2019-07-10 11:12:41 +02:00
Ondrej Zajicek (work)
deb84d7989
OSPF: Minor fix in graceful restart
...
Most LSA origination is blocked in ospf_update_topology(), this fix
blocks LSA origination from ospf_rt_spf().
2019-07-09 15:57:46 +02:00
Vincent Bernat
e840cb9cd5
Doc: Fix typo in BGP dynamic names feature description
2019-07-09 15:30:45 +02:00
Maria Matejka
74a38adb6b
Merge branch 'master' of gitlab.labs.nic.cz:labs/bird
2019-07-09 14:53:15 +02:00
Maria Matejka
1322e205e2
Test: Fixed annoying warnings (and possible obscure bugs).
2019-07-09 14:37:14 +02:00
Maria Matejka
bb001af0e8
Test: better random u64 generator
2019-07-09 14:37:14 +02:00
Ondrej Zajicek (work)
2872ab927e
OSPF: Update DR when local priority changes
...
When priority is reconfigured locally, we need to trigger DR election.
(recommiting, was reset by the previous commit)
2019-07-09 03:48:02 +02:00
Ondrej Zajicek (work)
85840d4c03
OSPF: Fix handling of external routes on graceful restart
...
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-07-09 03:39:19 +02:00
Maria Matejka
05e3933c06
Nest: Uninitialized variable fix
...
Thanks to Vincent Bernat for reporting this.
2019-07-08 13:05:14 +02:00
Maria Matejka
2ce25ebbef
Libdmalloc macros fixed
2019-07-08 13:00:13 +02:00
Ondrej Zajicek (work)
fa1e0ba354
OSPF: Update DR when local priority changes
...
When priority is reconfigured locally, we need to trigger DR election.
2019-07-04 13:34:42 +02:00
Maria Matejka
eac9250fd5
Merge branch 'master' into mq-filter-stack
2019-07-03 11:12:25 +02:00
Maria Matejka
8816b6cdd9
Merge branch 'mq-filter-stack' of gitlab.labs.nic.cz:labs/bird into mq-filter-stack
2019-07-03 08:44:42 +02:00
Maria Matejka
84ac62d396
Filter: CLI command to dump all the linearized filters
2019-07-03 08:27:56 +02:00
Maria Matejka
0206c070ac
Filter: Split printing and dying
2019-07-03 08:27:56 +02:00
Maria Matejka
3265c9169d
Removed obsolete comment at as_path_cut()
2019-07-03 00:04:24 +02:00
Maria Matejka
78976974e7
Dynamic attributes definition split whether it is bitmask or not.
2019-07-03 00:00:11 +02:00
Maria Matejka
263fa2c4a6
Filter: Dropped some more irrelevant whitespace from generated files
2019-07-02 22:57:00 +02:00
Ondrej Zajicek (work)
59d3a3611f
Netlink: Handle alien routes with unsorted nexthops
...
Nest requires that nexthops are sorted, the kernel protocol have to
ensure that for alien routes.
2019-07-02 18:23:06 +02:00
Maria Matejka
84c58aabd0
Filter: Nicer whitespaces in generated inst-gen.h
2019-07-02 17:59:21 +02:00
Maria Matejka
550a6488c9
Filter: documentation of the M4 preprocessor
2019-07-02 17:39:56 +02:00
Ondrej Zajicek (work)
1187627a1d
Netlink: Do unified scan for both IPv4 and IPv6
...
Instead of separate scans for IPv4, IPv6 and MPLS, do one AF_UNSPEC scan.
This also avoids kernel issue when kernel reported IPv4 and IPv6 routes
during MPLS scan if MPLS is not active.
2019-07-02 16:30:36 +02:00
Maria Matejka
c376555cec
Filter: GCC, don't complain about indentation in generated code.
2019-07-02 13:13:29 +02:00
Maria Matejka
b40c0f028f
Filter: Pre-evaluation of constant expressions
2019-07-02 10:45:53 +02:00
Maria Matejka
30667d5041
Filter: Resolving of defined constants in config time
2019-07-01 14:12:05 +02:00
Maria Matejka
26bfe59f45
Filter: Moved singleton member definitions to f-inst.c
2019-07-01 13:13:06 +02:00
Maria Matejka
4212c0e7e5
Filter: Moved f_inst allocation to separate function
2019-07-01 12:49:02 +02:00
Maria Matejka
f74d19765e
Filter: Getting rid of RESULT_OK. Adding RESULT_VOID.
...
This is a preparation for filter pre-evaluation.
2019-07-01 12:07:06 +02:00
Maria Matejka
236828d06f
Filter: The interpreter code now shares its diversion with constructor
...
This is a preparation for filter pre-evaluation.
2019-07-01 11:57:35 +02:00
Maria Jan Matejka
026bfedb33
BGP: Prefix hash is too small, increase its max size.
...
This doesn't make any change for you until you have
millions of updates waiting to be sent. Increasing
the max hash size from 2^20 to 2^24.
2019-07-01 09:05:54 +02:00
Maria Jan Matejka
9dac814ee8
BGP: split tx explicitly
...
If BGP has too many data to send and BIRD is slower than the link, TX is
always possible until all data is sent. This patch limits maximum number
of generated BGP messages in one iteration of TX hook.
2019-07-01 09:05:50 +02:00
Ondrej Zajicek (work)
bb57d9171f
Add mock-up function for unit tests
...
They failed without it.
2019-06-30 22:30:56 +02:00
Ondrej Zajicek (work)
6c0f85d5de
Doc: OSPF graceful restart options
2019-06-30 22:11:29 +02:00
Ondrej Zajicek (work)
1a2ad348f6
OSPF: Support for graceful restart
...
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-06-30 21:30:41 +02:00
Ondrej Zajicek (work)
8a68316eb9
Nest: Add command to request graceful restart
...
When 'graceful down' command is entered, protocols are shut down
with regard to graceful restart. Namely Kernel protocol does
not remove routes and BGP protocol does not send notification,
just closes the connection.
2019-06-30 21:29:24 +02:00
Maria Matejka
63f49457dc
Filter: renaming pointers for consistency
...
The struct f_inst * is now always "what"
and the union member pointer is always "whati".
2019-06-28 11:26:36 +02:00