Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-05-30 | Merge commit '1d309c4ce6e95b68c64a8f007f6dd2f1830a5707' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'ef4313e1667a8745c8d8813ac78342ec7c035895' 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 '0d0f6554a5c233bf2bf830ae319191c4b1808d49' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '80272d4b64a38ee6f04a1c4e8566cac3a2293176' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit '652be92a21f5575e5f74f6abe98eb4200b86776c' into haugesund | Maria Matejka | |
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-05-30 | Merge remote-tracking branch 'origin/master' into haugesund-to-2.0 | Maria Matejka | |
2022-05-15 | BGP: Improve tx performance during feed/flush | Ondrej 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-04 | Local route attributes are always allocated from tmp_linpool | Maria Matejka | |
2022-05-04 | Attribute list normalization cleanup | Maria Matejka | |
2022-05-04 | Complex route attributes are data structures, shall be in lib also | Maria Matejka | |
2022-05-04 | Splitting route data structures out to lib | Maria Matejka | |
2022-05-04 | Unified attribute and filter types | Maria Matejka | |
This commit removes the EAF_TYPE_* namespace completely and also for route attributes, filter-based types T_* are used. This simplifies fetching and setting route attributes from filters. Also, there is now union bval which serves as an universal value holder instead of private unions held separately by eattr and filter code. | |||
2022-05-04 | Protocols use EA_LITERAL_* to set attributes | Maria Matejka | |
2022-05-04 | Special attribute types for enums | Maria Matejka | |
2022-04-06 | Slab allocator can free the blocks without knowing the parent structure | 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 '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 | 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-02 | Replacing BGP temporary linpools by the common temporary linpool | Maria Matejka | |
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-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-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. | |||
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-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 | 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 | |
2021-10-13 | IGP metric getter refactoring to protocol callback | Maria Matejka | |
Direct protocol hooks for IGP metric inside nest/rt-table.c make the protocol API unnecessarily complex. Instead, we use a proper callback. | |||
2021-03-30 | BGP: Do not keep BAF_EXT_LEN flag internally | Ondrej Zajicek (work) | |
The flag makes sense just in external representation. It is reset during BGP export, but keeping it internally broke MRT dumps for short attributes that used it anyways. Thanks to Simon Marsh for the bugreport and the patch. | |||
2021-01-12 | MRT: Fix IPv6 table dumps | Ondrej Zajicek (work) | |
Add fake MP_REACH_NLRI attribute with BGP next hop when encoding MRT table dumps for IPv6 routes. That is necessary to encode next hop as NEXT_HOP attribute is not used for MP-BGP. Thanks to Santiago Aggio for the bugreport. | |||
2020-11-25 | BGP: Zero the newly allocated bucket structure | Ondrej Zajicek (work) | |
This fixes an issue with dirty node passed to add_tail(). Thanks to Andreas Rammhold for the initial patch. | |||
2020-11-24 | Some minor sl_allocz() cleanups | Ondrej Zajicek (work) | |
2020-05-01 | Nest: Added const to ea_show just to declare that this shouldn't really ↵ | Maria Matejka | |
change anything | |||
2020-04-15 | BGP: Fix handling of 16bit-only ASN translation | Nasato Goto | |
The bug generated invalid AGGREGATOR attribute during translation of 32bit ASN to 16bit-only BGP peer. The patch fixes that. | |||
2019-11-10 | BGP: Add option to enforce first AS in AS_PATH | Ondrej Zajicek (work) | |
This is optional check described in RFC 4271. Although this can be also done by filters, it is widely implemented option in BGP implementations. Thanks to Eugene Bogomazov for the original patch. | |||
2019-11-04 | BGP: Add option to reject AS_SETs | Ondrej Zajicek (work) | |
There is a pending draft to make them obsolete |