summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2023-01-22Added test case for switch bug fixed in e20bef69ccc4a85ef62359ee539c9db2dbe09127Maria Matejka
2023-01-21Merge commit '1e47b9f203aaaad0fb658d40a1670f1d0437f1f8' into thread-nextMaria Matejka
2023-01-21Merge commit 'e48f898fdaf06b61754ae520410729a9984ab65b' into thread-nextMaria Matejka
2023-01-21Merge commit 'a80cd4707464cedb526eb72e7704b097af20beb7' into thread-nextMaria Matejka
2023-01-21Merge commit '3859e4efc1597368df647323c5a3cc1771cb64ca' into thread-nextMaria Matejka
2023-01-21Merge commit 'e80156d9363a594ff23524f56d59f0eee160859d' into thread-nextMaria Matejka
2023-01-21Adding forgotten pthread.h #include in io-loop.h (breaks at openbsd 7.1)Maria Matejka
2023-01-21Merge commit 'a50d2fa65f3350ee55f5106b87a884d1b98e7761' into thread-nextMaria Matejka
2023-01-21Merge commit '543c8ba0971e91da3fe507dbfc1e1f9b556642b1' into thread-nextMaria Matejka
2023-01-20Fixed various build problems on FreeBSD and/or CLangMaria Matejka