From 226c4a475b8dc2a4c0798cfd2d9e9f6a131fc6d9 Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Tue, 19 Dec 2017 18:21:45 +0100 Subject: [PATCH] nic_router: do not warn on sending to empty domain The warning "no interface connected to domain" was introduced when only one NIC session at a time could be connected to a domain. It should help to track packet drops that were caused by startup timing issues between servers and clients. However, a user should watch the "NIC sessions" value of a domain (verbose_domain_state) instead when debugging packet loss. With support for multiple sessions per domain, even a non-empty domain may still miss the session that connects the desired server. Fix #2629 --- repos/os/src/server/nic_router/interface.cc | 3 --- repos/os/src/server/nic_router/list.h | 11 ++--------- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/repos/os/src/server/nic_router/interface.cc b/repos/os/src/server/nic_router/interface.cc index f40c812635..d0e4d1df4e 100644 --- a/repos/os/src/server/nic_router/interface.cc +++ b/repos/os/src/server/nic_router/interface.cc @@ -922,9 +922,6 @@ void Interface::_handle_eth(void *const eth_base, catch (Domain::No_next_hop) { error("can not find next hop"); } - catch (List::Empty) { - error("no interface connected to domain"); } - catch (Alloc_dhcp_msg_buffer_failed) { error("failed to allocate buffer for DHCP reply"); } diff --git a/repos/os/src/server/nic_router/list.h b/repos/os/src/server/nic_router/list.h index e13a70aca5..64bc2c2e31 100644 --- a/repos/os/src/server/nic_router/list.h +++ b/repos/os/src/server/nic_router/list.h @@ -24,18 +24,11 @@ namespace Net { template struct Net::List : Genode::List { - using Base = Genode::List; - - struct Empty : Genode::Exception { }; - template void for_each(FUNC && functor) { - if (!Base::first()) { - throw Empty(); - } - for (LT * elem = Base::first(); elem; - elem = elem->Base::Element::next()) + for (LT * elem = Genode::List::first(); elem; + elem = elem->Genode::List::Element::next()) { functor(*elem); }