summaryrefslogtreecommitdiff
path: root/cpukit/libnetworking/rtems/rtems_glue.c (follow)
AgeCommit message (Collapse)Author
2020-04-16Canonicalize config.h includeSebastian Huber
Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
2018-09-10network: Use kernel/user space header filesSebastian Huber
Add and use <machine/rtems-bsd-kernel-space.h> and <machine/rtems-bsd-user-space.h> similar to the libbsd to avoid command line defines and defines scattered throught the code base. Simplify cpukit/libnetworking/Makefile.am. Update #3375.
2018-02-02network: Use self-contained recursive mutexSebastian Huber
Update #2843.
2017-10-24score: Move thread queue timeout handlingSebastian Huber
Update #3117. Update #3182.
2017-06-07Do not include <sys/ioctl.h> in kernel-spaceSebastian Huber
Update #2833.
2017-06-07network: Do not use MSIZESebastian Huber
Do not use the MSIZE for the legacy network stack. Instead use _SYS_MBUF_LEGACY_MSIZE. Update #2833.
2016-09-27score: Unify CORE mutex seize/surrenderSebastian Huber
Use the Thread_Control::resource_count for the no protocol mutexes. Merge the no protocol and priority inherit CORE mutex seize/surrender operations.
2016-09-08score: Introduce Thread_queue_Lock_contextSebastian Huber
Introduce Thread_queue_Lock_context to contain the context necessary for thread queue lock and thread wait lock acquire/release operations to reduce the Thread_Control size.
2016-07-25cpukit: Add and use Watchdog_Discipline.Gedare Bloom
Clock disciplines may be WATCHDOG_RELATIVE, WATCHDOG_ABSOLUTE, or WATCHDOG_NO_TIMEOUT. A discipline of WATCHDOG_RELATIVE with a timeout of WATCHDOG_NO_TIMEOUT is equivalent to a discipline of WATCHDOG_NO_TIMEOUT. updates #2732
2016-06-28libnetworking: Import current <arpa/inet.h>Christian Mauderer
Import the <arpa/inet.h> from current FreeBSD. Necessary due to changes in <netinet/in.h>. Remove BSD hack from <arpa/inet.h>. Clean up problems with htonl(). These functions are defined in <arpa/inet.h>. This lead to some problems because they are defined in <rtems/endian.h> too. Add NTOHL, ... to <rtems/rtems_bsdnet_internal.h>.
2016-05-30score: Rework CORE inherit priority mutexSebastian Huber
Provide dedicated seize and surrender methods for inherit priority mutexes. This eliminates CORE_mutex_Attributes.
2016-05-30score: Add CORE mutex variantsSebastian Huber
Add CORE_recursive_mutex_Control and CORE_ceiling_mutex_Control to avoid the run-time evaluation of attributes to figure out how a particular mutex methods should behave. Start with the no protocol variants. This eliminates the CORE_MUTEX_DISCIPLINES_FIFO and CORE_MUTEX_DISCIPLINES_PRIORITY disciplines.
2016-05-30score: Add _Thread_queue_Context_set_MP_callout()Sebastian Huber
Add _Thread_queue_Context_set_MP_callout() to simplify _Thread_queue_Context_initialize(). This makes it possible to more easily add additional fields to Thread_queue_Context.
2016-05-26score: Add Status_Control for all APIsSebastian Huber
Unify the status codes of the Classic and POSIX API to use the new enum Status_Control. This eliminates the Thread_Control::Wait::timeout_code field and the timeout parameter of _Thread_queue_Enqueue_critical() and _MPCI_Send_request_packet(). It gets rid of the status code translation tables and instead uses simple bit operations to get the status for a particular API. This enables translation of status code constants at compile time. Add _Thread_Wait_get_status() to avoid direct access of thread internal data structures.
2016-05-25score: Move thread queue MP callout to contextSebastian Huber
Drop the multiprocessing (MP) dependent callout parameter from the thread queue extract, dequeue, flush and unblock methods. Merge this parameter with the lock context into new structure Thread_queue_Context. This helps to gets rid of the conditionally compiled method call helpers.
2016-05-25score: Get rid of mp_id parameterSebastian Huber
Get rid of the mp_id parameter used for some thread queue methods. Use THREAD_QUEUE_QUEUE_TO_OBJECT() instead.
2016-05-02rtems: Avoid Giant lock for semaphoresSebastian Huber
Update #2555.
2016-04-22network: Fix warningsSebastian Huber
2016-04-21score: Remove id parameter _CORE_mutex_Seize()Sebastian Huber
Parameter was unused.
2016-04-06score: Rework MP thread queue callout supportSebastian Huber
The thread queue implementation was heavily reworked to support SMP. This broke the multiprocessing support of the thread queues. This is fixed by this patch. A thread proxy is unblocked due to three reasons 1) timeout, 2) request satisfaction, and 3) extraction. In case 1) no MPCI message must be sent. This is ensured via the _Thread_queue_MP_callout_do_nothing() callout set during _Thread_MP_Allocate_proxy(). In case 2) and 3) an MPCI message must be sent. In case we interrupt the blocking operation during _Thread_queue_Enqueue_critical(), then this message must be sent by the blocking thread. For this the new fields Thread_Proxy_control::thread_queue_callout and Thread_Proxy_control::thread_queue_id are used. Delete the individual API MP callout types and use Thread_queue_MP_callout throughout. This type is only defined in multiprocessing configurations. Prefix the multiprocessing parameters with mp_ to ease code review. Multiprocessing specific parameters are optional due to use of a similar macro pattern. There is no overhead for non-multiprocessing configurations.
2016-03-29network: Special case for RTEMS_MULTIPROCESSINGSebastian Huber
Allow network tasks to run with priority 0 (PRIORITY_PSEUDO_ISR).
2015-05-20timecounter: Use in RTEMSAlexander Krutwig
Replace timestamp implementation with FreeBSD bintime and timecounters. New test sptests/sptimecounter02. Update #2271.
2015-05-19score: Fine grained locking for mutexesSebastian Huber
Update #2273.
2015-04-21score: _Objects_Get_isr_disable()Sebastian Huber
Use ISR_lock_Context instead of ISR_Level to allow use of ISR locks for low-level locking. Update #2273.
2015-03-09network: Avoid clash with FreeBSD <sys/time.h>Sebastian Huber
2015-02-24Panic on RTEMS_FAST_MUTEX network semaphore claim/release.Chris Johns
Fix the code to panic rather than perform a bad access if the network semaphore is accessed without the stack being intialised. Closes #2229.
2015-01-20libnetworking: Fix close of active socketsSebastian Huber
Send a special event to notify tasks waiting for a socket state change in case this socket gets closed. This prevents a use after free. Close #785.
2015-01-15libnetworking: Simplify sbwait()Sebastian Huber
2014-12-02net: Add network task affinity configDaniel Cederman
This patch adds a default network tasks CPU affinity configuration option. The network drivers have the option to create their own daemon tasks with a custom CPU affinity set, or rely on the default set.
2013-08-08PR766: Delete __RTEMS_VIOLATE_KERNEL_VISIBILITY__Sebastian Huber
2013-07-22network: SMP support for network semaphoreSebastian Huber
2013-07-18score: Avoid direct usage of _Thread_ExecutingSebastian Huber
Pass the executing thread as a function parameter. Obtain the executing thread inside a thread dispatch critical section to avoid problems on SMP.
2013-07-18score: Create mutex implementation headerSebastian Huber
Move implementation specific parts of coremutex.h and coremutex.inl into new header file coremuteximpl.h. The coremutex.h contains now only the application visible API.
2013-07-18rtems: Create semaphore implementation headerSebastian Huber
Move implementation specific parts of sem.h and sem.inl into new header file semimpl.h. The sem.h contains now only the application visible API.
2012-12-18libnetworking: Make functions publicSebastian Huber
Make functions rtems_bsdnet_semaphore_obtain_recursive() and rtems_bsdnet_semaphore_release_recursive() public.
2012-11-21libnetworking: Use rtems_clock_get_uptime_secondsSebastian Huber
This reduces the start-up time of the network stack. With a 1ms tick the ticks since boot value overflows after approximately 50 days. This problem is avoided with the rtems_clock_get_uptime_seconds() function.
2012-11-21libnetworking: Use rtems_clock_get_uptime_timevalSebastian Huber
2012-11-02libnetworking: Avoid deadlock during starvationSebastian Huber
2012-11-02libnetworking: Use system eventsSebastian Huber
Add reserved system events RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT and RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP. Add and use rtems_bsdnet_event_send().
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill
Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
2010-12-082010-12-08 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber
* libnetworking/loop.h, libnetworking/net/if_loop.c, libnetworking/rtems/rtems_glue.c, libmisc/dummy/dummy-networking.c: Initialize loop back interface during normal initialization via rtems_bsdnet_initialize_network().
2009-12-172009-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill
* libcsupport/src/termios.c, libfs/src/dosfs/msdos_format.c, libfs/src/nfsclient/src/nfs.c, libfs/src/pipe/fifo.c, libnetworking/lib/rtems_bsdnet_ntp.c, libnetworking/lib/tftpDriver.c, libnetworking/rtems/rtems_glue.c, libnetworking/rtems/rtems_select.c: Eliminate uses of deprecated rtems_clock_get() and replace with properly typed routine.
2008-10-10libnetworking/rtems/rtems_glue.c: Copy nothing if ↵Thomas Doerfler
rtems_bsdnet_parse_driver_name() if namep is NULL. include/rtems/status-checks.h: Added prefix "RTEMS" for all macros. Doxygen style comments. Cleanup.
2008-09-01Stop using old-style function definitions.Ralf Corsepius
2008-08-182008-08-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill
* libnetworking/lib/ftpfs.c, libnetworking/libc/inet_ntoa.c, libnetworking/libc/rcmd.c, libnetworking/nfs/bootp_subr.c, libnetworking/rtems/rtems_glue.c, libnetworking/rtems/rtems_malloc_mbuf.c, libnetworking/rtems/rtems_showicmpstat.c, libnetworking/sys/malloc.h: Fix some warnings.
2008-05-012008-05-01 Maarten Van Es <maarten@mind.be>Chris Johns
* libnetworking/rtems/rtems_dhcp.c: Removed panic()s. Added interface for rtems_dhcp_failsafe. * libnetworking/rtems/rtems_dhcp.h: Added interface for rtems_dhcp_failsafe. 2008-05-01 Arnout Vandecappelle <arnout@mind.be> * libnetworking/nfs/bootp_subr: Allow some errors for sosend() and return on timeout in bootpc_call(). Removed panic()s. * libnetworking/rtems/rtems_glue.c: Fix the cast for the SIOCAIFADDR ioctl call. * libnetworking/rtems/rtems_dhcp_failsafe.c, libnetworking/rtems/rtems_dhcp_failsafe.h: New. * libnetworking/Makefile.am, libnetworking/preinstall.am: Added rtems_dhcp_failsafe.c and rtems_dhcp_failsafe.h files.
2008-02-052008-02-05 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill
* libnetworking/kern/uipc_socket2.c, libnetworking/netinet/tcp_usrreq.c, libnetworking/netinet/udp_usrreq.c, libnetworking/rtems/rtems_bsdnet.h, libnetworking/rtems/rtems_glue.c: Add configuration parameters for network stack efficiency multiplier and default socket buffer sizes. Change default multiplier from 8 to 2 to match GNU/Linux. This has no impact on performance on the BSPs tested.
2007-12-222007-12-22 Chris Johns <chrisj@rtems.org>Chris Johns
* configure.ac: fixed bug that always enabled strict order mutexes. * score/inline/rtems/score/coremutex.inl: Fixed coding standard. * score/src/coremutex.c: Add the holder's thread to the lock_mutex list if the mutex is initialised locked. * libnetworking/rtems/rtems_glue.c: Changed semaphore error message to show the error is an rtems-net error. * libmisc/monitor/mon-network.c: Removed warnings. * telnetd/icmds.c: Changed shell_* to rtems_shell_*. * score/Makefile.am: Fixed typo that stopped 'make tags' working. * libmisc/shell/err.c, libmisc/shell/err.h, libmisc/shell/errx.c, libmisc/shell/extern-cp.h, libmisc/shell/fts.c, libmisc/shell/fts.h, libmisc/shell/main_cp.c, libmisc/shell/utils-cp.c, libmisc/shell/verr.c, libmisc/shell/verrx.c, libmisc/shell/vwarn.c, libmisc/shell/vwarnx.c, libmisc/shell/warn.c, libmisc/shell/warnx.c: New. Ported from BSD. * libmisc/shell/shellconfig.h: Add the cp command. * libmisc/Makefile.am: Add the new files to the shell. * libmisc/shell/shell.c, libmisc/shell/shell.h: Add scripting support. * libblock/src/flashdisk.c: Fixed disk drive count size setting bug.
2007-11-172007-11-17 Till Straumann <strauman@slac.stanford.edu>Till Straumann
* libnetworking/rtems/rtems_glue.c: let rtems_bsdnet_ifconfig (SIOCGIFMEDIA) pass the user parameter down to the ioctl so that it knows what PHY they want to look at.
2007-08-012007-07-31 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill
PR 1248/networking * libnetworking/rtems/rtems_glue.c: Luke Stras <luke@spacequest.com> reported that when no interfaces are successfully attached, the default route is broken and may result in a jump to an illegal address.