Commit Graph
74 Commits
Author SHA1 Message Date
Joel Sherrill cbccd37599 Patch from Eric Norum <eric@cls.usask.ca> which includes:
Patches against 1105 snapshot to add NTP server support to network
    configuration/BOOTP.
1999-11-10 14:31:11 +00:00
Joel Sherrill a0af97d2bf Patch from Eric Norum <eric@cls.usask.ca> to add NTP BOOTP support because
EPICS needs a synchronized time-of-day clock.  This patch is the changes
needed to get NTP server information from a BOOTP server.

This patch also adds NTP server information to the network configuration
structure, too.
1999-11-09 03:43:47 +00:00
Joel Sherrill c1cdaa0ce8 Patch from Emmanuel Raguet <raguet@crf.canon.fr> and Eric Valette
<valette@crf.canon.fr> to add a port of the GoAhead web server
(httpd) to the RTEMS build tree.  They have successfully used
this BSP on i386/pc386 and PowerPC/mcp750.

Mark and Joel spoke with Nick Berliner <nickb@goahead.com> on
26 Oct 1999 about this port and got verbal approval to include
it in RTEMS distributions.
1999-10-27 12:50:33 +00:00
Joel Sherrill 8379ada798 Patch from Eric Norum <eric@cls.usask.ca> to address the following problem
report from Philip A. Prindeville <philipp@zembu.com>:

        I was working on a device driver for a certain ethernet chipset that
    occassionally wraps in its buffer, and causes a resulting mbuf chain
    with only a few dozen bytes in the first mbuf of the chain.

        I wouldn't have thought this would be a problem, until I ran some
    stress tests that flooded the ethernet receiver with packets and
    started to get panics here:

       250
       251          if (m->m_pkthdr.len < sizeof(struct ip))
       252                  goto tooshort;
       253
       254  #ifdef  DIAGNOSTIC
       255          if (m->m_len < sizeof(struct ip))
       256                  panic("ipintr mbuf too short");
       257  #endif
       258
       259          if (m->m_len < sizeof (struct ip) &&
       260              (m = m_pullup(m, sizeof (struct ip))) == 0) {
       261                  ipstat.ips_toosmall++;
       262                  return;
       263          }
       264          ip = mtod(m, struct ip *);

    and the panic was at line 256.  But if I #undef'd DIAGNOSTICS,
    then the m_pullup() at line 260 does the right thing and the packet
    ends up being processed just fine.

    So I started wondering, (a) why was the test checking for
    something that apparently wasn't a fatal condition but rather
    one that is subsequently recovered from a couple of lines later
    and (b) why panic as a diagnostic "aid" from a recoverable
    condition rather than just (say) log a message to the console?

    All of this seems overly severe for no reason that is readily
    apparent to me.
1999-10-25 16:09:45 +00:00
Joel Sherrill 1b8212423d Modified to avoid conflicts on definitions of malloc. newlib 1.8.2
now prototypes the malloc family in stdlib.h.  This causes conflicts
with the way the network stack overrides the definitions of malloc.
As best I (being Joel) can tell, commenting stdlib.h out keeps the
files compiling and referencing the desired malloc/free but results
in more warnings.
1999-10-06 20:37:26 +00:00
Joel Sherrill 811804fec8 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make fix bug
where wrapup left pieces out of the librtemsall.a.
1999-10-04 19:15:14 +00:00
Joel Sherrill cc63e08130 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make libnetworking
a top level more independently configured package.
1999-10-04 18:40:53 +00:00
Joel Sherrill 6fca2f5568 Patch from Eric Norum <eric@cls.usask.ca>. Comments follow:
The old system would panic when the loopback interface was included as
    part of the network initialation structures.  With the printf you get an
    message, but the interface is still properly initialized.
1999-10-04 13:51:22 +00:00
Joel Sherrill e1d8abbe28 Applied patch rtems-rc-19990820-6.diff.gz from
Ralf Corsepius <corsepiu@faw.uni-ulm.de> which converted many
Makefile.in's to Makefile.am's.  This added a lot of files.
1999-09-07 13:45:03 +00:00
Joel Sherrill e0c6f431b6 Comment cleanup from Eric Norum <eric@cls.usask.ca>. 1999-08-26 20:52:40 +00:00
Joel Sherrill 48abdc31fd Patch from Eric Norum <eric@cls.usask.ca> to readd the behavior where
the minor number indicated the port number to try.
1999-08-23 14:58:16 +00:00
Joel Sherrill 09ea257c58 Patch from Eric Norum <eric@cls.usask.ca>:
I get the following warning when compiling the latest snapshot.  I had
a quick look at the source -- it certainly looks to me like this is a
real bug.

../../../../src/rtems-19990709/c/src/lib/libc/mount.c:97: warning:
`options' might be used uninitialized in this function

Also, I changed the TFTP test program and TFTP driver to reflect the
changes in the way paths are passed to the TFTP driver.  The TFTP driver
now needs a proper `dotted-decimal' hostname as the second component of
the path name.
1999-07-12 15:52:35 +00:00
Joel Sherrill 937ab62c30 After comments D. V. Henkel-Wallace <gumby@zembu.com>, the interface to
mount() was changed to avoid the use of a string as the options.
1999-06-15 22:16:30 +00:00
Joel Sherrill a6f3cff703 Patch from Ian Lance Taylor <ian@airs.com>:
The select function is not particularly efficient when dealing with a
    large number of sockets.  The application has to build a big set of
    bits and pass it in.  RTEMS has to look through all those bits and see
    what is ready.  Then the application has to look through all the bits
    again.

    On the other hand, when using RTEMS, the select function is needed
    exactly when you have a large number of sockets, because that is when
    it becomes prohibitive to use a separate thread for each socket.

    I think it would make more sense for RTEMS to support callback
    functions which could be invoked when there is data available to read
    from a socket, or when there is space available to write to a socket.

    Accordingly, I implemented them.

    This patch adds two new SOL_SOCKET options to setsockopt and
    getsockopt: SO_SNDWAKEUP and SO_RCVWAKEUP.  They take arguments of
    type struct sockwakeup:

    struct  sockwakeup {
        void    (*sw_pfn) __P((struct socket *, caddr_t));
        caddr_t sw_arg;
    };

    They are used to add or remove a function which will be called when
    something happens for the socket.  Getting a callback doesn't imply
    that a read or write will succeed, but it does imply that it is worth
    trying.

    This adds functionality to RTEMS which is somewhat like interrupt
    driven socket I/O on Unix.

    After the patch to RTEMS, I have appended a patch to
    netdemos-19990407/select/test.c to test the new functionality and
    demonstrate one way it might be used.  To run the new test instead of
    the select test, change doSocket to call echoServer2 instead of
    echoServer.
1999-06-11 14:11:44 +00:00
Joel Sherrill 0643693198 Patch from Eric Norum <eric@cls.usask.ca> to fix bug reported by
Ian Lance Taylor <ian@airs.com>:

    Ian Lance Taylor wrote:
    >
    > In rtems-19990528, sbwait sets SB_WAIT in sb_flags.  sowakeup checks
    > it.  Why doesn't socket_select set it?
    >
    > I don't know that this is a bug--I haven't tried to create a test
    > case.  However, it certainly looks odd.
    >
    > Ian

    Yes, there's a bug there.  Sorry about that.
    It was introduced when I did some cleanup on the sleep/wakeup handling
    in rtems_glue.c.
1999-06-11 14:06:13 +00:00
Joel Sherrill f74abcf78d Changes from Eric Norum to add a loop and limit on the length of time
the stack will wait for mbufs.
1999-05-28 18:21:25 +00:00
Joel Sherrill 403d7b188f Alignment corrected per Eric Norum's suggestion. 1999-05-28 16:09:00 +00:00
Joel Sherrill 11cdbebd58 Patch from Eric Norum <eric@pollux.usask.ca> to eliminate a panic when the
network stack runs out of mbufs.
1999-05-27 18:03:50 +00:00
Joel Sherrill 8bbaf3bd49 Removed all post 4.0 changes. 1999-05-20 13:32:54 +00:00
Joel Sherrill a238cc97d0 Patch from D. V. Henkel-Wallace <gumby@zembu.com> to remove compiler
warnings.
1999-05-17 15:45:15 +00:00
Joel Sherrill acb644a66f Error reporting fixed by Jennifer. 1999-05-07 16:30:44 +00:00
Joel Sherrill cfcb5a299a Patch from Eric Norum <eric@cls.usask.ca> to corrent a miscount in length
that results in an error in parsing network unit names/numbers.
1999-04-27 17:31:39 +00:00
Joel Sherrill 4186b3bb0c Changed ioctl() prototype to be more like Linux/POSIX than BSD to ease
porting of ACE to RTEMS.
1999-04-19 17:17:41 +00:00
Joel Sherrill ac91855d33 After discussion with Eric Norum <eric@skatter.usask.ca>,
I added __INSIDE_RTEMS_BSD_TCPIP_STACK__ that trips all the needed
macro definitions for a network driver.
1999-04-19 15:27:21 +00:00
Joel Sherrill 517660f192 Moved sparc specific version of in_cksum_hdr to an inline routine like
the reset of the CPU specific implementations after comment from
Eric Norum.
1999-04-01 16:36:22 +00:00
Joel Sherrill efa0baa5e7 Patch from Eric Norum <eric@skatter.usask.ca> which changed the exit
sequence.
1999-03-31 20:51:07 +00:00
Joel Sherrill ceb06d9650 Removed warning for `#ifdef' argument starts with punctuation. 1999-03-30 17:43:51 +00:00
Joel Sherrill 6a4096b224 Patch to add shutdown() routine from Tony R. Ambardar <tonya@ece.ubc.ca>. 1999-03-30 15:40:29 +00:00
Joel Sherrill e828c2dd40 SPARC optimized version of IP checksum header routine. Submitted
by Jiri Gaisler <jgais@ws.estec.esa.nl>.
1999-03-23 23:06:42 +00:00
Joel Sherrill b6f5f9385d Patch from Eric Norum <eric@skatter.usask.ca> to improve parsing of
network interface names.  This change does not introduce any
compatibility problems.
1999-03-23 22:39:13 +00:00
Joel Sherrill af0200363e Patch from Eric Norum <eric@skatter.usask.ca> that adds external
fcntl support and an external fcntl handler for sockets.
1999-03-19 21:51:58 +00:00
Joel Sherrill 73f6236bc0 Patch from Eric Norum <eric@skatter.usask.ca> to eliminate external
IO handlers scheme that was implemented originally just to support
sockets.  The file system IO switch is more general and works fine.
1999-03-01 22:40:08 +00:00
Joel Sherrill ecec2ba7bd Patch from Eric Norum to correct bug induced by select() patch. 1999-02-05 00:29:23 +00:00
Joel Sherrill 354b00bc1e Added printf()'s that can be uncommented to trace MBUF operations. This
is very useful when debugging a device driver.
1999-02-04 15:00:14 +00:00
Joel Sherrill 83c7b007fd Modifed to reflect transition from device driver to file system. 1999-02-04 14:59:42 +00:00
Joel Sherrill d3c106037f Added debug printf()'s that are commented out. Uncommenting these
allows one to trace the enqueueing and dequeueing of messages.  This
can be used to insure that packets are getting to the boundary between
the network stack and the device driver.
1999-02-04 14:58:01 +00:00
Joel Sherrill 1564ca8e5e Added PowerPC specific header checksum code. 1999-02-04 14:56:09 +00:00
Joel Sherrill 8cce4452a5 Added PowerPC specific header checksum code.
Added volatile to i386 assembly statements in header checksum code.
1999-02-04 14:56:03 +00:00
Joel Sherrill c1a37d3e94 Debugged and now works except for handling of minor number. 1999-02-04 14:54:31 +00:00
Joel Sherrill 7c7fd4de93 Modified to include comments on how to get TCPDEBUG turned on and
printing messages.
1999-02-04 14:53:06 +00:00
Joel Sherrill 13e11f69c1 Added debug #define and commented it out. 1999-02-02 21:15:15 +00:00
Joel Sherrill 5d5f23bc42 Added PowerPC specific in_cksum file. 1999-02-02 21:15:02 +00:00
Joel Sherrill 9b9c4dfd46 New file. Based on the i386 version. 1999-02-02 21:14:44 +00:00
Joel Sherrill 7b158663ed Prepended macro variables with "_" to avoid name conflicts in expansions. 1999-01-31 20:50:49 +00:00
Joel Sherrill cdf8a30092 Patch from Eric Norum <eric@skatter.usask.ca> to avoid dereferencing a
NULL pointer.
1999-01-28 18:42:34 +00:00
Joel Sherrill 39ba912277 Changed prototype of rtems_bsdnet_makeFdForSocket to (void *) pointer
so that the libc code did not have to know about (struct socket).
1999-01-26 01:50:31 +00:00
Joel Sherrill 887618b0e7 Switched from printf() to puts(). 1999-01-26 01:49:56 +00:00
Joel Sherrill 94b3ee1366 Made to compile after hacking tftp driver into beginnings of a mini-filesystem. 1999-01-21 22:25:43 +00:00
Joel Sherrill a7c4314dca Added comments for changing to a filesystem 1999-01-19 20:23:15 +00:00
Joel Sherrill eb0d7ae2da Patch from D. V. Henkel-Wallace <gumby@zembu.com> to use puts and have prototype. 1999-01-04 16:35:31 +00:00