summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-04Propagated const through route feed routinesMaria Matejka
2023-04-04Moved channel export hooks to rt.h as the channel refactoring isn't going to ↵Maria Matejka
take place soon
2023-04-04Allowing to restart a route refresh.Maria Matejka
Repeated pipe refeed should not end route refresh as the prune routine may start pruning otherwise valid routes. The same applies for BGP repeated route refresh.
2023-04-04Fixed default table configurationMaria Matejka
When changing default table behavior, I missed that it enabled to configure multiple master4 and master6 tables. Now BIRD recognizes it and fails properly.
2023-04-04Fixed use-after-free of old protocol name pointer copied into rte_owner ↵Maria Matejka
structure
2023-04-04Fixed unwanted reloads while reconfiguring protocols with import table onMaria Matejka
2023-04-04Fixed bad filter re-evaluation with import table if filtered->acceptedMaria Matejka
The import table feed wasn't resetting the table-specific route values like REF_FILTERED and thus made the route look like filtered even though it should have been re-evaluated as accepted.
2023-04-04Fixed channel stopping when reload is activeMaria Matejka
2023-04-04Fix obvious mistake in protocol debug dumpMaria Matejka
2023-04-04Fixed stopping of import request with no imports in idle tableMaria Matejka
2023-04-04Moved table hostcache updater to table service routines to not bother the ↵Maria Matejka
mainloop
2023-04-04Reducing initial channel bitmap sizes to help extreme casesMaria Matejka
2023-04-04Flowspec links must have the destination table service loop lockedMaria Matejka
2023-04-04BGP Export Table: Fixed route source objects leaking when prefix best routes ↵Maria Matejka
is updated
2023-04-04BGP: LLGR Staleness optimization dropped.Maria Matejka
This brought unnecessary complexity into the decision procedures while the performance aspects weren't worth it. It just saved one ea_list traversal when many others are also done.
2023-04-04BGP: show detailed TX state in show proto all outputMaria Matejka
2023-04-04BFD notifications respect protocol loop settingsMaria Matejka
2023-04-04Temporarily switching off time annotations of debug logMaria Matejka
The "dump *" commands are totally garbled by the time annotations.
2023-04-04Conf: Fix too early free of old configurationOndrej Zajicek
The change 371eb49043d225d2bab8149187b813a14b4b86d2 introduced early free of old_config. Unfortunately, it did not properly check whether it is not still in use (blocked by obstacle during reconfiguration). Fix that. It also means that we still could have a short peak when three configs are in use (when a new reconfig is requeste while the previous one is still active).
2023-04-04Interface subsystem lockingMaria Matejka
2023-04-04Proto: published protocol-loop connectionsMaria Matejka
2023-02-07Protocol shutdown/restart from limits is respecting the loopsMaria Matejka
2023-02-07Merge commit '0bb04d5390f21b0c96fc4894ba5d5510c541f0ef' into HEADMaria Matejka
2023-02-07BGP: opening and closing listening socket asynchronouslyMaria Matejka
2023-02-02Macro: stringifyMaria Matejka
2023-02-02Lists: fixed bugs in expensive checks in quirky usecasesMaria Matejka
2023-02-02Interface updates are asynchronousMaria Matejka
Instead of propagating interface updates as they are loaded from kernel, they are enqueued and all the notifications are called from a protocol-specific event. This change allows to break the locking loop between protocols and interfaces. Anyway, this change is based on v2 branch to keep the changes between v2 and v3 smaller.
2023-02-02Proto: Adding a list of associated neighborsMaria Matejka
This makes for safer and faster pruning and notifying as protocol now on its shutdown prunes only its neighbors and nothing else.
2023-02-02Typed lists: shortcut for simple nodesMaria Matejka
2023-02-02Moved interface list flush to device protocol cleanup hook.Maria Matejka
The interface list must be flushed when device protocol is stopped. This was done in a hardcoded specific hook inside generic protocol routines. The cleanup hook was originally used for table reference counting late cleanup, yet it can be also simply used for prettier interface list flush.
2023-01-26Object locks use eventsMaria Matejka
Instead of calling custom hooks from object locks, we use standard event sending mechanism to inform protocols about object lock changes. This is a backport from version 3 where these events are passed across threads. This implementation of object locks doesn't use mutexes to lock the whole data structure. In version 3, this data structure may get accessed from multiple threads and must be protected by mutex.
2023-01-25VRF setting reduced to one argument, using default dummy iface for default vrfMaria Matejka
2023-01-24Object locks use eventsMaria Matejka
Instead of calling custom hooks from object locks, we use standard event sending mechanism to inform protocols about object lock changes. As event sending is lockless, the unlocking protocol simply enqueues the appropriate event to the given loop when the locking is done.
2023-01-24Merge v2.0.12 into thread-nextMaria Matejka
2023-01-24Merge commit '3186ffe79714a48542d5ad61a94c81216b522fd0' into thread-nextMaria Matejka
2023-01-24Merge commit '6bb992cb04926895be57dc97e7d569ea15a07db1' into thread-nextMaria Matejka
2023-01-24Merge commit '9dc9124c' into thread-nextMaria Matejka
2023-01-24Revert "Filter: Allow setting the 'onlink' route attribute in filters"Maria Matejka
This reverts commit 7144c9ca46f092da33a4e051bbce8f973a3bd8c4. The onlink attribute implementation collides with the nexthop attribute behavior in v3; keeping it aside until finding out how to reimplement it correctly.
2023-01-23Merge commit '928a1cb034e6f9e8edcdd1dc07264cd703e00827' into thread-nextMaria Matejka
2023-01-23Merge commit '7fb23041a52d01754c53ba963e2282e524813364' into thread-nextMaria Matejka
2023-01-23Merge commit 'd1cd5e5a63b2256eb71661f7438537e4ded7b01a' into thread-nextMaria Matejka
2023-01-23Merge commit 'b28431e557c4f63923476094a919a0630001275e' into thread-nextMaria Matejka
2023-01-23Merge commit 'd3f50ede127df338f575e188566035b2a46cf6c6' into thread-nextMaria Matejka
2023-01-23Merge commit '6d1ae197d189d50e60279796441c6e74272ddc54' into thread-nextMaria Matejka
2023-01-23Merge commit '8b06a4d8af46511f0f8dbb8905afa88590a831b6' into thread-nextMaria Matejka
2023-01-23Small fix of indentingAlexander Zubkov
2023-01-23NEWS and version updatev2.0.12Ondrej Zajicek
2023-01-22BFD: Improve incoming packet matchingOndrej Zajicek
For active sessions, ignore received packets with zero local id and mismatched remote id. That forces a session timeout instead of an immediate session restart. It makes BFD sessions more resilient to packet spoofing. Thanks to André Grüneberg for the suggestion.
2023-01-22VRF: Fix issues with reconfigurationOndrej Zajicek
Protocols receive if_notify() announcements that are filtered according to their VRF setting, but during reconfiguration, they access iface_list directly and forgot to check VRF setting here, which leads to all interfaces be addedd. Fix this issue for Babel, OSPF, RAdv and RIP protocols. Thanks to Marcel Menzel for the bugreport.
2023-01-22Merge commit '2b7643e1f8ecb0bd4cf9af4183b4fd53b655d19c' into thread-nextMaria Matejka