0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-10-18 09:58:43 +00:00
Commit Graph

5182 Commits

Author SHA1 Message Date
Maria Matejka
e4981ce012 Flock: CLI connects via telnet to hypervisor 2024-10-05 15:54:15 +02:00
Maria Matejka
53919e8d9d Flock: CLI first try (starts and stops the hypervisor) 2024-10-05 15:54:15 +02:00
Maria Matejka
ac66a8dc00 Flock: containers are actually created 2024-10-05 15:54:15 +02:00
Maria Matejka
60a2c4e921 Flock: pausing 2024-10-05 15:54:15 +02:00
Maria Matejka
7fdd25369a Flock: Storing machines (TMP) 2024-10-05 15:54:15 +02:00
Maria Matejka
9b892f3f6a Flock: seems like machines being actually created 2024-10-05 15:54:15 +02:00
Maria Matejka
37eda0276c Flock: nicer logging (setting distinct thread ids) 2024-10-05 15:54:15 +02:00
Maria Matejka
3406590533 Flock: Now the container code looks like doing at least something 2024-10-05 15:54:15 +02:00
Maria Matejka
7b4b471d5a Flock: misc 2024-10-05 15:54:15 +02:00
Maria Matejka
4bc6d4f466 Container runner basics 2024-10-05 15:54:15 +02:00
Maria Matejka
fab5458476 Flock: Machine adding code in parser 2024-10-05 15:54:15 +02:00
Maria Matejka
55bb0ae4b3 Flock: Polished the command-line options 2024-10-05 15:54:15 +02:00
Maria Matejka
861b37b2fe Flock: storing and passing telnet info 2024-10-05 15:54:15 +02:00
Maria Matejka
6f3c5339e7 Flock: Zombie children reaping 2024-10-05 15:54:15 +02:00
Maria Matejka
19dae2c622 Flock: Telnet connection to hypervisor seems to work well 2024-10-05 15:54:15 +02:00
Maria Matejka
b6aca48277 Flock: telnet request sends the request 2024-10-05 15:54:15 +02:00
Maria Matejka
2fcffc544e Flock: shutdown command sends a reply 2024-10-05 15:54:15 +02:00
Maria Matejka
cafd775a41 Flock: Fixed the exposed process mainloop 2024-10-05 15:54:15 +02:00
Maria Matejka
7affe9296e Flock: Added a proper shutdown routine requestable also from CLI 2024-10-05 15:54:15 +02:00
Maria Matejka
a8862fd7aa Flock: Converted signalling through sigatomic_t to full event sending 2024-10-05 15:54:15 +02:00
Maria Matejka
1d8fcee05c Flock: Hypervisor control socket CBOR push parser
It reads some data, the actions are not implemented yet.
2024-10-05 15:54:15 +02:00
Maria Matejka
5fdd7c6ac6 Flock: Hypervisor has a control socket (not doing anything yet tho) 2024-10-05 15:54:15 +02:00
Maria Matejka
01bfa5ebf3 Flock: Creating the hypervisor and the external-contact process
This is the first part of rewriting Flock to C to significantly reduce
memory footprint of individual machines from 20+M in Python to (goal)
less than 1M. Now the process eats ~460k and I suspect that this won't
even be the consumption per machine in total as fork() is involved and
some parts of the memory will be heavily shared.
2024-10-05 15:54:15 +02:00
Maria Matejka
8d5fcfc6e8 Lib: added a generic CBOR parser framework 2024-10-05 15:54:15 +02:00
Maria Matejka
850bbf02c1 Lib: added tmp_v?sprintf and tmp_strdup allocating from tmp_linpool 2024-10-05 15:54:15 +02:00
Maria Matejka
169677deeb Birdloop pipe is set O_CLOEXEC.
If we decide to exec something, we shouldn't pass along our intenal fds.
2024-10-05 15:54:15 +02:00
Maria Matejka
0eb1548cc4 Debug: Do not compile allocator debug journals in unless requested.
These journals can become very memory-heavy when it comes to
constrained environments where every 100k of RAM matters.
2024-10-05 15:54:15 +02:00
Maria Matejka
5400add300 Minimalist mainloop implementation 2024-10-05 15:54:15 +02:00
Maria Matejka
723569bc5d Properly handling situations when birdloops are created before spawning threads 2024-10-05 15:54:15 +02:00
Maria Matejka
0fc0e4618f Allocator parameters can be configured now. 2024-10-05 15:54:15 +02:00
Maria Matejka
d27c2b6ec5 Socket: pausing and restoring RX is a little bit more checked 2024-10-01 14:26:31 +02:00
Maria Matejka
d8df9c5d62 Socket: error hook is called from a function 2024-10-01 14:26:25 +02:00
Katerina Kubecova
9f27bfc6fc Porting the CBOR encoder from the YANG branch
Minor cleanups by commiter.

(source commit 43ff10204b but expected
to be rebased later, don't worry if you fail to find it)
2024-10-01 14:26:00 +02:00
Maria Matejka
253ce95bc9 Added mb_strdup() to complement other similar functions 2024-10-01 14:26:00 +02:00
Maria Matejka
65086fda3d Moved sk_open_unix() to common lib 2024-10-01 14:26:00 +02:00
Maria Matejka
93cbc49289 lib/socket.h: added missing include 2024-10-01 14:26:00 +02:00
Maria Matejka
87a47559bb lib/obstacle.h: added missing include 2024-10-01 14:26:00 +02:00
Maria Matejka
cda025a1fa Splitting out BIRD static library for linking to other tools 2024-10-01 14:26:00 +02:00
Maria Matejka
971d651268 Thread config has an explicit structure 2024-10-01 14:26:00 +02:00
Maria Matejka
6f67e47ad5 Enabled LTO for LLVM and making use of jobserver for LTO in GCC 2024-10-01 14:26:00 +02:00
Maria Matejka
f534543733 Compiler vendor detection for autotools 2024-10-01 14:26:00 +02:00
Maria Matejka
edd9ec599c Kernel preferred interface address updater decoupled from the lib 2024-10-01 14:26:00 +02:00
Maria Matejka
60bd75c174 Moved hostname resolver to logger 2024-10-01 14:25:58 +02:00
Maria Matejka
bd75a5253a Displaced show threads command to its own file 2024-10-01 14:24:55 +02:00
Maria Matejka
f332413cfb Interface CLI commands moved to a separate file.
This is a preparation both for CLI splitup and for lib splitup.
2024-10-01 14:24:55 +02:00
Maria Matejka
8e7fef42bb Disabling the old IO event logger as it doesn't run from worker loops anyway 2024-10-01 14:24:55 +02:00
Maria Matejka
03a87c4f7c Shutdown marker displaced to runtime 2024-10-01 14:24:55 +02:00
Maria Matejka
386134d8e1 Splitting out clock and tracked files from sysdep/unix/io.c 2024-10-01 14:24:55 +02:00
Maria Matejka
d55a15a569 Global runtime splitout to BIRD specific and lib things 2024-10-01 14:24:55 +02:00
Maria Matejka
9f19dc0b3c Moved stored_sock to io-loop.c (old hack for mainloop) 2024-10-01 14:24:55 +02:00