mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-23 10:40:27 +00:00
Re-implements an emergency freeing of resources on exhaustion of session quota. In contrast to the past one, the new algorithm is executed directly where the exhaustion occurs. Instead of interupting the packet handling and restart it from the beginning after the freeing action, packet handling is now continued at the point of exhaustion (if enough resources could be freed). Furthermore, the new algorithm frees only 100 objects (instead of 1024) at a max as we found this to better match real-life observations. And finally, the router now drops ICMP first, then UDP, then TCP - as this better reflects priorities - and refrains from dropping TCP connections in the ESTABLISHED state. If the router cannot free a sufficient amount of resources, the packet that caused the exhaustion is dropped with a warning (verbose_packet_drop="yes"). Ref #4729
This source-code repository contains genuine low-level OS components and interfaces of Genode. It solely depends on the framework's base API.