diff --git a/repos/os/src/server/nic_router/domain.cc b/repos/os/src/server/nic_router/domain.cc index bd48c0fc1..685da77aa 100644 --- a/repos/os/src/server/nic_router/domain.cc +++ b/repos/os/src/server/nic_router/domain.cc @@ -80,6 +80,11 @@ void Domain::ip_config(Ipv4_config const &new_ip_config) interface.detach_from_remote_ip_config(); }); }); + /* dissolve foreign ARP waiters */ + while (_foreign_arp_waiters.first()) { + Arp_waiter &waiter = *_foreign_arp_waiters.first()->object(); + waiter.src().cancel_arp_waiting(waiter); + } } /* overwrite old with new IP config */ _ip_config.construct(new_ip_config); @@ -229,16 +234,6 @@ Domain::~Domain() } -void Domain::__FIXME__dissolve_foreign_arp_waiters() -{ - /* let other interfaces destroy their ARP waiters that wait for us */ - while (_foreign_arp_waiters.first()) { - Arp_waiter &waiter = *_foreign_arp_waiters.first()->object(); - waiter.src().cancel_arp_waiting(waiter); - } -} - - Dhcp_server &Domain::dhcp_server() { Dhcp_server &dhcp_server = _dhcp_server();