summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-06-27The show-route CLI command now uses the route export APIMaria 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-26Fixed forgotten preference handling in filtersMaria Matejka
2022-06-24Allowed optimized exporting of a subprefix treeMaria 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-24Table export generalized to allow for exporting from non-tablesMaria Matejka
2022-06-20Import 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-17Route attribute storage keeps the previous layersMaria Matejka
2022-06-16Showing the nexthop resolution target in import tablesMaria Matejka
2022-06-08Merge commit '938742decc6e1d6d3a0375dd012b75172e747bbc' into haugesundMaria Matejka
2022-06-08Merge commit '950775f6fa3d569a9d7cd05e33538d35e895d688' into haugesundMaria 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-07Fixing FlowSpec validation for v3 internal APIMaria 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-05-31Merge commit '4fe9881d625f10e44109a649e369a413bd98de71' into haugesundMaria Matejka
2022-05-30Merge commit 'f15f2fcee7eeb5a100bd204a0e67018e25953420' into haugesundMaria Matejka
2022-05-30Merge commit 'f2e725a76882ba6b75c3ce4fb3c760bd83462410' into haugesundMaria Matejka
2022-05-30Merge commit '1c30b689ddd032ef8000fb7836348a48ba3184ff' into haugesundMaria Matejka
2022-05-30Merge commit '702c04fbef222e802ca4dfac645dc75ede522db6' into haugesundMaria Matejka
2022-05-30Merge commit '337c04c45e1472d6d9b531a3c55f1f2d30ebf308' into haugesundMaria Matejka
2022-05-30Merge commit 'd8661a4397e4576ac404661b192dd99d928e7890' into haugesundMaria Matejka
2022-05-30Merge commit '17f91f9e6e70f7e3f29502e854823c0d48571eaa' into haugesundMaria Matejka
2022-05-30Merge commit '165156beeb2926472bbceca3c103aacc3f81a8cc' into haugesundMaria Matejka
2022-05-30Merge commit 'cf07d8ad79273a3bbf0617c17e438602e4b64ece' into haugesundMaria Matejka
2022-05-30Merge commit '1d309c4ce6e95b68c64a8f007f6dd2f1830a5707' into haugesundMaria Matejka
2022-05-30Merge commit 'ef4313e1667a8745c8d8813ac78342ec7c035895' into haugesundMaria Matejka
2022-05-30Merge commit 'f2f3163f6c3fba7f9ef03640d7b2f6323873d2cc' into haugesundMaria Matejka
2022-05-30Merge commit 'de86040b2cf4ec9bfbb64f0e208a19d4d7e51adc' into haugesundMaria Matejka
2022-05-30Merge commit '3fb70b26faca6788aa0bdf1d558414f9f777c6cd' into haugesundMaria Matejka
2022-05-30Merge commit 'ef6a903e6f44b467f9606018446095521ad01ef1' into haugesundMaria Matejka
2022-05-30Merge commit '0e1e632f70b74cf111f08175ab3634db2f962579' into haugesundMaria Matejka
2022-05-30Merge commit '0d0f6554a5c233bf2bf830ae319191c4b1808d49' into haugesundMaria Matejka
2022-05-30Merge commit '80272d4b64a38ee6f04a1c4e8566cac3a2293176' into haugesundMaria Matejka
2022-05-30Merge commit 'cd9550b24487ac7327b0234fd825f4214fdf7b16' into haugesundMaria Matejka
2022-05-30Merge commit '652be92a21f5575e5f74f6abe98eb4200b86776c' into haugesundMaria Matejka
2022-05-30Merge commit '98fd158e28d89f10ee7a41b4f6a14fbd0021ef35' into haugesundMaria Matejka
2022-05-30Merge commit 'd39ef961d1dde230c55fcc931b53f44cb34a1e63' into haugesundMaria Matejka
2022-05-30Merge commit '4a23ede2b056a41456790cc20a0c3d92a7137693' into haugesundMaria Matejka
2022-05-30Merge commit 'ebd807c0b8eb0b7a3dc3371cd4c87ae886c00885' into haugesundMaria Matejka
2022-05-30Merge remote-tracking branch 'origin/master' into haugesund-to-2.0Maria Matejka
2022-05-30Merge commit '9eec503b251c3388579032b300d32640403d8612' into haugesund-to-2.0Maria Matejka
2022-05-30Merge commit '692055e3df6cc9f0d428d3b0dd8cdd8e825eb6f4' into haugesund-to-2.0Maria Matejka
2022-05-30Merge commit '3a6eda995ecfcebff3130d86ee3baeab12a41335' into haugesundMaria Matejka
2022-05-30Squashing the route attribute structure into one level.Maria Matejka
For now, all route attributes are stored as eattrs in ea_list. This should make route manipulation easier and it also allows for a layered approach of route attributes where updates from filters will be stored as an overlay over the previous version.
2022-05-30Route destination field merged with nexthop attribute; splitting flowspec ↵Maria Matejka
validation result out. As there is either a nexthop or another destination specification (or othing in case of ROAs and Flowspec), it may be merged together. This code is somehow quirky and should be replaced in future by better implementation of nexthop. Also flowspec validation result has its own attribute now as it doesn't have anything to do with route nexthop.
2022-05-27CI: Remove broken FreeBSD buildsOndrej Zajicek
We currently do not have FreeBSD CI workers.
2022-05-26Moved hostentry to eattrMaria Matejka
2022-05-26Moved nexthop from struct rta to extended attribute.Maria Matejka
This doesn't do anything more than to put the whole structure inside adata. The overall performance is certainly going downhill; we'll optimize this later. Anyway, this is one of the latest items inside rta and in several commits we may drop rta completely and move to eattrs-only routes.
2022-05-21BGP: Display neighbor port on show protocolOndrej Zajicek
2022-05-21RPKI: Display cache server port on show protocolOndrej Zajicek
Thanks to Luiz Amaral for the idea.
2022-05-19RPKI: Implement VRF supportLuiz Amaral
2022-05-15BGP: Improve tx performance during feed/flushOndrej Zajicek
The prefix hash table in BGP used the same hash function as the rtable. When a batch of routes are exported during feed/flush to the BGP, they all have similar hash values, so they are all crowded in a few slots in the BGP prefix table (which is much smaller - around the size of the batch - and uses higher bits from hash values), making it much slower due to excessive collisions. Use a different hash function to avoid this. Also, increase the batch size to fill 4k BGP packets and increase minimum BGP bucket and prefix hash sizes to avoid back and forth resizing during flushes. This leads to order of magnitude faster flushes (on my test data).
2022-05-05All outstanding MPLS label stacks are stored as adataMaria Matejka
2022-05-04Moved route source attribute (RTS_*) to eattrsMaria Matejka