0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-23 02:01:55 +00:00
Commit Graph

5192 Commits

Author SHA1 Message Date
Maria Matejka
ddbfc5557b Flock: more filedes cleanup 2024-10-05 15:54:15 +02:00
Maria Matejka
90ffd2e3d3 Flock: filedescriptor cleanups in hypervisor 2024-10-05 15:54:15 +02:00
Maria Matejka
eba15c08d3 Flock lower memory settings 2024-10-05 15:54:15 +02:00
Maria Matejka
41e2b8ac0c Flock minor fixes 2024-10-05 15:54:15 +02:00
Maria Matejka
e9a4a1510e Flock: Now it is very hairy but the containers do actually run. 2024-10-05 15:54:15 +02:00
Maria Matejka
3fac94828f Flock trying to overlayfs (bad) 2024-10-05 15:54:15 +02:00
Maria Matejka
56aff8ef39 Flock: telnet to machines 2024-10-05 15:54:15 +02:00
Maria Matejka
d36ad6af6a Flock: Stopping containers from CLI 2024-10-05 15:54:15 +02:00
Maria Matejka
f1519fc9b7 Flock: Container killing 2024-10-05 15:54:15 +02:00
Maria Matejka
8e5c2a67c1 Flock CLI: starting containers 2024-10-05 15:54:15 +02:00
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