- Apr 04, 2023
-
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
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.
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
The "dump *" commands are totally garbled by the time annotations.
-
Ondřej Zajíček authored
The change 371eb490 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).
-
Maria Matejka authored
-
Maria Matejka authored
-
- Feb 07, 2023
-
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
- Feb 02, 2023
-
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
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.
-
Maria Matejka authored
This makes for safer and faster pruning and notifying as protocol now on its shutdown prunes only its neighbors and nothing else.
-
Maria Matejka authored
-
Maria Matejka authored
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.
-
- Jan 26, 2023
-
-
Maria Matejka authored
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.
-
- Jan 25, 2023
-
-
Maria Matejka authored
-
- Jan 24, 2023
-
-
Maria Matejka authored
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.
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
This reverts commit 7144c9ca. The onlink attribute implementation collides with the nexthop attribute behavior in v3; keeping it aside until finding out how to reimplement it correctly.
-
- Jan 23, 2023
-
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
Maria Matejka authored
-
-