<div dir="ltr"><br><br>On Sat, Apr 3, 2021 at 12:27 PM Gedare Bloom <<a href="mailto:gedare@rtems.org">gedare@rtems.org</a>> wrote:<br>><br>> On Fri, Apr 2, 2021 at 7:32 PM Vijay Kumar Banerjee <<a href="mailto:vijay@rtems.org">vijay@rtems.org</a>> wrote:<br>> ><br>> > * Remove nfsclient wscript and build from netlegacy.py<br>><br>> These two different changes probably should have been two different<br>> patches? I barely even noticed the nfsclient change, since it isn't<br>> reflected in the first line of the commit subject, so it is harder to<br>> spot. I think split them in two if that is ok.<br><br>Thanks. I'll split them into 2 different patches.<br>><br>> > ---<br>> >  bsps/powerpc/mpc55xxevb/net/smsc9218i.c |  4 +--<br>> >  libmisc/dummy-networking.c              | 44 ++++++++++++-------------<br>> >  netlegacy.py                            | 18 +++++++++-<br>> >  nfsclient/wscript                       |  1 +<br>> >  telnetd/telnetd.c                       |  4 ---<br>> >  wscript                                 |  2 +-<br>> >  6 files changed, 42 insertions(+), 31 deletions(-)<br>> ><br>> > diff --git a/bsps/powerpc/mpc55xxevb/net/smsc9218i.c b/bsps/powerpc/mpc55xxevb/net/smsc9218i.c<br>> > index d88aa8a..384f9cd 100644<br>> > --- a/bsps/powerpc/mpc55xxevb/net/smsc9218i.c<br>> > +++ b/bsps/powerpc/mpc55xxevb/net/smsc9218i.c<br>> > @@ -24,7 +24,7 @@<br>> ><br>> >  #include <mpc55xx/regs.h><br>> ><br>> > -#if defined(RTEMS_NETWORKING) && defined(MPC55XX_HAS_SIU)<br>> > +#if defined(MPC55XX_HAS_SIU)<br>> ><br>> >  #include <machine/rtems-bsd-kernel-space.h><br>> ><br>> > @@ -2121,4 +2121,4 @@ int smsc9218i_attach_detach(<br>> >    return 0;<br>> >  }<br>> ><br>> > -#endif /* defined(RTEMS_NETWORKING) && defined(MPC55XX_HAS_SIU) */<br>> > +#endif /* defined(MPC55XX_HAS_SIU) */<br>> > diff --git a/libmisc/dummy-networking.c b/libmisc/dummy-networking.c<br>> > index 379e23e..b7f15c8 100644<br>> > --- a/libmisc/dummy-networking.c<br>> > +++ b/libmisc/dummy-networking.c<br>> > @@ -16,27 +16,25 @@<br>> >  #include <rtems.h><br>> ><br>> >  /* Loopback Network Configuration */<br>> > -#if defined(RTEMS_NETWORKING)<br>> > -  #include <rtems/rtems_bsdnet.h><br>> > -  #include <sys/socket.h><br>> > -  #include <netinet/in.h><br>> > +#include <rtems/rtems_bsdnet.h><br>> > +#include <sys/socket.h><br>> > +#include <netinet/in.h><br>> ><br>> > -  struct rtems_bsdnet_config rtems_bsdnet_config = {<br>> > -      NULL,                   /* Network interface */<br>> > -      NULL,                   /* Use fixed network configuration */<br>> > -      0,                      /* Default network task priority */<br>> > -      0,                      /* Default mbuf capacity */<br>> > -      0,                      /* Default mbuf cluster capacity */<br>> > -      "testSystem",           /* Host name */<br>> > -      "<a href="http://nowhere.com">nowhere.com</a>",          /* Domain name */<br>> > -      "127.0.0.1",            /* Gateway */<br>> > -      "127.0.0.1",            /* Log host */<br>> > -      {"127.0.0.1" },         /* Name server(s) */<br>> > -      {"127.0.0.1" },         /* NTP server(s) */<br>> > -      1,                      /* sb_efficiency */<br>> > -      0,                      /* udp_tx_buf_size */<br>> > -      0,                      /* udp_rx_buf_size */<br>> > -      0,                      /* tcp_tx_buf_size */<br>> > -      0                       /* tcp_rx_buf_size */<br>> > -  };<br>> > -#endif<br>> > +struct rtems_bsdnet_config rtems_bsdnet_config = {<br>> > +    NULL,                   /* Network interface */<br>> > +    NULL,                   /* Use fixed network configuration */<br>> > +    0,                      /* Default network task priority */<br>> > +    0,                      /* Default mbuf capacity */<br>> > +    0,                      /* Default mbuf cluster capacity */<br>> > +    "testSystem",           /* Host name */<br>> > +    "<a href="http://nowhere.com">nowhere.com</a>",          /* Domain name */<br>> > +    "127.0.0.1",            /* Gateway */<br>> > +    "127.0.0.1",            /* Log host */<br>> > +    {"127.0.0.1" },         /* Name server(s) */<br>> > +    {"127.0.0.1" },         /* NTP server(s) */<br>> > +    1,                      /* sb_efficiency */<br>> > +    0,                      /* udp_tx_buf_size */<br>> > +    0,                      /* udp_rx_buf_size */<br>> > +    0,                      /* tcp_tx_buf_size */<br>> > +    0                       /* tcp_rx_buf_size */<br>> > +};<br>> > diff --git a/netlegacy.py b/netlegacy.py<br>> > index 0889548..85c523e 100644<br>> > --- a/netlegacy.py<br>> > +++ b/netlegacy.py<br>> > @@ -54,6 +54,13 @@ def build(bld):<br>> >                     for s in os.listdir('./pppd') if s[-2:] == '.c']<br>> >      telnetd_source = [os.path.join('./telnetd', s)<br>> >                        for s in os.listdir('telnetd') if s[-2:] == '.c']<br>> > +    nfs_source = []<br>> > +    for root, dirs, files in os.walk('./nfsclient'):<br>> > +        for name in files:<br>> > +            ext = os.path.splitext(name)[1]<br>> > +            if ext == '.c':<br>> > +                src_root = os.path.split(root)[1]<br>> > +                nfs_source.append(os.path.join('./nfsclient', src_root, name))<br>> ><br>> >      bsp_dirs, bsp_sources = bsp_drivers.bsp_files(bld)<br>> ><br>> > @@ -66,6 +73,7 @@ def build(bld):<br>> >                           './bsps/include'])<br>> >      arch_lib_path = rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION,<br>> >                                              bld.env.RTEMS_ARCH_BSP)<br>> > +    lib_path = os.path.join(bld.env.PREFIX, arch_lib_path)<br>> >      include_path.append(os.path.relpath(os.path.join(bld.env.PREFIX,<br>> >                                                       arch_lib_path)))<br>> >      include_path.append(os.path.relpath(os.path.join(bld.env.PREFIX,<br>> > @@ -73,6 +81,8 @@ def build(bld):<br>> >                                                       'include')))<br>> >      include_path.append('./bsps/include/libchip')<br>> ><br>> > +    bld.read_stlib('rtemsbsp', paths=[lib_path])<br>> > +<br>> >      if bsp in bsp_dirs:<br>> >          include_path.extend(bsp_dirs[bsp])<br>> ><br>> > @@ -107,8 +117,14 @@ def build(bld):<br>> >                use='networking',<br>> >                source=telnetd_source)<br>> ><br>> > +    bld.stlib(target='nfs',<br>> > +              features='c',<br>> > +              includes=ip,<br>> > +              use=['rtemsbsp', 'networking'],<br>> > +              source=nfs_source)<br>> > +<br>> >      bld.install_files(os.path.join('${PREFIX}', arch_lib_path),<br>> > -                      ["libnetworking.a", 'libpppd.a', 'libtelnetd.a'])<br>> > +                      ["libnetworking.a", 'libpppd.a', 'libtelnetd.a', 'libnfs.a'])<br>> >      bld.install_files(os.path.join('${PREFIX}', arch_lib_path,<br>> >                                     'include', 'libchip'),<br>> >                        [os.path.join('./bsps/include/libchip/', f)<br>> > diff --git a/nfsclient/wscript b/nfsclient/wscript<br>> > index bc2f994..c0fe420 100644<br>> > --- a/nfsclient/wscript<br>> > +++ b/nfsclient/wscript<br>> > @@ -52,5 +52,6 @@ def build(bld):<br>> >                features='c',<br>> >                cflags=['-O2', '-g'],<br>> >                includes=include_path,<br>> > +              use=['networking'],<br>> >                source=source_files)<br>> >      bld.install_files(os.path.join('${PREFIX}', arch_lib_path), ['libnfs.a'])<br>> > diff --git a/telnetd/telnetd.c b/telnetd/telnetd.c<br>> > index b8adec2..3d401ff 100644<br>> > --- a/telnetd/telnetd.c<br>> > +++ b/telnetd/telnetd.c<br>> > @@ -58,9 +58,7 @@<br>> >  #include <rtems/thread.h><br>> >  #include <rtems/userenv.h><br>> ><br>> > -#ifdef RTEMS_NETWORKING<br>> >  #include <rtems/rtems_bsdnet.h><br>> > -#endif<br>> ><br>> >  #define TELNETD_EVENT_SUCCESS RTEMS_EVENT_0<br>> ><br>> > @@ -401,11 +399,9 @@ rtems_status_code rtems_telnetd_start(const rtems_telnetd_config_table* config)<br>> >    LIST_INIT(&ctx->free_sessions);<br>> ><br>> >    /* Check priority */<br>> > -#ifdef RTEMS_NETWORKING<br>> >    if (ctx->config.priority == 0) {<br>> >      ctx->config.priority = rtems_bsdnet_config.network_task_priority;<br>> >    }<br>> > -#endif<br>> Is this (and the header above) the only difference between the legacy<br>> network stack implementation for telnetd and the libbsd one? If so, it<br>> seems they could be shared easily, and it might be good to keep track<br>> of where they differ.<br><br>Yes, this is the only difference. The only small issue would be the lack of RTEMS_NETWORKING macro, making it difficult to keep it in RTEMS, so I just removed these lines and proposed a patch to add that version to libbsd:<br><a href="https://lists.rtems.org/pipermail/devel/2021-March/065872.html">https://lists.rtems.org/pipermail/devel/2021-March/065872.html</a><div><br></div><div>I will send a v3 of this and another patch for nfsclient.</div><div><div><br></div><div><div><br>><br>> >    if (ctx->config.priority == 0) {<br>> >      ctx->config.priority = 100;<br>> >    }<br>> > diff --git a/wscript b/wscript<br>> > index 07f774d..7af317d 100644<br>> > --- a/wscript<br>> > +++ b/wscript<br>> > @@ -33,7 +33,7 @@ import sys<br>> >  top = '.'<br>> ><br>> >  rtems_version = "6"<br>> > -subdirs = ['nfsclient', 'testsuites']<br>> > +subdirs = ['testsuites']<br>> ><br>> >  try:<br>> >      import rtems_waf.rtems as rtems<br>> > --<br>> > 2.26.2<br>> ><br>> > _______________________________________________<br>> > devel mailing list<br>> > <a href="mailto:devel@rtems.org">devel@rtems.org</a><br>> > <a href="http://lists.rtems.org/mailman/listinfo/devel">http://lists.rtems.org/mailman/listinfo/devel</a></div></div></div></div>