[PATCH rtems-net-legacy v2] Remove RTEMS_NETWORKING checks

Gedare Bloom gedare at rtems.org
Mon Apr 5 16:32:54 UTC 2021


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

> I will send a v3 of this and another patch for nfsclient.
>
>
> >
> > >    if (ctx->config.priority == 0) {
> > >      ctx->config.priority = 100;
> > >    }
> > > diff --git a/wscript b/wscript
> > > index 07f774d..7af317d 100644
> > > --- a/wscript
> > > +++ b/wscript
> > > @@ -33,7 +33,7 @@ import sys
> > >  top = '.'
> > >
> > >  rtems_version = "6"
> > > -subdirs = ['nfsclient', 'testsuites']
> > > +subdirs = ['testsuites']
> > >
> > >  try:
> > >      import rtems_waf.rtems as rtems
> > > --
> > > 2.26.2
> > >
> > > _______________________________________________
> > > devel mailing list
> > > devel at rtems.org
> > > http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list