public Configuration ParseConfiguration()
        {
            Configuration.Builder configurationBuilder = new Configuration.Builder();

            LOG.Debug($"Reading configuration from {_filename}");
            XElement xelement = XElement.Load(_filename);

            configurationBuilder.SetRouterAlias(xelement.Descendants("router_alias").First().Value);
            configurationBuilder.SetCableCloudAddress(xelement.Descendants("cable_cloud_address").First().Value);
            configurationBuilder.SetCableCloudPort(int.Parse(xelement.Descendants("cable_cloud_port").First().Value));
            configurationBuilder.SetManagementSystemAddress(xelement.Descendants("management_system_address").First().Value);
            configurationBuilder.SetManagementSystemPort(int.Parse(xelement.Descendants("management_system_port").First().Value));

            foreach (XElement element in xelement.Descendants("port_alias"))
            {
                LOG.Trace($"Router {xelement.Descendants("router_alias").First().Value} port alias: {element.Value}");
                configurationBuilder.AddPortAlias(element.Value);
            }

            return(configurationBuilder.Build());
        }