genode/repos/os
Martin Stein 92a30e0953 nic_router: handle configuration changes
The router reacts as follows to a configuration change:

1) Construct new internal configuration representation (the old one stays
   in place to be able to do comparisons in the following steps)
2) Iterate through all user-dependent objects (interfaces, link states, ARP
   information, DHCP information) and re-check which remain valid with the
   new configuration and which must be dismissed.
3) Adapt the objects that remain valid to the new configuration (re-write
   references) and remove or detach the dismissed objects.
4) Do a link state DOWN at each interface and a link state UP at each
   interface that remains attached to a domain.
5) Replace the old internal configuration representation with the new one

This way, the router keeps as much user dependent states as possible
while going through a configuration change. Thus, overwriting the old
configuration with an exact copy of itself is (almost) transparent to
clients of the router. Almost, because there are things the router must
do on every configuration handling, like re-scheduling the expiration
timeouts of links.

Ref #2670
2018-03-29 15:39:44 +02:00
..
doc Remove obsolete RAM/CAP services from run scripts 2017-05-31 13:16:22 +02:00
include os: util/utf8.h for UTF-8 string handling 2018-03-27 13:44:27 +02:00
lib net-stat: remove as it is not used and outdated 2018-01-17 12:14:42 +01:00
recipes depot: update recipe hashes 2018-03-29 14:59:07 +02:00
run demo: test demo scenario bootup by autopilot 2018-03-29 14:59:06 +02:00
src nic_router: handle configuration changes 2018-03-29 15:39:44 +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.