| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
* rtems/rtems_syscall.c: Removed warnings.
|
|
|
|
| |
* rtems/rtems_bsdnet_malloc_starvation.c: Fixed name of include file.
|
|
|
|
|
|
|
|
|
|
|
| |
PR 374/networking
* Makefile.am, rtems/rtems_bsdnet.h, rtems/rtems_glue.c:
The patch sent as part of PR270 got applied to the wrong place.
The effect was that (1) startup was no faster than before and
(2) malloc starvation messages came way too quickly. The attached
patch fixes both these problems and also provides a mechanism for
applications to handle malloc starvation conditions as they see fit.
* rtems/rtems_bsdnet_malloc_starvation.c: New file.
|
|
|
|
|
|
|
|
|
|
| |
* rtems/rtems_glue.c: A small patch to the network daemon task
code. I just added code to check the return value of
the rtems_bsdnet_event_receive function. Only when
this function returns a SUCCESSFUL status, will the
event flags be checked. This is more of a code cleanup issue
than a bug. The patch will just ensure the ipintr() and
arpintr() functions are only called when a event is signaled.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am: Added sys/linker_set.h
* kern/Makefile.am: Added kern_mib.c and kern_sysctl.c.
* kern/uipc_socket.c: OID changed from KERN_SOMAXCONN to KIPC_SOMAXCONN.
* kern/uipc_socket2.c: OID changed from KERN_MAXSOCKBUF to
KIPC_MAXSOCKBUF.
* net/if_ethersubr.c: FreeBSD 2.2.2 does not have a _net_link node
while 5.0 does.
* net/if_ppp.c: Removed the TEXT_SET define as these macros are
now implemented.
* net/rtsock.c: Enable sysctl support plus fix the bug with the
lastest FreeBSD sysctl header file.
* netinet/icmp_var.h: FreeBSD 2.2.2 does not have a _net_inet_icmp
node while 5.0 does.
* netinet/if_ether.c: FreeBSD 2.2.2 does not have a _net_link_ether
node while 5.0 does.
* netinet/igmp_var.h: FreeBSD 2.2.2 does not have a _net_inet_igmp
node while 5.0 does.
* netinet/in_pcb.c: Fixed the arguments to the sysctl call. Add
inp_gencnt and ipi_count. These are used when listing connections.
* netinet/in_pcb.h: Added counters to aid the listing of connections.
* netinet/in_var.h: Provide the _net_inet_ip and _net_inet_raw nodes.
* netinet/ip_fw.c: Disable the firewall sysctl calls.
* netinet/tcp_subr.c: Merge tcp_pcblist from the lastest FreeBSD source.
* netinet/tcp_var.h: Add structures needed by net-snmp to list
connections.
* netinet/udp_usrreq.c: Merged udp_pcblist from the lastest FreeBSD
source.
* netinet/udp_var.h: Added the sysctl id UDPCTL_PCBLIST. Used by
net-snmp.
* rtems_glue.c: Call sysctl_register_all when initialising the
network stack to register all the sysctl calls. These are in the
special sections and required an updated linker script.
* rtems/rtems_syscall.c: Add the sysctl call.
* sys/kernel.h: Use the lastest FreeBSD method of handling sysctl
structures. This now held in the sys/linker_set.h file.
* sys/queue.h: This is from the lastest FreeBSD code with the circular
code merged back in as it is not used in the lastest FreeBSD kernel.
* sys/sysctl.h: The lastest sysctl. This was needed to use with the new
linker set method. The FreeBSD 2.2.2 version has asm hacks. The lastest
version of the FreeBSD does not have these hacks. It uses gcc attribute
directives.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am: Merge-in kern/Makefile.am, net/Makefile.am,
netinet/Makefile.am, netinet/Makefile.am, nfs/Makefile.am,
rtems/Makefile.am.
* kern/Makefile.am: Remove.
* net/Makefile.am: Remove.
* netinet/Makefile.am: Remove.
* nfs/Makefile.am: Remove.
* rtems/Makefile.am: Remove.
* wrapup/Makefile.am: Reflect changes above.
* configure.ac: Ditto.
|
|
|
|
|
|
|
|
|
|
|
| |
* kern/Makefile.am: Remove C_O_FILES;
Don't let all-local depend on $OBJS)
* lib/Makefile.am: Ditto.
* libc/Makefile.am: Ditto.
* net/Makefile.am: Ditto.
* netinet/Makefile.am: Ditto.
* nfs/Makefile.am: Ditto.
* rtems/Makefile.am: Ditto.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Pass to eliminate warnings.
* kern/uipc_mbuf.c: Conditional SYSINIT() usage on __rtems__.
Fix return statement without a value.
* lib/ftpfs.c: read and write filesystem routines return ssize_t.
* lib/syslog.c: Add include of <string.h> to eliminate warning.
* lib/tftpDriver.c: read and write filesystem routines return ssize_t.
* libc/gethostbydns.c: Prototype abort().
* libc/inet_ntoa.c: Prototype strcpy().
* libc/rcmd.c: Add include of <sys/select.h>
* net/if_loop.c: Turn token at end of endif to comment.
* net/rtsock.c, nfs/bootp_subr.c: Conditional SYSINIT() usage
on __rtems__.
* rtems/rtems_bootp.c: Add include of <rtems/rtems_bsdnet_internal.h>.
* rtems/rtems_bsdnet_internal.h: Added prototypes for memcpy() and
memset() since the BSD code tries to avoid using libc .h files
since it is used to being in the kernel.
* rtems/rtems_syscall.c: read and write filesystem routines
return ssize_t.
|
|
|
|
|
| |
* rtems/rtems_glue.c: Add IP aliasing ioctls SIOCAIFADDR and
SIOCDIFADDR.
|
|
|
|
|
| |
* rtems/mkrootfs.c: As part of PR283, remove redundant code that
creates /etc/passwd and /etc/group.
|
|
|
|
|
|
|
|
| |
* rtems/rtems_glue.c: Per PR270, the BSD network code expects that
the value of the number of seconds since boot is non-zero. The
RTEMS network initialization code assures this by waiting for a
second. A more efficient technique is to simply wait until the
number of seconds since boot is non-zero.
|
|
|
|
|
|
|
|
|
|
| |
* machine/types.h: Removed as a simpler version of this file is
now part of the RTEMS newlib support.
* machine/Makefile.am, machine/endian.h, nfs/bootp_subr.c,
rtems/rtems_bsdnet_internal.h, sys/Makefile.am, sys/systm.h:
Minor modifications to use the simpler machine/types.h. Mostly
more complete sets of #include's to account for machine/types.h
no longer doing this.
|
|
|
|
|
|
|
|
|
|
|
| |
* kern/Makefile.am: Use .$(OBJEXT) instead of .o.
* lib/Makefile.am: Ditto.
* libc/Makefile.am: Ditto.
* net/Makefile.am: Ditto.
* netinet/Makefile.am: Ditto.
* nfs/Makefile.am: Ditto.
* rtems/Makefile.am: Ditto.
* wrapup/Makefile.am: Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* kern/Makefile.am: Eliminate LIBNAME.
* lib/Makefile.am: Ditto.
* libc/Makefile.am: Ditto.
* net/Makefile.am: Ditto.
* netinet/Makefile.am: Ditto.
* nfs/Makefile.am: Ditto.
* rtems/Makefile.am: Ditto.
* wrapup/Makefile.am: Use project_libdir instead of
$(PROJECT_RELEASE)/lib.
|
|
|
|
|
|
| |
* Addition of a ftp client filesystem, comparable to the tftp one.
* lib/ftpfs.c, rtems/ftpfs.h: New files.
* lib/Makefile.am, rtems/Makefile.am: Modified to reflect above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* arpa/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* kern/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* Makefile.am: Include $(top_srcdir)/../automake/*.am.
Use ../aclocal.
* lib/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* libc/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* machine/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* net/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* netinet/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* nfs/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* rtems/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* sys/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* vm/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* wrapup/Makefile.am: Include $(top_srcdir)/../automake/*.am.
|
|
|
|
| |
* rtems/Makefile.am: include multilib.am instead of RTEMS_BSP.cfg.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Relocate c/src/libnetworking.
* Makefile.am: Reflect moval.
* machine/Makefile.am: Ditto.
* net/Makefile.am: Ditto.
* lib/Makefile.am: Ditto.
* netinet/Makefile.am: Ditto.
* vm/Makefile.am: Ditto.
* libc/Makefile.am: Ditto.
* sys/Makefile.am: Ditto.
* arpa/Makefile.am: Ditto.
* nfs/Makefile.am: Ditto.
* kern/Makefile.am: Ditto.
* rtems/Makefile.am: Ditto.
* configure.ac: Dittp.
* wrapup/Makefile.am: Ditto. Remove references to networking apps.
|
|
|
|
|
|
| |
* rtems/mkrootfs.c: Add (relocated from libmisc/rootfs).
* rtems/mkrootfs.h: Ditto.
* rtems/Makefile.am: Reflect changes above.
|
|
|
|
|
|
|
| |
* c/src/libnetworking/rtems/rtems_bsdnet.h: To address PR59, added
the drv_ctrl driver control block field to the ifconfig network driver
structure. This field is needed by the i82586 driver which was ported
from NetBSD as it had better hardware abstraction.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac:
AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
AM_INIT_AUTOMAKE([no-define foreign 1.6]).
* arpa/Makefile.am: Remove AUTOMAKE_OPTIONS.
* kern/Makefile.am: Remove AUTOMAKE_OPTIONS.
* Makefile.am: Remove AUTOMAKE_OPTIONS.
* lib/Makefile.am: Remove AUTOMAKE_OPTIONS.
* libc/Makefile.am: Remove AUTOMAKE_OPTIONS.
* machine/Makefile.am: Remove AUTOMAKE_OPTIONS.
* net/Makefile.am: Remove AUTOMAKE_OPTIONS.
* netinet/Makefile.am: Remove AUTOMAKE_OPTIONS.
* nfs/Makefile.am: Remove AUTOMAKE_OPTIONS.
* pppd/Makefile.am: Remove AUTOMAKE_OPTIONS.
* rtems/Makefile.am: Remove AUTOMAKE_OPTIONS.
* rtems_servers/Makefile.am: Remove AUTOMAKE_OPTIONS.
* rtems_telnetd/Makefile.am: Remove AUTOMAKE_OPTIONS.
* rtems_webserver/Makefile.am: Remove AUTOMAKE_OPTIONS.
* sys/Makefile.am: Remove AUTOMAKE_OPTIONS.
* vm/Makefile.am: Remove AUTOMAKE_OPTIONS.
* wrapup/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
|
|
| |
* rootfs/mkrootfs.c, rootfs/mkrootfs.h: Fixed typo.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* machine/Makefile.am: Use 'PREINSTALL_FILES ='.
* net/Makefile.am: Use 'PREINSTALL_FILES ='.
* netinet/Makefile.am: Use 'PREINSTALL_FILES ='.
* vm/Makefile.am: Use 'PREINSTALL_FILES ='.
* pppd/Makefile.am: Use 'PREINSTALL_FILES ='.
* sys/Makefile.am: Use 'PREINSTALL_FILES ='.
* rtems_servers/Makefile.am: Use 'PREINSTALL_FILES ='.
* arpa/Makefile.am: Use 'PREINSTALL_FILES ='.
* nfs/Makefile.am: Use 'PREINSTALL_FILES ='.
* rtems_webserver/Makefile.am: Use 'PREINSTALL_FILES ='.
* rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
* rtems_telnetd/Makefile.am: Use 'PREINSTALL_FILES ='.
|
|
|
|
|
|
|
| |
* nfs/bootp_subr.c, rtems/rtems_bootp.c, rtems/rtems_bsdnet.h,
rtems/rtems_bsdnet_internal.h Added support for populating the
initial "root" filesystem with information obtained via the DHCP
response.
|
|
|
|
|
|
|
|
|
| |
* Added support for populating the initial "root" filesystem
with information obtained via the DHCP response.
* rootfs: New directory.
* rootfs/.cvsignore, rootfs/Makefile.am, rootfs/mkrootfs.c,
rootfs/mkrootfs.h: New files.
* configure.in, Makefile.am: Modified to reflect addition.
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, arpa/Makefile.am, machine/Makefile.am, net/Makefile.am,
netinet/Makefile.am, nfs/Makefile.am, rtems/Makefile.am,
rtems_servers/Makefile.am, rtems_webserver/Makefile.am,
sys/Makefile.am, vm/Makefile.am:
Apply include_*HEADERS instead of H_FILES.
* include/Makefile.am: Remove.
* Makefile.am: Add handling of *.h files.
* configure.in: Remove include/Makefile.
|
|
|
|
|
|
|
|
|
|
| |
* POSIX include files merged into newlib. This resulted in
some definitions moving to other files and thus some secondary
effects in RTEMS source code.
* machine/types.h: Added _CLOCKID_T_ and _TIMER_T_ to be in sync
with newlib's <machine/types.h>.
* rtems/rtems_bsdnet_internal.h: newlib now includes definition
of struct itimerval in <sys/time.h>.
|
|
|
|
|
|
| |
* lib/tftpDriver.c: add comments to handlers struct function pointers.
* rtems/rtems_glue.c: move pointer arithmetic to be _after_
pointer has been checked against NULL.
|
|
|
|
|
|
|
|
|
|
| |
* machine/types.h, pppd/pppd.h, rtems/rtems_bsdnet_internal.h,
rtems_webserver/webmain.c: machine/types.h should not have
included rtems.h. It is now including precisely the
least amount of low level, yet portable .h files to get
the basic RTEMS types defined. This rippled into other
files since rtems_bsdnet_internal.h used machine/types.h to include
rtems.h.
|
|
|
|
|
|
|
| |
* kern/Makefile.am, lib/Makefile.am, libc/Makefile.am,
net/Makefile.am, netinet/Makefile.am, nfs/Makefile.am,
pppd/Makefile.am, rtems/Makefile.am, rtems_servers/Makefile.am,
rtems_webserver/Makefile.am, wrapup/Makefile.am: Include compile.am
|
|
|
|
|
|
| |
* rtems/rtems_syscall.c: Changed from O_NONBLOCK to internal
RTEMS_LIBIO_FLAGS_NO_DELAY to avoid O_NONBLOCK/O_NDELAY confusion
and to work with the converted flags.
|
|
|
|
|
| |
fast mutexes that bypass the API level to directly interface with the
SuperCore.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
initialization. This adds an interface which makes it easier to
control the BSD stack from user code. The BSD stack initialise uses
it. It is a sort of `function' interface for an ifconfig
command.
I also added support for attaching and removing interfaces. With hot
swap PCI comming online support for hot swap PCI will be an important
factor in "state of art" RTOS's. This is also part of a general move on
my part to allow RTEMS to be configured at runtime by calls rather than
table driven at initialisation.
|
| |
|
|
|
|
| |
adds .cvsignore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that contains the automake files for libnetworking plus a couple of
minor fixes. [Now only one unused/unsupported Makefile.in remains
(./c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in).]
To apply:
patch -p1 < rtems-rc-20000118-7.diff
/bin/sh rtems-rc-20000118-7.rm
/bin/sh rtems-rc-20000118-7.add
./bootstrap
Notes:
* I have tested this one by building all BSPs for m68k, powerpc, sh and
unix with toolchains built since last weekend.
* I did not touch libnetworking's directory layout.
|
|
|
|
|
|
|
| |
Janovetz <janovetz@tempest.ece.uiuc.edu> to return a status from
network initialization rather than panic'ing. It changes a bunch
of rtems_panics to printfs and returns a status from
rtems_bsdnet_initialize_network().
|
| |
|
| |
|
|
|
|
|
| |
Patches against 1105 snapshot to add NTP server support to network
configuration/BOOTP.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
the stack will wait for mbufs.
|
| |
|
|
|
|
| |
network stack runs out of mbufs.
|