Maria Matejka
98fd158e28
RIP: fixed the EA_RIP_FROM attribute
...
The interface pointer was improperly converted to u32 and back. Fixing
this by explicitly allocating an adata structure for it. It's not so
memory efficient, we'll optimize this later.
2022-04-13 17:05:12 +02:00
Maria Matejka
9eec503b25
Fixed a munmap abort bug
...
When BIRD was munmapping too many pages, it sometimes aborted, saying
that munmap failed with "Not enough memory" as the address space was
getting more and more fragmented.
There is a workaround in place, simply keeping that page for future use,
yet it has never been compiled in because I somehow forgot to include
errno.h. And because I also thought that somebody may have ENOMEM not
defined (why?!), there was a check which quietly omitted that
workaround.
Anyway, ENOMEM is POSIX. It's an utter nonsense to check for its
existence. If it doesn't exist, something is broken.
2022-04-13 11:36:54 +02:00
Ondrej Zajicek (work)
692055e3df
BFD: Add 'strict bind' option
...
Add BFD protocol option 'strict bind' to use separate listening socket
for each BFD interface bound to its address instead of using shared
listening sockets.
2022-04-07 19:33:40 +02:00
Maria Matejka
d39ef961d1
BGP uses lp_save / lp_restore instead of linpool flushing
...
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 18:14:08 +02:00
Maria Matejka
4a23ede2b0
Protocols have their own explicit init routines
2022-04-06 18:14:08 +02:00
Maria Matejka
ebd807c0b8
Slab allocator can free the blocks without knowing the parent structure
2022-04-06 18:14:08 +02:00
Maria Matejka
3a6eda995e
Typed lists for easier walking and stronger type checking
2022-04-06 18:14:08 +02:00
Maria Matejka
7e86ff2076
All linpools use pages to allocate regular blocks
2022-04-06 18:14:08 +02:00
Maria Matejka
0f68515263
Unsetting route attributes without messing with type system
2022-04-06 18:14:08 +02:00
Maria Matejka
dabd7bccb3
BGP: Fixed LLGR depreferencing in bgp_rte_mergable
2022-04-06 18:14:08 +02:00
Maria Matejka
63cf5d5d8c
Eattr flags (originated and fresh) get their own struct fields
2022-04-06 18:14:08 +02:00
Maria Matejka
af8568a870
Minor fix: f_val literals should always have named struct fields
2022-04-06 18:14:08 +02:00
Maria Matejka
170b20701c
Converted Slab allocator to typed lists
2022-04-06 18:14:08 +02:00
Ondrej Zajicek (work)
4b1aa37f93
Netlink: Remove superfluous sysdep/linux/netlink.c.orig
...
Thanks to Vincent Bernat for notice.
2022-03-16 23:16:26 +01:00
Ondrej Zajicek (work)
269bfff9bf
Lib: Allow use of 240.0.0.0/4 as a private range
...
There were several requests to allow use of 240.0.0.0/4 as a private
range, and Linux kernel already allows such routes, so perhaps we can
allow that too.
Thanks to Vincent Bernat and others for suggestion and patches.
2022-03-16 20:01:18 +01:00
Maria Matejka
c53f547a0b
Printf variant with a result allocated inside a pool / linpool
2022-03-15 11:21:46 +01:00
Maria Matejka
b4336b0880
Merge branch 'haugesund-to-2.0' into HEAD
2022-03-14 17:38:25 +01:00
Maria Matejka
3c42f7af6a
Slab memory allocator unit test
2022-03-14 17:37:56 +01:00
Vincent Bernat
c3828879a3
Pkg: Improve RPM package unit file
...
Update the RPM package unit file to check configuration before start and
to use "birdc configure" instead of "kill -HUP".
2022-03-11 15:47:00 +01:00
Ondrej Zajicek (work)
9b0b2c0d41
Client: Use exit status to report errors
...
When birdc is called with a command as an argument, it should set exit
status to non-zero when BIRD replied with an error reply code.
Thanks to Vincent Bernat and others for suggestion.
2022-03-11 03:52:50 +01:00
Maria Matejka
41572e0c1b
Merge commit 'f81702b7' into haugesund
2022-03-09 15:03:48 +01:00
Maria Matejka
9dc1d7782e
Merge commit '0767a0c2' into haugesund
...
Conflicts:
nest/rt-table.c
2022-03-09 14:40:09 +01:00
Maria Matejka
6151e51ffa
Merge commit '8f3942a9' into haugesund
...
Conflicts:
nest/rt-table.c
2022-03-09 14:09:34 +01:00
Maria Matejka
4eeae48214
Merge commit '56c8f2f0' into haugesund
...
Conflicts:
nest/route.h
nest/rt-table.c
2022-03-09 13:49:31 +01:00
Maria Matejka
01c9f3d78e
Merge commit '575da88f' into haugesund
...
Conflicts:
nest/rt-table.c
2022-03-09 13:37:12 +01:00
Maria Matejka
4e60b3ee72
Fixed a static assert in page allocator
2022-03-09 13:28:03 +01:00
Maria Matejka
36f5fea31a
Fixed a static assert in page allocator
2022-03-09 13:27:49 +01:00
Maria Matejka
92b832380d
Merge commit '1b9189d5' into haugesund
2022-03-09 13:13:05 +01:00
Maria Matejka
1b9189d5fd
Route validity check converted to generic macro dispatch
2022-03-09 12:30:05 +01:00
Maria Matejka
9b6db9f9b8
Merge remote-tracking branch 'origin/master' into haugesund
2022-03-09 11:51:00 +01:00
Maria Matejka
19e727a248
Merge commit '60880b539b8886f76961125d89a265c6e1112b7a' into haugesund
2022-03-09 11:29:56 +01:00
Maria Matejka
8a4bc4fdbf
BGP Flowspec validation: Removed in-route optimization for multithreading compatibility
2022-03-09 11:27:34 +01:00
Maria Matejka
24773af9e0
Merge commit 'e42eedb9' into haugesund
2022-03-09 11:02:55 +01:00
Maria Matejka
83d9920f90
Merge commit '5cff1d5f' into haugesund
...
Conflicts:
proto/bgp/attrs.c
proto/pipe/pipe.c
2022-03-09 10:56:06 +01:00
Maria Matejka
ff47cd80dd
Merge commit 'd5a32563' into haugesund
2022-03-09 10:50:38 +01:00
Maria Matejka
9e60a1fbc3
Fixed resource initialization in unit tests
2022-03-09 10:30:42 +01:00
Maria Matejka
b90c9b164f
Linpools with pages fixed to the final page allocator version
2022-03-09 10:30:42 +01:00
Maria Matejka
eeec9ddbf2
Merge commit '0c59f7ff' into haugesund
2022-03-09 09:13:55 +01:00
Maria Matejka
0c59f7ff01
Revert "Bound allocated pages to resource pools with page caches to avoid unnecessary syscalls"
...
This reverts commit 7f0e598208
.
2022-03-09 09:13:31 +01:00
Maria Matejka
c20506dc07
Revert "fixup! Bound allocated pages to resource pools with page caches to avoid unnecessary syscalls"
...
This reverts commit bea582cbb5
.
2022-03-09 09:13:21 +01:00
Maria Matejka
1c7df2c240
Revert "Multipage allocation"
...
This reverts commit 6cd3771378
.
2022-03-09 09:13:20 +01:00
Maria Matejka
1740ff57e8
Revert "fixup! Multipage allocation"
...
This reverts commit a54f75f454
.
2022-03-09 09:13:18 +01:00
Maria Matejka
c78247f9b9
Single-threaded version of sark-branch memory page management
2022-03-09 09:10:44 +01:00
Maria Matejka
06ece3265e
Replacing BGP temporary linpools by the common temporary linpool
2022-03-02 12:13:49 +01:00
Maria Matejka
d814a8cb93
Replaced custom linpools in tests for the common tmp_linpool
2022-03-02 12:13:49 +01:00
Maria Matejka
48bf1322aa
Introducing an universal temporary linpool flushed after every task
2022-03-02 12:13:49 +01:00
Maria Matejka
2e8b8bfcc4
Static list initializer
2022-03-02 12:13:49 +01:00
Ondrej Filip
5ddf98f6bd
Small improvement in directory test
2022-03-02 10:52:09 +01:00
Maria Matejka
d071aca7aa
Merge commit '2c13759136951ef0e70a3e3c2b2d3c9a387f7ed9' into haugesund
2022-03-02 10:01:44 +01:00
Ondrej Zajicek (work)
fcb4dd0c83
Babel: Fix bug in iface reconfiguration
...
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-27 03:10:38 +01:00