genode/repos/os/run
Martin Stein be644098d7 nic_router: fix exc. in Interface::handle_config_3
When Interface::handle_config_3 (third step of applying a new configuration to
interfaces) tried to detach the interface from the current IP config because
the old and new IP config differed, it did so using the new domain. The former
steps of the reconfiguration already installed the new domain reference at the
interface. Therefore, also the DHCP server of the new domain was used. This,
however caused uncaught exceptions because detaching from an IP config
includes dissolving all DHCP allocations. This dissolving of DHCP allocations
now operated on a DHCP server (the one of the new domain) that wasn't related
to the allocations and, in the worst case, caused an uncaught exception
because the IPs were out of its range.

That said, this commit ensures that detaching an interface from an IP config
is always done on the domain from which the IP config originated. Normally,
this is the domain the interface is attached to. But in the case of
Interface::handle_config_3, it is another - the former domain the interface
was attached to.

The commit also adapts the nic_router_dhcp_* tests in a way that they
reconfigure the router in a way that would trigger the uncaught exception
without the fix.

Fixes #4200
2021-06-25 11:57:24 +02:00
..
ahci_bench.run os: name ahci_drv unambigously (ref #2190) 2019-05-16 13:11:01 +02:00
ahci_block.run os: adjust tests to changed output of block client 2020-03-26 11:38:54 +01:00
audio_out_click.run Move drivers/input/spec/ps2 to drivers/ps2 2020-08-25 11:50:09 +02:00
block_request_stream.run qemu: sanity check misconfigured memory for okl4 2021-05-28 14:15:26 +02:00
block_tester.run qemu: sanity check misconfigured memory for okl4 2021-05-28 14:15:26 +02:00
bomb.run Move timer from os to base repository 2019-01-14 12:33:57 +01:00
cache.run Retire Exynos 5 support (fix #3725) 2020-04-17 12:53:57 +02:00
cpu_balancer.run cpu_balancer.run: adjust quota for seL4 2021-05-28 14:15:28 +02:00
cpu_bench.run autopilot: disable run script not supported by riscv 2021-02-23 12:07:16 +01:00
cpu_quota.run Retire Exynos 5 support (fix #3725) 2020-04-17 12:53:57 +02:00
demo.run base: add platform_info to microkernel platforms 2021-05-28 14:16:44 +02:00
event_filter.run event_filter: add new test cases 2021-05-05 11:35:29 +02:00
fb_bench.run zynq_qemu: disable fb_bench and nic_router_flood tests 2021-03-29 13:45:24 +02:00
framebuffer.run base: extend PD session with managing_system call 2020-08-25 11:50:11 +02:00
gpio_led.run base: remove SPEC variables of boards (fix #3971) 2021-01-25 13:58:09 +01:00
gpio_signal.run base: remove SPEC variables of boards (fix #3971) 2021-01-25 13:58:09 +01:00
i2c_mcp9808.run add I2c driver for imx8q based platform 2021-03-29 13:45:24 +02:00
init_smp.run Move timer from os to base repository 2019-01-14 12:33:57 +01:00
input.run Remove support for the Muen separation kernel 2021-02-23 11:55:44 +01:00
kdb_uart_drv.run Move timer from os to base repository 2019-01-14 12:33:57 +01:00
loader.run base: extend PD session with managing_system call 2020-08-25 11:50:11 +02:00
log_core.run nova: early message on successful boot 2020-04-17 12:39:31 +02:00
lx_fs_import.run lx_fs: add os/run/lx_fs_import.run run script 2021-05-10 11:16:24 +02:00
mixer.run mixer: fix README with regard to boolean values 2021-03-12 12:01:39 +01:00
nic_bridge_stress.run nic_router/nic_bridge: free MAC addresses 2019-04-01 19:33:48 +02:00
nic_dump.run autopilot: disable run script not supported by riscv 2021-02-23 12:07:16 +01:00
nic_router_dhcp_managed.run nic_router: support multiple DHCP option 6 entries 2020-12-09 14:02:10 +01:00
nic_router_dhcp_unmanaged.run nic_router: support multiple DHCP option 6 entries 2020-12-09 14:02:10 +01:00
nic_router_dhcp.inc nic_router: fix exc. in Interface::handle_config_3 2021-06-25 11:57:24 +02:00
nic_router_disable_arp.run autopilot: disable run script not supported by riscv 2021-02-23 12:07:16 +01:00
nic_router_flood.run zynq_qemu: disable fb_bench and nic_router_flood tests 2021-03-29 13:45:24 +02:00
nic_router_stress.run nic_router/nic_bridge: free MAC addresses 2019-04-01 19:33:48 +02:00
nic_stress.inc nic_router: act as "Uplink" server 2021-01-25 13:57:43 +01:00
nvme.run qemu: sanity check misconfigured memory for okl4 2021-05-28 14:15:26 +02:00
pci.run base: remove SPEC variables of boards (fix #3971) 2021-01-25 13:58:09 +01:00
ping_nic_router.run autopilot: disable run script not supported by riscv 2021-02-23 12:07:16 +01:00
ping.run autopilot: disable run script not supported by riscv 2021-02-23 12:07:16 +01:00
pointer.run nitpicker: no framebuffer and input by default 2020-08-25 11:50:09 +02:00
rom_to_file.run Move timer from os to base repository 2019-01-14 12:33:57 +01:00
rtc.run rtc_drv: add dummy driver 2021-03-12 12:01:36 +01:00
sd_card_bench.run os: introduce device type in platform driver 2021-04-20 12:10:58 +02:00
sd_card.run os: introduce device type in platform driver 2021-04-20 12:10:58 +02:00
smbios_decoder.run run: introduce have_board helper function 2021-01-25 13:58:09 +01:00
tar_rom.run Move timer from os to base repository 2019-01-14 12:33:57 +01:00
test.run tool/run: extract function to copy files 2021-05-05 11:32:09 +02:00
timeout.run riscv: adjust timeout run script to RISC-V 2021-03-12 12:01:39 +01:00
tz_vmm.run platform driver: make device info XML optional 2021-05-05 11:31:16 +02:00
uart.run Fix some details in run scripts 2020-04-17 12:40:13 +02:00
usb_block.run gpio_drv: remove specs for imx53 and imx6 2020-10-09 13:35:56 +02:00
vfs_block.run vfs_block.run: adjust cap quota for seL4 2021-04-20 12:10:58 +02:00
vmm_arm.run vmm: add virtio block device model 2021-02-23 12:07:17 +01:00
vmm_x86.run base: refactor VM/vCPU API 2021-02-23 12:07:18 +01:00