genode/repos/os
Martin Stein aff1db1543 nic_router: generate reports asynchronously
The NIC router used to generate reports triggered by IP config changes or link
state changes synchonously, i.e., inline with the activation context that
caused the change. This has two disadvantages. First, it can lead to an
excessive number of report updates in situations with quick bursts of
triggering changes. In such situations it is preferable to collect the changes
and reflect them with only one final report update.

Second, synchronous reporting may happen while the router is in a state that
leads to an incorrect report (e.g. during reconfiguration). To prevent this
from happening, the router so far explicitely switched off reporting when
entering incoherent states and back on when leaving them. However, this
solution is error-prone as the exclusion windows must be maintained manually.

Both issues can be solved by not directly generating a report when necessary
but instead submitting a signal and letting the signal handler do the work in
a dedicated activation context.

Ref #4462
2022-09-19 14:00:35 +02:00
..
doc Remove SIGNAL/CAP/RAM services from run scripts 2022-04-13 08:08:00 +02:00
include os: add File_system_session::num_entries RPC 2022-09-19 14:00:35 +02:00
lib vfs: implement plugin for 'Capture' session 2022-04-13 09:29:03 +02:00
recipes Increase cpu_burner RAM quota in test-trace_logger 2022-09-19 14:00:35 +02:00
run Remove pseudo targets for building shared libs 2022-09-19 14:00:32 +02:00
src nic_router: generate reports asynchronously 2022-09-19 14:00:35 +02:00
xsd Remove NIC server role from drivers 2022-05-25 12:19:31 +02:00
README API documentation refinements 2017-05-31 13:16:21 +02:00

This source-code repository contains genuine low-level OS components and
interfaces of Genode. It solely depends on the framework's base API.