Am 20.03.2018 um 02:14 schrieb Chris Johns: > On 20/03/2018 02:16, Christian Mauderer wrote: >> Most of the values in config.inc haven't been used any more. The only >> part left has been the ip addresses for some of the test. > > Why not just removed the parts not being used? > >> All other values are not used and might irritate new users. > > Why would it? It would irritate existing "users" if the hard coded set up > conflicts with any networks they use. > > I do not agree with a hard coded set of addresses and I cannot see a > compelling > reason given in this patch to do this. > > The way the setting of these is currently handled may end up being part of the > #3351 resolution once that ticket's path is resolved. > >> >> Generating the header for the network configuration adds quite some >> lines to the build system. > > It is not that much, it exists and it works. The code being removed is about > 30 > lines while the generated waf script is over 3000 lines long. > > How is this complicating the build system?
I think it is currently the only generated header file. Therefore it is a special case and special cases are always hard to handle. But I'll re-do the patch so that it only removes the parts that are not used or never worked. > >> On the other side it seems not really that >> necessary to make the network configuration for the tests configurable. > > Why? > >> Therefore this patch elimintates that too and uses fixed IP addresses in >> the (previously generated) network-config.h header instead. If someone >> really needs to run the tests with some other IP addresses, he still can >> locally change the header (instead of the config.inc). > > Sorry, lets not go there. As a policy I would like to see RTEMS avoid touching > code this way so tests can run. Saying this requires developers walk patches > through repeated changes to the repo and that is an overhead for them, it > complicates continuous integration set ups and it added complexity to an audit > process wanting to run any certification effort. > >> --- >> config.inc | 15 -------- >> libbsd.txt | 30 +++------------ >> libbsd_waf.py | 36 ----------------- >> .../test/{network-config.h.in => network-config.h} | 8 ++-- >> waf_generator.py | 45 >> ---------------------- >> wscript | 5 --- >> 6 files changed, 10 insertions(+), 129 deletions(-) >> delete mode 100644 config.inc >> rename testsuite/include/rtems/bsd/test/{network-config.h.in => >> network-config.h} (92%) >> >> diff --git a/config.inc b/config.inc >> deleted file mode 100644 >> index 3432a5fc..00000000 >> --- a/config.inc >> +++ /dev/null >> @@ -1,15 +0,0 @@ >> -# Mandatory: Select your BSP and installation prefix >> -TARGET = arm-rtems4.11 >> -BSP = realview_pbx_a9_qemu >> -PREFIX = /opt/rtems-4.11 >> - >> -# Optional: Separate installation base directory >> -INSTALL_BASE = $(PREFIX)/$(TARGET)/$(BSP) >> - >> -# Optional: Network test configuration >> -TEST_RUNNER = $(BSP) >> -NET_CFG_SELF_IP = 10.0.2.1 >> -NET_CFG_NETMASK = 255.255.0.0 >> -NET_CFG_PEER_IP = 192.168.100.11 >> -NET_CFG_GATEWAY_IP = 192.168.100.11 >> -NET_TAP_INTERFACE = tap0 >> diff --git a/libbsd.txt b/libbsd.txt >> index 71d5cc8d..d57d1884 100644 >> --- a/libbsd.txt >> +++ b/libbsd.txt >> @@ -42,7 +42,6 @@ installed. >> >> . Clone the Git repository +git clone git://git.rtems.org/rtems-libbsd.git+. >> . Change into the RTEMS BSD library root directory. >> -. Edit the `config.inc` configuration file and adjust it to your >> environment. >> . Run +waf configure ...+. >> . Run +waf+. >> . Run +waf install+. >> @@ -119,29 +118,6 @@ devices (you can run multiple test instances on one >> virtual network). >> The build system based on the Waf build system. To build with Waf please >> refer >> to the README.waf file. >> >> -===== Example Configuration ===== >> - >> -In the BSD library source directory edit the file `config.inc`. Continuing >> on >> -the above, the `config.inc` used to match the above is: >> - >> -------------------------------------------------------------------------------- >> -# Mandatory: Select your BSP and installation prefix >> -TARGET = arm-rtems4.12 >> -BSP = xilinx_zynq_a9_qemu >> -PREFIX = $(HOME)/sandbox/install >> - >> -# Optional: Separate installation base directory >> -INSTALL_BASE = $(PREFIX)/$(TARGET)/$(BSP) >> - >> -# Optional: Network test configuration >> -TEST_RUNNER = $(BSP) >> -NET_CFG_SELF_IP = 10.0.0.2 >> -NET_CFG_NETMASK = 255.255.0.0 >> -NET_CFG_PEER_IP = 10.0.0.1 >> -NET_CFG_GATEWAY_IP = 10.0.0.1 >> -NET_TAP_INTERFACE = tap0 >> -------------------------------------------------------------------------------- >> - >> === BSD Library Initialization === >> >> To initialise the BSD Library create a suitable rc.conf file. The FreeBSD >> man >> @@ -273,6 +249,12 @@ their own implementation of the >> `rtems_bsd_get_allocator_domain_size()` >> function (for example in the module which calls `rtems_bsd_initialize()`) if >> different values are desired. The default size is 8MiB for all domains. >> >> +=== Tests === >> + >> +There are tests for some features in the `testsuite` directory. Note that >> some >> +of the tests use a fixed IP configuration that is defined in >> +`testsuite/include/rtems/bsd/test/network-config.h`. > > It is not clear to me in this documentation how a developer who has clashing > networks is suppose to handle these static settings and nothing here explains > what what to do. > >> + >> == Network Stack Features >> >> http://roy.marples.name/projects/dhcpcd/index[DHCPCD(8)]:: DHCP client >> diff --git a/libbsd_waf.py b/libbsd_waf.py >> index 745512bf..642142e2 100644 >> --- a/libbsd_waf.py >> +++ b/libbsd_waf.py >> @@ -91,42 +91,6 @@ def build(bld): >> # Collect the libbsd uses >> libbsd_use = [] >> >> - # Network test configuration >> - if not os.path.exists(bld.env.NET_CONFIG): >> - bld.fatal("network configuraiton '%s' not found" % >> (bld.env.NET_CONFIG)) >> - net_cfg_self_ip = None >> - net_cfg_netmask = None >> - net_cfg_peer_ip = None >> - net_cfg_gateway_ip = None >> - net_tap_interface = None >> - try: >> - net_cfg_lines = open(bld.env.NET_CONFIG).readlines() >> - except: >> - bld.fatal("network configuraiton '%s' read failed" % >> (bld.env.NET_CONFIG)) >> - lc = 0 >> - for l in net_cfg_lines: >> - lc += 1 >> - if l.strip().startswith("NET_CFG_"): >> - ls = l.split("=") >> - if len(ls) != 2: >> - bld.fatal("network configuraiton '%s' parse error: %d: %s" >> % (bld.env.NET_CONFIG, lc, l)) >> - lhs = ls[0].strip() >> - rhs = ls[1].strip() >> - if lhs == "NET_CFG_SELF_IP": >> - net_cfg_self_ip = rhs >> - if lhs == "NET_CFG_NETMASK": >> - net_cfg_netmask = rhs >> - if lhs == "NET_CFG_PEER_IP": >> - net_cfg_peer_ip = rhs >> - if lhs == "NET_CFG_GATEWAY_IP": >> - net_cfg_gateway_ip = rhs >> - if lhs == "NET_TAP_INTERFACE": >> - net_tap_interface = rhs >> - bld(target = "testsuite/include/rtems/bsd/test/network-config.h", >> - source = "testsuite/include/rtems/bsd/test/network-config.h.in", >> - rule = "sed -e 's/@NET_CFG_SELF_IP@/%s/' -e >> 's/@NET_CFG_NETMASK@/%s/' -e 's/@NET_CFG_PEER_IP@/%s/' -e >> 's/@NET_CFG_GATEWAY_IP@/%s/' < ${SRC} > ${TGT}" % (net_cfg_self_ip, >> net_cfg_netmask, net_cfg_peer_ip, net_cfg_gateway_ip), >> - update_outputs = True) >> - >> # copy headers if necessary >> header_build_copy_paths = [ >> ('freebsd/crypto/openssl/crypto', '*.h', >> 'openssl'), >> diff --git a/testsuite/include/rtems/bsd/test/network-config.h.in >> b/testsuite/include/rtems/bsd/test/network-config.h >> similarity index 92% >> rename from testsuite/include/rtems/bsd/test/network-config.h.in >> rename to testsuite/include/rtems/bsd/test/network-config.h >> index 2cef97db..c7350011 100755 >> --- a/testsuite/include/rtems/bsd/test/network-config.h.in >> +++ b/testsuite/include/rtems/bsd/test/network-config.h >> @@ -54,12 +54,12 @@ >> #define NET_CFG_INTERFACE_0 "lo0" >> #endif >> >> -#define NET_CFG_SELF_IP "@NET_CFG_SELF_IP@" >> +#define NET_CFG_SELF_IP "10.0.2.1" > > I am OK with 192.168.0.1. > > ... then again that is a default used by most routers and a widely used > network > set up including the RTEMS server's internal networks and why my local > networks > are based around 10.* networks including subnets, VPNs, VLANs and PPT high > speed > server interconnects. > >> >> -#define NET_CFG_NETMASK "@NET_CFG_NETMASK@" >> +#define NET_CFG_NETMASK "255.255.0.0" > > I would prefer 255.255.255.0. > >> -#define NET_CFG_PEER_IP "@NET_CFG_PEER_IP@" >> +#define NET_CFG_PEER_IP "192.168.100.11" > > If the address above it changed what is used here ... > >> >> -#define NET_CFG_GATEWAY_IP "@NET_CFG_GATEWAY_IP@" >> +#define NET_CFG_GATEWAY_IP "192.168.100.11" > > Anyway I think I have made my point :) > > Chris > -- -------------------------------------------- embedded brains GmbH Herr Christian Mauderer Dornierstr. 4 D-82178 Puchheim Germany email: christian.maude...@embedded-brains.de Phone: +49-89-18 94 741 - 18 Fax: +49-89-18 94 741 - 08 PGP: Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel