0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-08 12:18:42 +00:00
Commit Graph

1945 Commits

Author SHA1 Message Date
Maria Matejka
d25ad38eaf RCU Unwinder refactored from route table to a separate structure 2024-05-17 09:12:52 +02:00
Maria Matejka
915253be60 RIP partial reload never worked properly, running full reload always 2024-05-17 09:12:52 +02:00
Maria Matejka
9a520e364b Dropping obsolete protocol Perf
We have now better methods how to measure overall performance
and this obsolete protocol has basically rotten away. If anybody
needs its features, feel free to revive it in future.
2024-05-17 09:12:52 +02:00
Maria Matejka
43d48ff9fe OSPF partial reload never worked properly, running full reload always 2024-05-17 09:12:52 +02:00
Maria Matejka
99afca53e3 SKIP_BACK_DECLARE: easier embedded-to-parent typecasting 2024-05-17 09:12:52 +02:00
Maria Matejka
93c3923462 Using ea_lookup_tmp() for temporarily keeping attribute references
To avoid needs for keeping local temporary references for attributes,
now one can use ea_lookup_tmp() to ensure that the attributes are
valid and stored until the task ends. After that, the attributes are
automatically unref'd and also deallocated if needed.
2024-05-17 09:12:52 +02:00
Maria Matejka
09d99617d3 Table feeds are now lockless
This commit makes the route chains in the tables atomic. This allows not
only standard exports but also feeds and bulk exports to be processed
without ever locking the table.

Design note: the overall data structures are quite brittle. We're using
RCU read-locks to keep track about readers, and we're indicating ongoing
work on the data structures by prepending a REF_OBSOLETE sentinel node
to make every reader go waiting.

All the operations are intended to stay inside nest/rt-table.c and it
may be even best to further refactor the code to hide the routing table
internal structure inside there. Nobody shall definitely write any
routines manipulating live routes in tables from outside.
2024-05-17 09:12:51 +02:00
Maria Matejka
3685b0f9b6 BGP: Fixed corking of RX
If cork occurred after some incoming data had been already processed,
BGP incorrectly processed them again after uncorking because it forgot
to store the actual socket state.

Now storing the socket state (done at the end of bgp_rx()) and
therefore the bug is fixed.
2024-05-17 09:12:51 +02:00
Maria Matejka
75f2369589 Fixed annoying undefined values with nexthops 2024-05-13 08:52:48 +02:00
Maria Matejka
3fa23c3b53 Cached route attributes now have explicitly marked layers
Also the rta_* functions renamed to ea_* functions
2024-05-13 08:52:48 +02:00
Maria Matejka
b114aa0073 Static: Unlock IGP tables on cleanup to avoid problems with hostentry unlocking 2024-04-06 18:28:43 +02:00
Maria Matejka
0dd6ec566d Route table export journal converted to the generic structure 2024-04-06 18:28:43 +02:00
Maria Matejka
83b92a355d Refactoring of struct rt_pending_export
Now it stores const rte * instead of struct rte_storage * to allow for
different storage backends.
2024-02-08 09:20:40 +01:00
Maria Matejka
3b217f2984 Fixed L3VPN after merge to v3.
Semantics of rt_get_source() has changed between v2 and v3. Also other
minor fixes were needed to make it run.
2024-01-30 23:14:10 +01:00
Maria Matejka
058984bc86 BGP: fixed MPLS setting in nexthops
bug introduced somewhere during conversion of nexthops to eattrs
2024-01-29 22:12:38 +01:00
Maria Matejka
d615633437 Merge commit '13c6cf8a7430a6b133e46525256eb5554b3f0a2b' into thread-next 2024-01-28 23:09:47 +01:00
Maria Matejka
ddb4d9a24c Merge commit 'v2.14-95-g6d453c16' into thread-next 2024-01-28 15:04:45 +01:00
Maria Matejka
8b4f53675e Merge commit 'v2.14-92-gf27b05de' into thread-next 2024-01-28 15:00:59 +01:00
Maria Matejka
6d453c16e0 Merge commit 'v2.14-38-g422f795f' into mq-merge-step-2 2024-01-28 15:00:48 +01:00
Maria Matejka
f27b05de98 Merge commit 'v2.14-36-g5fdfbf61' into mq-merge-step-2 2024-01-28 14:58:04 +01:00
Maria Matejka
b5afbe057e Merge commit 'v2.14-89-g74de3858' into thread-next 2024-01-28 14:57:52 +01:00
Maria Matejka
74de38589d Merge commit 'v2.14-34-g23025ab5' into mq-merge-step-2 2024-01-28 14:57:46 +01:00
Maria Matejka
ecbeac8582 Merge commit 'v2.14-86-g9b731089' into thread-next 2024-01-28 14:57:15 +01:00
Maria Matejka
9b731089b5 Merge commit 'v2.14-32-gcaa9460a' into mq-merge-step-2 2024-01-28 14:57:10 +01:00
Maria Matejka
4628a117d9 Merge commit 'v2.13.1-186-g761649e6' into thread-next 2024-01-28 14:38:43 +01:00
Maria Matejka
761649e66b Merge commit 'v2.13.1-141-g4f806813' into mq-merge-step-2 2024-01-28 14:29:16 +01:00
Maria Matejka
8d2ec536d9 Merge commit 'v2.13.1-183-g2b05844c' into thread-next 2024-01-28 14:28:17 +01:00
Maria Matejka
2b05844cfb Merge commit 'v2.13.1-139-gc9d1ebbd' into mq-merge-step-2 2024-01-28 14:28:09 +01:00
Maria Matejka
7a4314ee02 Merge commit 'v2.13.1-133-g7cc3d300' into mq-merge-step-2 2024-01-28 14:20:45 +01:00
Maria Matejka
6a80214fb3 BGP: fixed MPLS label stack receiving bug
Introduced in 515df18da7 while merging v2 to v3.
2024-01-28 13:16:25 +01:00
Maria Matejka
57b5eb5cbd Merge commit 'v2.13.1-162-g5bf25678' into thread-next 2024-01-27 19:01:06 +01:00
Maria Matejka
5bf2567853 Merge commit 'v2.13.1-125-g90b9e871' into mq-merge-step-2 2024-01-26 23:29:17 +01:00
Maria Matejka
365ea12ea1 MPLS Subsystem Proper Locking
Added also some debug lines if debug is on.
2024-01-26 14:42:44 +01:00
Ondrej Zajicek
13c6cf8a74 Trivial code cleanups 2024-01-22 06:29:14 +01:00
Maria Matejka
e711a991d4 MPLS: FEC Map moved from protocol to MPLS channel 2024-01-08 13:03:25 +01:00
Ondrej Zajicek
2b6bd8ca3a OSPF: Cleanup some warnings 2023-12-13 18:07:38 +01:00
Katerina Kubecova
bcf2327425 BGP: Send hold timer
Implement BGP Send hold timer according to draft-ietf-idr-bgp-sendholdtimer.
The Send hold timer drops the session if the neighbor is sending keepalives,
but does not receive our messages, causing the TCP connection to stall.
2023-12-05 04:14:45 +01:00
Ondrej Zajicek
3fb06fea1d BGP: Add options to require BGP capabilities
Some BGP capabilities change the BGP behavior in a significant way, so if
the configuration depends on it, it is better to not establish BGP
session when the capability is not available.

Add several BGP option to require individual BGP capabilities during
session negotiation.
2023-11-23 20:54:22 +01:00
Ondrej Zajicek
b6923f6386 BGP: Simplify capability handling 2023-11-23 17:18:04 +01:00
Maria Matejka
8558e666e0 Merge branch 'mq-aggregator-for-v3' into thread-next 2023-11-09 17:38:31 +01:00
Maria Matejka
87e2ba8c84 Merge commit '8f5511da' into mq-aggregator-for-v3 2023-11-09 16:53:45 +01:00
Maria Matejka
219dc0fdb5 Merge branch 'mq-aggregator-for-v3' into thread-next 2023-11-09 16:53:34 +01:00
Maria Matejka
f434eb3865 Merge commit 'd8130da8' into mq-aggregator-for-v3 2023-11-09 16:36:54 +01:00
Maria Matejka
5098430748 Merge branch 'mq-aggregator-for-v3' into thread-next 2023-11-09 16:00:32 +01:00
Maria Matejka
29ffc62b76 Merge commit 'e915f99e' into mq-aggregator-for-v3 2023-11-09 16:00:09 +01:00
Maria Matejka
3ccf890e58 Merge branch 'mq-aggregator-for-v3' into thread-next 2023-11-09 15:58:41 +01:00
Maria Matejka
45ffbb4d76 Merge commit '81a20ca5' into mq-aggregator-for-v3 2023-11-09 15:50:39 +01:00
Maria Matejka
00e40a6b80 Merge branch 'mq-aggregator-for-v3' into thread-next 2023-11-09 15:20:13 +01:00
Soha Jin
31aa62ae6d OSPF: On physical PtP links, skip next-hop resolving
Signed-off-by: Soha Jin <soha@jin.sh>
Co-developed-by: Wende Tan <twd2.me@gmail.com>
2023-11-09 14:33:25 +01:00
Maria Matejka
b979c6ce6e Merge commit 'bcff3ae7' into mq-aggregator-for-v3 2023-11-09 11:06:07 +01:00