Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-07-11 | There are now no internal tables at all. | Maria Matejka | |
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 | Do not try to check flowspec validity for piped routes | Maria Matejka | |
2022-07-11 | Fixed bad import table attributes freeing | Maria Matejka | |
2022-07-11 | Attribute lists split to storage headers and data to save BGP memory | Maria Matejka | |
2022-07-11 | Show route uses the export request also for one-net queries | Maria Matejka | |
2022-07-11 | Added forgotten route source locking in flowspec validation | Maria Matejka | |
2022-07-11 | Merge remote-tracking branch 'origin/master' into backport | Maria Matejka | |
2022-07-11 | Merge commit 'beb5f78a' into backport | Maria Matejka | |
2022-07-10 | Merge version 2.0.10 into backport | Maria Matejka | |
2022-06-27 | Filter: Implement for loops | Ondrej Zajicek (work) | |
For loops allow to iterate over elements in compound data like BGP paths or community lists. The syntax is: for [ <type> ] <variable> in <expr> do <command-body> | |||
2022-06-27 | Filter: Improve handling of stack frames in filter bytecode | Ondrej Zajicek (work) | |
When f_line is done, we have to pop the stack frame. The old code just removed nominal number of args/vars. Change it to use stored ventry value modified by number of returned values. This allows to allocate variables on a stack frame during execution of f_lines instead of just at start. But we need to know the number of returned values for a f_line. It is 1 for term, 0 for cmd. Store that to f_line during linearization. | |||
2022-06-27 | Nest: Cleanups in as_path_filter() | Ondrej Zajicek (work) | |
Use struct f_val as a common argument for as_path_filter(), as suggested by Alexander Zubkov. That allows to use NULL sets as valid arguments. | |||
2022-06-27 | Preexport callback now takes the channel instead of protocol as argument | Maria Matejka | |
Passing protocol to preexport was in fact a historical relic from the old times when channels weren't a thing. Refactoring that to match current extensibility needs. | |||
2022-06-27 | Moved nexthop + hostentry display to other eattrs | Maria Matejka | |
2022-06-27 | Route attribute display now normalizes ea_lists. | Maria Matejka | |
This is needed to display every attribute only once with overlay attribute lists recently introduced. | |||
2022-06-27 | Fixed new route comparison | Maria Matejka | |
2022-06-27 | Fixed displaying BGP and RIP attributes after recent reworks | Maria Matejka | |
2022-06-27 | Fixed minor bugs in handling some route attributes | Maria Matejka | |
2022-06-27 | Fixed undefined attribute handling | Maria Matejka | |
2022-06-27 | The show-route CLI command now uses the route export API | Maria Matejka | |
In the multithreaded environment, it is not supposed that anybody traverses the routing table as the CLI show-route was doing. Now the routing table traversal is gone and CLI won't hold the table locked while computing filters. | |||
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-06-17 | Route attribute storage keeps the previous layers | Maria Matejka | |
2022-06-16 | Showing the nexthop resolution target in import tables | Maria Matejka | |
2022-06-08 | Merge commit '938742decc6e1d6d3a0375dd012b75172e747bbc' into haugesund | Maria Matejka | |
2022-06-08 | Merge commit '950775f6fa3d569a9d7cd05e33538d35e895d688' into haugesund | Maria Matejka | |
There were quite a lot of conflicts in flowspec validation code which ultimately led to some code being a bit rewritten, not only adapted from this or that branch, yet it is still in a limit of a merge. | |||
2022-06-07 | Fixing FlowSpec validation for v3 internal API | Maria Matejka | |
Validation is called internally from route table at the same place where nexthop resolution is done. Also accounting for rte->sender semantics change (not a channel but the import hook instead). | |||
2022-06-04 | Nest: Improve GC strategy for rtables | Ondrej Zajicek | |
Use timer (configurable as 'gc period') to schedule routing table GC/pruning to ensure that prune is done on time but not too often. Randomize GC timers to avoid concentration of GC events from different tables in one loop cycle. Fix a bug that caused minimum inter-GC interval be 5 us instead of 5 s. Make default 'gc period' adaptive based on number of routing tables, from 10 s for small setups to 600 s for large ones. In marge multi-table RS setup, the patch improved time of flushing a downed peer from 20-30 min to <2 min and removed 40s latencies. | |||
2022-05-31 | Merge commit '4fe9881d625f10e44109a649e369a413bd98de71' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'f15f2fcee7eeb5a100bd204a0e67018e25953420' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'f2e725a76882ba6b75c3ce4fb3c760bd83462410' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '1c30b689ddd032ef8000fb7836348a48ba3184ff' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '702c04fbef222e802ca4dfac645dc75ede522db6' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '337c04c45e1472d6d9b531a3c55f1f2d30ebf308' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'd8661a4397e4576ac404661b192dd99d928e7890' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '17f91f9e6e70f7e3f29502e854823c0d48571eaa' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '165156beeb2926472bbceca3c103aacc3f81a8cc' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '1d309c4ce6e95b68c64a8f007f6dd2f1830a5707' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'f2f3163f6c3fba7f9ef03640d7b2f6323873d2cc' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'de86040b2cf4ec9bfbb64f0e208a19d4d7e51adc' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '3fb70b26faca6788aa0bdf1d558414f9f777c6cd' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'ef6a903e6f44b467f9606018446095521ad01ef1' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '0e1e632f70b74cf111f08175ab3634db2f962579' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '0d0f6554a5c233bf2bf830ae319191c4b1808d49' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '80272d4b64a38ee6f04a1c4e8566cac3a2293176' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'cd9550b24487ac7327b0234fd825f4214fdf7b16' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '652be92a21f5575e5f74f6abe98eb4200b86776c' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '98fd158e28d89f10ee7a41b4f6a14fbd0021ef35' into haugesund | Maria Matejka | |