Commit Graph

77 Commits

Author SHA1 Message Date
Joel Sherrill
4288153455 Added missing files from PPP port. 1999-11-30 22:14:28 +00:00
Joel Sherrill
d0950adfd6 Added port of ppp-2.3.5 from Tomasz Domin <dot@comarch.pl> of ComArch SA.
Tomasz only tested this on the mpc823.

The official site for the original source for this PPP implementation is:

ftp://cs.anu.edu.au/pub/software/ppp

NOTE:  As of 11/30/1999, the current version of this source is 2.3.10.
1999-11-30 22:12:50 +00:00
Joel Sherrill
65a38bcab7 Web server uses the POSIX API. Therefor, it must be disabled when the
POSIX API is disabled.
1999-11-16 16:14:37 +00:00
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
7cdf7fc191 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:19 +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