Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 '17f91f9e6e70f7e3f29502e854823c0d48571eaa' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'f2f3163f6c3fba7f9ef03640d7b2f6323873d2cc' 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 '4a23ede2b056a41456790cc20a0c3d92a7137693' into haugesund | Maria Matejka | |
2022-05-30 | Merge commit 'ebd807c0b8eb0b7a3dc3371cd4c87ae886c00885' into haugesund | Maria Matejka | |
2022-05-04 | Moved route preference to eattrs | Maria Matejka | |
2022-05-04 | Conf: Allowing keyword redefinition | Maria Matejka | |
Some tokens are both keywords and symbols. For now, we allow only specific keywords to be redefined; in future, more of the keywords may be added to this category. The redefinable keywords must be specified in any .Y file as follows: toksym: THE_KEYWORD ; See proto/bgp/config.Y for an example. Also dropped a lot of unused terminals. | |||
2022-05-04 | Explicit definition structures of route attributes | Maria Matejka | |
Changes in internal API: * Every route attribute must be defined as struct ea_class somewhere. * Registration of route attributes known at startup must be done by ea_register_init() from protocol build functions. * Every attribute has now its symbol registered in a global symbol table defined as SYM_ATTRIBUTE * All attribute ID's are dynamically allocated. * Attribute value custom formatting hook is defined in the ea_class. * Attribute names are the same for display and filters, always prefixed by protocol name. Also added some unit testing code for filters with route attributes. | |||
2022-05-04 | Filters always allocate from tmp_linpool | 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-04-06 | Protocols have their own explicit init routines | Maria Matejka | |
2022-03-09 | Merge commit 'f81702b7' into haugesund | Maria Matejka | |
2022-03-09 | Merge commit '0767a0c2' into haugesund | Maria Matejka | |
Conflicts: nest/rt-table.c | |||
2022-03-09 | Fixed a static assert in page allocator | Maria Matejka | |
2022-03-09 | Fixed a static assert in page allocator | Maria Matejka | |
2022-03-09 | Merge commit '1b9189d5' into haugesund | 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-09 | Fixed resource initialization in unit tests | Maria Matejka | |
2022-03-09 | Merge commit '0c59f7ff' into haugesund | Maria Matejka | |
2022-03-09 | Revert "Bound allocated pages to resource pools with page caches to avoid ↵ | Maria Matejka | |
unnecessary syscalls" This reverts commit 7f0e59820899c30a243c18556ce2e3fb72d6d221. | |||
2022-03-09 | Revert "Multipage allocation" | Maria Matejka | |
This reverts commit 6cd37713781a3092f8166b2178fae35cbfec1e28. | |||
2022-03-09 | Single-threaded version of sark-branch memory page management | 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-08 | Alloc: Use posix_memalign() instead of aligned_alloc() | Ondrej Zajicek (work) | |
For compatibility with older systems use posix_memalign(). We can switch to aligned_alloc() when we commit to C11 for multithreading. | |||
2022-01-08 | IO: Support nonlocal bind in socket interface | Alexander Zubkov | |
Add option to socket interface for nonlocal binding, i.e. binding to an IP address that is not present on interfaces. This behaviour is enabled when SKF_FREEBIND socket flag is set. For Linux systems, it is implemented by IP_FREEBIND socket flag. Minor changes done by commiter. | |||
2021-11-24 | Directly mapped pages are kept for future use if temporarily not needed | Maria Matejka | |
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 | Secondary and merged exports get a whole feed instead of traversing the ↵ | Maria Matejka | |
table structures directly | |||
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 | Kernel routes are flushed on shutdown by kernel scan, not by table scan | Maria Matejka | |
2021-10-13 | Kernel: Convert the rte-local attributes to extended attributes and flags to ↵ | Maria Matejka | |
pflags | |||
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 | Preference moved to RTA and set explicitly in protocols | Maria Matejka | |
2021-10-13 | Multipage allocation | Maria Matejka | |
We can also quite simply allocate bigger blocks. Anyway, we need these blocks to be aligned to their size which needs one mmap() two times bigger and then two munmap()s returning the unaligned parts. The user can specify -B <N> on startup when <N> is the exponent of 2, setting the block size to 2^N. On most systems, N is 12, anyway if you know that your configuration is going to eat gigabytes of RAM, you are almost forced to raise your block size as you may easily get into memory fragmentation issues or you have to raise your maximum mapping count, e.g. "sysctl vm.max_map_count=(number)". | |||
2021-10-13 | CLI socket accept() may also fail and should produce some message, not a ↵ | Maria Matejka | |
coredump. | |||
2021-09-10 | Bound allocated pages to resource pools with page caches to avoid ↵ | Maria Matejka | |
unnecessary syscalls | |||
2021-09-10 | Debug output uses local buffer to avoid clashes between threads. | Maria Matejka | |
2021-09-10 | Nest: Clean up main channel handling | Ondrej Zajicek (work) | |
Remove assumption that main channel is the only channel. | |||
2021-06-17 | Nest: Clean up main channel handling | Ondrej Zajicek (work) | |
Remove assumption that main channel is the only channel. | |||
2021-06-06 | sysdep: Add wrapper to get random bytes - update | Ondrej Zajicek (work) | |
Simplify the code and fix an issue with getentropy() return value. |