Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-04-04 | Route feed marks only the relevant pending exports as done | Maria Matejka | |
2023-04-04 | Moved channel export hooks to rt.h as the channel refactoring isn't going to ↵ | Maria Matejka | |
take place soon | |||
2023-04-04 | Fixed use-after-free of old protocol name pointer copied into rte_owner ↵ | Maria Matejka | |
structure | |||
2023-04-04 | Fixed unwanted reloads while reconfiguring protocols with import table on | Maria Matejka | |
2023-04-04 | Fixed bad filter re-evaluation with import table if filtered->accepted | Maria 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-04 | Fixed channel stopping when reload is active | Maria Matejka | |
2023-04-04 | Fix obvious mistake in protocol debug dump | Maria Matejka | |
2023-04-04 | Reducing initial channel bitmap sizes to help extreme cases | Maria Matejka | |
2023-04-04 | Interface subsystem locking | Maria Matejka | |
2023-04-04 | Proto: published protocol-loop connections | Maria Matejka | |
2023-02-07 | Protocol shutdown/restart from limits is respecting the loops | Maria Matejka | |
2023-02-07 | Merge commit '0bb04d5390f21b0c96fc4894ba5d5510c541f0ef' into HEAD | Maria Matejka | |
2023-02-02 | Interface updates are asynchronous | Maria 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-02 | Proto: Adding a list of associated neighbors | Maria 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-02 | Moved 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-25 | VRF setting reduced to one argument, using default dummy iface for default vrf | Maria Matejka | |
2022-11-07 | Merge commit '8478de88' into thread-next | Maria Matejka | |
2022-11-07 | Merge commit '54430df9' into thread-next | Maria Matejka | |
2022-10-12 | Merge commit '53958809' into thread-next | Maria Matejka | |
2022-10-12 | Merge commit '4ba991f1' into thread-next | Maria Matejka | |
2022-10-12 | BGP refeed and reload with Adj-RIB-In/Out is done without route refresh | Maria Matejka | |
2022-10-12 | Fixed BGP reload limits | Maria Matejka | |
2022-10-12 | Fixed export hook stopping in some corner cases. | Maria Matejka | |
Notably, it's in a corked state and also when refeed is pending. | |||
2022-10-05 | Fixed previously untested paths in RPKI | Maria Matejka | |
2022-10-03 | Nest: Add channel config flag to distinguish new or copy | Ondrej Zajicek | |
It is useful to distinguish whehter channel config returned from channel_config_get() was allocated new, or existing from template. Caller may want to initialize new ones. | |||
2022-10-03 | BGP: Do not assume that all channels are struct bgp_channel | Ondrej Zajicek | |
In principle, the channel list is a list of parent struct proto and can contain general structures of type struct channel, That is useful e.g. for adding MPLS channels to BGP. | |||
2022-09-20 | Merge commit 'adf37d8e' into thread-next | Maria Matejka | |
2022-09-18 | Merge commit '4f3fa162' into HEAD | Maria Matejka | |
2022-09-09 | Created a dedicated settle timer structure | Maria Matejka | |
2022-09-08 | Table access is now locked. | Maria Matejka | |
2022-09-05 | Exporter routine refactoring to allow for nicer table locking | Maria Matejka | |
2022-09-01 | Added an indirection to the export announcement routine | Maria Matejka | |
There are performance reasons for this, mostly that we don't want to ping the table service routine with every import. | |||
2022-09-01 | ROA subscriptions are also converted to export requests. | Maria Matejka | |
By this, the requesting channels do the timers in their own loops, avoiding unnecessary synchronization when the central timer went off. This is of course less effective for now, yet it allows to easily implement selective reloads in future. | |||
2022-09-01 | Miscellaneous refactoring | Maria Matejka | |
2022-09-01 | Default tables are not created unless actually used. | Maria Matejka | |
This allows for setting default table values at the beginning of config file before "master4" and "master6" tables are initialized. | |||
2022-08-03 | Merge commit 'c7d0c5b2' into thread-next | Maria Matejka | |
2022-08-02 | Merge commit 'f0507f05ce57398e135651896dace4cb68eeed54' into thread-next | Maria Matejka | |
2022-07-28 | Moved the thread starting code to IO loop code | Maria Matejka | |
2022-07-18 | Event lists rewritten to a single linked list | Maria Matejka | |
In multithreaded environment, we need to pass messages between workers. This is done by queuing events to their respective queues. The double-linked list is not really useful for that as it needs locking everywhere. This commit rewrites the event subsystem to use a single-linked list where events are enqueued by a single atomic instruction and the queue is processed after atomically moving the whole queue aside. | |||
2022-07-18 | Merge commit '94eb0858' into thread-next | Maria Matejka | |
2022-07-15 | Merge commit 'c70b3198' into thread-next [lots of conflicts] | Maria Matejka | |
There were more conflicts that I'd like to see, most notably in route export. If a bisect identifies this commit with something related, it may be simply true that this commit introduces that bug. Let's hope it doesn't happen. | |||
2022-07-12 | Removing the rte_modify API | Maria Matejka | |
For BGP LLGR purposes, there was an API allowing a protocol to directly modify their stale routes in table before flushing them. This API was called by the table prune routine which violates the future locking requirements. Instead of this, BGP now requests a special route export and reimports these routes into the table, allowing for asynchronous execution without locking the table on export. | |||
2022-07-11 | Export tables merged with BGP prefix hash | Maria Matejka | |
Until now, if export table was enabled, Nest was storing exactly the route before rt_notify() was called on it. This was quite sloppy and spooky and it also wasn't reflecting the changes BGP does before sending. And as BGP is storing the routes to be sent anyway, we are simply keeping the already-sent routes in there to better rule out unneeded reexports. Some of the route attributes (IGP metric, preference) make no sense in BGP, therefore these will be probably replaced by something sensible. Also the nexthop shown in the short output is the BGP nexthop. | |||
2022-07-11 | Show route uses the export request also for one-net queries | Maria Matejka | |
2022-06-27 | Fixed new route comparison | Maria Matejka | |
2022-06-24 | Allowed optimized exporting of a subprefix tree | Maria Matejka | |
Added an option for export filter to allow for prefiltering based on the prefix. Routes outside the given prefix are completely ignored. Config is simple: export in <net> <filter>; | |||
2022-06-24 | Table export generalized to allow for exporting from non-tables | Maria Matejka | |
2022-06-20 | Import tables are stored as an attribute layer inside the main tables. | Maria Matejka | |
The separate import tables were too memory-greedy, there is no need for them being stored as full-sized tables. | |||
2022-05-30 | Merge commit '17f91f9e6e70f7e3f29502e854823c0d48571eaa' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'ef6a903e6f44b467f9606018446095521ad01ef1' into haugesund | Maria Matejka | |