From 7085640f053fa3d3d66b779bd0c9968d79366e17 Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Fri, 27 Apr 2018 14:00:07 +0200 Subject: [PATCH] nic_router: remove 'mac_first' attribute Since the router MAC is allocated like the donwlink MACs it can't happen anymore that these MACs clash, for instance due to nested routers. Thus, the range of the MAC allocators of nested routers must not be exclusive anymore which deprecates the 'mac_first' configuration attribute. Issue #2795 --- repos/os/src/server/nic_router/component.cc | 2 +- repos/os/src/server/nic_router/component.h | 2 ++ repos/os/src/server/nic_router/config.xsd | 8 -------- repos/os/src/server/nic_router/configuration.cc | 1 - repos/os/src/server/nic_router/configuration.h | 2 -- 5 files changed, 3 insertions(+), 12 deletions(-) diff --git a/repos/os/src/server/nic_router/component.cc b/repos/os/src/server/nic_router/component.cc index 3be7ea3f4c..89d64a72c0 100644 --- a/repos/os/src/server/nic_router/component.cc +++ b/repos/os/src/server/nic_router/component.cc @@ -121,7 +121,7 @@ Net::Root::Root(Entrypoint &ep, Region_map ®ion_map) : Root_component(&ep.rpc_ep(), &alloc), _timer(timer), - _mac_alloc(config.mac_first()), _ep(ep), _router_mac(_mac_alloc.alloc()), + _mac_alloc(MAC_ALLOC_BASE), _ep(ep), _router_mac(_mac_alloc.alloc()), _config(config), _buf_ram(buf_ram), _region_map(region_map), _interfaces(interfaces) { } diff --git a/repos/os/src/server/nic_router/component.h b/repos/os/src/server/nic_router/component.h index c6a6f276d4..de411c07a2 100644 --- a/repos/os/src/server/nic_router/component.h +++ b/repos/os/src/server/nic_router/component.h @@ -136,6 +136,8 @@ class Net::Root : public Genode::Root_component { private: + enum { MAC_ALLOC_BASE = 0x02 }; + Timer::Connection &_timer; Mac_allocator _mac_alloc; Genode::Entrypoint &_ep; diff --git a/repos/os/src/server/nic_router/config.xsd b/repos/os/src/server/nic_router/config.xsd index 9658df8e7d..10bfaca339 100644 --- a/repos/os/src/server/nic_router/config.xsd +++ b/repos/os/src/server/nic_router/config.xsd @@ -40,13 +40,6 @@ - - - - - - - @@ -158,7 +151,6 @@ - diff --git a/repos/os/src/server/nic_router/configuration.cc b/repos/os/src/server/nic_router/configuration.cc index b9c7cd5975..db0b6f7cc9 100644 --- a/repos/os/src/server/nic_router/configuration.cc +++ b/repos/os/src/server/nic_router/configuration.cc @@ -52,7 +52,6 @@ Configuration::Configuration(Env &env, _udp_idle_timeout (read_sec_attr(node, "udp_idle_timeout_sec", DEFAULT_UDP_IDLE_TIMEOUT_SEC )), _tcp_idle_timeout (read_sec_attr(node, "tcp_idle_timeout_sec", DEFAULT_TCP_IDLE_TIMEOUT_SEC )), _tcp_max_segm_lifetime(read_sec_attr(node, "tcp_max_segm_lifetime_sec", DEFAULT_TCP_MAX_SEGM_LIFETIME_SEC)), - _mac_first (mac_from_string(node.attribute_value("mac_first", Mac_string("02:02:02:02:02:00")).string())), _node(node) { /* read domains */ diff --git a/repos/os/src/server/nic_router/configuration.h b/repos/os/src/server/nic_router/configuration.h index cc1fa94e21..97f1dd9ffa 100644 --- a/repos/os/src/server/nic_router/configuration.h +++ b/repos/os/src/server/nic_router/configuration.h @@ -43,7 +43,6 @@ class Net::Configuration Genode::Microseconds const _udp_idle_timeout { DEFAULT_UDP_IDLE_TIMEOUT_SEC }; Genode::Microseconds const _tcp_idle_timeout { DEFAULT_TCP_IDLE_TIMEOUT_SEC }; Genode::Microseconds const _tcp_max_segm_lifetime { DEFAULT_TCP_MAX_SEGM_LIFETIME_SEC }; - Mac_address const _mac_first { mac_from_string("02:02:02:02:02:00") }; Pointer _report { }; Pointer _reporter { }; Domain_tree _domains { }; @@ -89,7 +88,6 @@ class Net::Configuration Domain_tree &domains() { return _domains; } Report &report() { return _report(); } Genode::Xml_node node() const { return _node; } - Mac_address const &mac_first() const { return _mac_first; } }; #endif /* _CONFIGURATION_H_ */