Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-05-30 | Merge commit 'd39ef961d1dde230c55fcc931b53f44cb34a1e63' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '4a23ede2b056a41456790cc20a0c3d92a7137693' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'ebd807c0b8eb0b7a3dc3371cd4c87ae886c00885' into haugesund | Maria Matejka | |
2022-04-06 | BGP uses lp_save / lp_restore instead of linpool flushing | Maria Matejka | |
It is too cryptic to flush tmp_linpool in these cases and we don't want anybody in the future to break this code by adding an allocation somewhere which should persist over that flush. Saving and restoring linpool state is safer. | |||
2022-04-06 | Protocols have their own explicit init routines | Maria Matejka | |
2022-04-06 | Slab allocator can free the blocks without knowing the parent structure | Maria Matejka | |
2022-04-06 | All linpools use pages to allocate regular blocks | Maria Matejka | |
2022-04-06 | Unsetting route attributes without messing with type system | Maria Matejka | |
2022-04-06 | BGP: Fixed LLGR depreferencing in bgp_rte_mergable | Maria Matejka | |
2022-04-06 | Eattr flags (originated and fresh) get their own struct fields | Maria Matejka | |
2022-03-09 | Merge commit 'f81702b7' into haugesund | Maria Matejka | |
2022-03-09 | Merge commit '8f3942a9' into haugesund | Maria Matejka | |
Conflicts: nest/rt-table.c | |||
2022-03-09 | Merge commit '56c8f2f0' into haugesund | Maria Matejka | |
Conflicts: nest/route.h nest/rt-table.c | |||
2022-03-09 | Merge commit '575da88f' into haugesund | Maria Matejka | |
Conflicts: nest/rt-table.c | |||
2022-03-09 | Merge commit '1b9189d5' into haugesund | Maria Matejka | |
2022-03-09 | Route validity check converted to generic macro dispatch | Maria Matejka | |
2022-03-09 | Merge commit '60880b539b8886f76961125d89a265c6e1112b7a' into haugesund | Maria Matejka | |
2022-03-09 | BGP Flowspec validation: Removed in-route optimization for multithreading ↵ | Maria Matejka | |
compatibility | |||
2022-03-09 | Merge commit 'e42eedb9' into haugesund | Maria Matejka | |
2022-03-09 | Merge commit '5cff1d5f' into haugesund | Maria Matejka | |
Conflicts: proto/bgp/attrs.c proto/pipe/pipe.c | |||
2022-03-09 | Merge commit 'd5a32563' into haugesund | Maria Matejka | |
2022-03-09 | Merge commit '0c59f7ff' into haugesund | Maria Matejka | |
2022-03-02 | Replacing BGP temporary linpools by the common temporary linpool | Maria Matejka | |
2022-03-02 | Introducing an universal temporary linpool flushed after every task | Maria Matejka | |
2022-03-02 | Merge commit '2c13759136951ef0e70a3e3c2b2d3c9a387f7ed9' into haugesund | Maria Matejka | |
2022-02-27 | Babel: Fix bug in iface reconfiguration | Ondrej Zajicek (work) | |
A recent change in Babel causes ifaces to disappear after reconfiguration. The patch fixes that. Thanks to Johannes Kimmel for an insightful bugreport. | |||
2022-02-06 | Merge branch 'oz-trie-table' | Ondrej Zajicek (work) | |
2022-02-06 | BGP: Implement flowspec validation procedure | Ondrej Zajicek (work) | |
Implement flowspec validation procedure as described in RFC 8955 sec. 6 and RFC 9117. The Validation procedure enforces that only routers in the forwarding path for a network can originate flowspec rules for that network. The patch adds new mechanism for tracking inter-table dependencies, which is necessary as the flowspec validation depends on IP routes, and flowspec rules must be revalidated when best IP routes change. The validation procedure is disabled by default and requires that relevant IP table uses trie, as it uses interval queries for subnets. | |||
2022-02-06 | Nest: Attach prefix trie to rtable for faster LPM and interval queries | Ondrej Zajicek (work) | |
Attach a prefix trie to IP/VPN/ROA tables. Use it for net_route() and net_roa_check(). This leads to 3-5x speedups for IPv4 and 5-10x speedup for IPv6 of these calls. TODO: - Rebuild the trie during rt_prune_table() - Better way to avoid trie_add_prefix() in net_get() for existing tables - Make it configurable (?) | |||
2022-01-28 | BGP: Make routing loops silent | Ondrej Zajicek (work) | |
One of previous commits added error logging of invalid routes. This also inadvertently caused error logging of route loops, which should be ignored silently. Fix that. | |||
2022-01-28 | BGP: Use proper class in attribute error messages | Ondrej Zajicek (work) | |
Most error messages in attribute processing are in rx/decode step and these use L_REMOTE log class. But there are few that are in tx/export step and these should use L_ERR log class. Use tx-specific macro (REJECT()) in tx/export code and rename field err_withdraw to err_reject in struct bgp_export_state to ensure that appropriate error reporting macros are called in proper contexts. | |||
2022-01-28 | BGP: Improve 'invalid next hop' error reporting | Ondrej Zajicek (work) | |
Distinguish multiple causes of 'invalid next hop' message and report the relevant next hop address. Thanks to Simon Ruderich for the original patch. | |||
2022-01-24 | BGP: Log route updates that were changed to withdraws | Ondrej Zajicek (work) | |
Typical BGP error handling is treat-as-withdraw, where an invalid route is replaced with a withdraw. Log route network when it happens. | |||
2022-01-09 | BGP: Add option 'free bind' | Ondrej Zajicek (work) | |
The BGP 'free bind' option applies the IP_FREEBIND/IPV6_FREEBIND socket option for the BGP listening socket. Thanks to Alexander Zubkov for the idea. | |||
2021-12-18 | RPKI: Add contextual out-of-bound checks in RTR Prefix PDU handler | Job Snijders | |
RFC 6810 and RFC 8210 specify that the "Max Length" value MUST NOT be less than the Prefix Length element (underflow). On the other side, overflow of the Max Length element also is possible, it being an 8-bit unsigned integer allows for values larger than 32 or 128. This also implicitly ensures there is no overflow of "Length" value. When a PDU is received where the Max Length field is corrputed, the RTR client (BIRD) should immediately terminate the session, flush all data learned from that cache, and log an error for the operator. Minor changes done by commiter. | |||
2021-11-22 | Table import and export are now explicit hooks. | Maria Matejka | |
Channels have now included rt_import_req and rt_export_req to hook into the table instead of just one list node. This will (in future) allow for: * channel import and export bound to different tables * more efficient pipe code (dropping most of the channel code) * conversion of 'show route' to a special kind of export * temporary static routes from CLI The import / export states are also updated to the new algorithms. | |||
2021-11-09 | Nest: Route generations and explicit tracking route propagion through pipes | Maria Matejka | |
2021-11-09 | Split route data structure to storage (ro) / manipulation (rw) structures. | Maria Matejka | |
Routes are now allocated only when they are just to be inserted to the table. Updating a route needs a locally allocated route structure. Ownership of the attributes is also now not transfered from protocols to tables and vice versa but just borrowed which should be easier to handle in a multithreaded environment. | |||
2021-11-09 | Limit containment | Maria Matejka | |
2021-11-09 | Protocol stats split to import and export | Maria Matejka | |
2021-11-09 | Refeed is done from export table when appropriate | Maria Matejka | |
2021-11-09 | Suppressed MRT unused static function warning | Maria Matejka | |
2021-11-09 | RPKI: Do nothing when protocol is stopping | Maria Matejka | |
2021-11-09 | RPKI shouldn't process more packets when being stopped | Maria Matejka | |
2021-10-13 | Route: moved rte_src pointer from rta to rte | Maria Matejka | |
It is an auxiliary key in the routing table, not a route attribute. | |||
2021-10-13 | Preexport: No route modification, no linpool needed | Maria Matejka | |
2021-10-13 | RIP fixup + dropping the tmp_attrs mechanism as obsolete | Maria Matejka | |
2021-10-13 | Dropping the RTS_DUMMY temporary route storage. | Maria Matejka | |
Kernel route sync is done by other ways now and this code is not used currently. | |||
2021-10-13 | Preference moved to RTA and set explicitly in protocols | Maria Matejka | |
2021-10-13 | BGP: Moved the suppressed and stale flags to pflags | Maria Matejka | |