Maria Matejka
6b0368cc2c
Export tables merged with BGP prefix hash
...
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 16:07:09 +02:00
Maria Matejka
d5e3272f3d
Hash: iterable now per partes by an iterator
...
It's now possible to pause iteration through hash. This requires
struct hash_iterator to be allocated somewhere handy.
The iteration itself is surrounded by HASH_WALK_ITER and
HASH_WALK_ITER_END. Call HASH_WALK_ITER_PUT to ask for pausing; it may
still do some more iterations until it comes to a suitable pausing
point. The iterator must be initalized to an empty structure. No cleanup
is needed if iteration is abandoned inbetween.
2022-07-11 16:07:09 +02:00
Maria Matejka
b06911f6ef
Do not try to check flowspec validity for piped routes
2022-07-11 16:07:09 +02:00
Maria Matejka
61842ff315
Fixed bad import table attributes freeing
2022-07-11 16:07:09 +02:00
Maria Matejka
fd72c69678
Attribute lists split to storage headers and data to save BGP memory
2022-07-11 16:07:09 +02:00
Maria Matejka
dc720a085f
Show route uses the export request also for one-net queries
2022-07-11 16:07:09 +02:00
Maria Matejka
bdd6f72839
Moved nexthop + hostentry display to other eattrs
2022-06-27 13:39:28 +02:00
Maria Matejka
d5cac1a4ef
Route attribute display now normalizes ea_lists.
...
This is needed to display every attribute only once with overlay
attribute lists recently introduced.
2022-06-27 12:44:11 +02:00
Maria Matejka
c431d9c33c
Fixed new route comparison
2022-06-27 12:32:47 +02:00
Maria Matejka
d2142ad405
Fixed displaying BGP and RIP attributes after recent reworks
2022-06-27 12:32:47 +02:00
Maria Matejka
0f2f5ac58c
Fixed minor bugs in handling some route attributes
2022-06-27 12:32:47 +02:00
Maria Matejka
dfb61dfcea
Fixed undefined attribute handling
2022-06-27 12:32:47 +02:00
Maria Matejka
13ef5e53dd
The show-route CLI command now uses the route export API
...
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-27 12:32:47 +02:00
Maria Matejka
5c1ebe012e
Fixed forgotten preference handling in filters
2022-06-26 14:31:31 +02:00
Maria Matejka
9c9059fd17
Allowed optimized exporting of a subprefix tree
...
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 15:49:08 +02:00
Maria Matejka
050b4b4e5e
Table export generalized to allow for exporting from non-tables
2022-06-24 15:49:08 +02:00
Maria Matejka
becab5072d
Import tables are stored as an attribute layer inside the main tables.
...
The separate import tables were too memory-greedy, there is no need for
them being stored as full-sized tables.
2022-06-20 11:56:38 +02:00
Maria Matejka
8c92f47ac7
Route attribute storage keeps the previous layers
2022-06-17 10:55:23 +02:00
Maria Matejka
54d94f4b1a
Showing the nexthop resolution target in import tables
2022-06-16 12:39:08 +02:00
Maria Matejka
4364ee9b6f
Merge commit '938742decc6e1d6d3a0375dd012b75172e747bbc' into haugesund
2022-06-08 15:31:28 +02:00
Maria Matejka
cae5979871
Merge commit '950775f6fa3d569a9d7cd05e33538d35e895d688' into haugesund
...
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-08 11:47:49 +02:00
Maria Matejka
8fd3811d9d
Fixing FlowSpec validation for v3 internal API
...
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-07 12:18:25 +02:00
Maria Matejka
ea109ce3e3
Merge commit '4fe9881d625f10e44109a649e369a413bd98de71' into haugesund
2022-05-31 12:51:34 +02:00
Maria Matejka
1493695c6b
Merge commit 'f15f2fcee7eeb5a100bd204a0e67018e25953420' into haugesund
2022-05-30 17:37:08 +02:00
Maria Matejka
7b0c89a47f
Merge commit 'f2e725a76882ba6b75c3ce4fb3c760bd83462410' into haugesund
2022-05-30 17:27:03 +02:00
Maria Matejka
41508ceac3
Merge commit '1c30b689ddd032ef8000fb7836348a48ba3184ff' into haugesund
2022-05-30 17:26:25 +02:00
Maria Matejka
65254128e1
Merge commit '702c04fbef222e802ca4dfac645dc75ede522db6' into haugesund
2022-05-30 17:18:46 +02:00
Maria Matejka
1a92ee9d4d
Merge commit '337c04c45e1472d6d9b531a3c55f1f2d30ebf308' into haugesund
2022-05-30 17:18:03 +02:00
Maria Matejka
674587d9c8
Merge commit 'd8661a4397e4576ac404661b192dd99d928e7890' into haugesund
2022-05-30 17:11:30 +02:00
Maria Matejka
5051e3c4af
Merge commit '17f91f9e6e70f7e3f29502e854823c0d48571eaa' into haugesund
2022-05-30 16:59:24 +02:00
Maria Matejka
c1645b9d5b
Merge commit '165156beeb2926472bbceca3c103aacc3f81a8cc' into haugesund
2022-05-30 16:53:18 +02:00
Maria Matejka
8b4b7c6eae
Merge commit 'cf07d8ad79273a3bbf0617c17e438602e4b64ece' into haugesund
2022-05-30 16:52:38 +02:00
Maria Matejka
b7e2edd441
Merge commit '1d309c4ce6e95b68c64a8f007f6dd2f1830a5707' into haugesund
2022-05-30 16:48:17 +02:00
Maria Matejka
d7bec897ab
Merge commit 'ef4313e1667a8745c8d8813ac78342ec7c035895' into haugesund
2022-05-30 16:47:30 +02:00
Maria Matejka
e16e1e4138
Merge commit 'f2f3163f6c3fba7f9ef03640d7b2f6323873d2cc' into haugesund
2022-05-30 16:41:15 +02:00
Maria Matejka
0097f24e2e
Merge commit 'de86040b2cf4ec9bfbb64f0e208a19d4d7e51adc' into haugesund
2022-05-30 16:21:48 +02:00
Maria Matejka
86ac1045d7
Merge commit '3fb70b26faca6788aa0bdf1d558414f9f777c6cd' into haugesund
2022-05-30 16:21:02 +02:00
Maria Matejka
b3649ec77e
Merge commit 'ef6a903e6f44b467f9606018446095521ad01ef1' into haugesund
2022-05-30 16:20:35 +02:00
Maria Matejka
ba35b0f818
Merge commit '0e1e632f70b74cf111f08175ab3634db2f962579' into haugesund
2022-05-30 15:43:45 +02:00
Maria Matejka
54344f15f8
Merge commit '0d0f6554a5c233bf2bf830ae319191c4b1808d49' into haugesund
2022-05-30 15:43:13 +02:00
Maria Matejka
3752654852
Merge commit '80272d4b64a38ee6f04a1c4e8566cac3a2293176' into haugesund
2022-05-30 15:39:32 +02:00
Maria Matejka
032201378f
Merge commit 'cd9550b24487ac7327b0234fd825f4214fdf7b16' into haugesund
2022-05-30 15:38:24 +02:00
Maria Matejka
45af19dd99
Merge commit '652be92a21f5575e5f74f6abe98eb4200b86776c' into haugesund
2022-05-30 15:36:54 +02:00
Maria Matejka
ef3a8138c9
Merge commit '98fd158e28d89f10ee7a41b4f6a14fbd0021ef35' into haugesund
2022-05-30 15:35:29 +02:00
Maria Matejka
81aeccbb00
Merge commit 'd39ef961d1dde230c55fcc931b53f44cb34a1e63' into haugesund
2022-05-30 15:32:11 +02:00
Maria Matejka
d7b077f5d6
Merge commit '4a23ede2b056a41456790cc20a0c3d92a7137693' into haugesund
2022-05-30 15:31:19 +02:00
Maria Matejka
d024f471ea
Merge commit 'ebd807c0b8eb0b7a3dc3371cd4c87ae886c00885' into haugesund
2022-05-30 15:27:46 +02:00
Maria Matejka
652be92a21
Merge remote-tracking branch 'origin/master' into haugesund-to-2.0
2022-05-30 15:20:21 +02:00
Maria Matejka
f196b12c62
Merge commit '9eec503b251c3388579032b300d32640403d8612' into haugesund-to-2.0
2022-05-30 15:20:05 +02:00
Maria Matejka
097f157182
Merge commit '692055e3df6cc9f0d428d3b0dd8cdd8e825eb6f4' into haugesund-to-2.0
2022-05-30 15:17:52 +02:00