nuttx/include
Alexander Lunev 36fbedcbfc net/devif/devif_callback.c: corrected the connection event list to work as FIFO instead of LIFO.
In case of enabled packet forwarding mode, packets were forwarded in a reverse order
because of LIFO behavior of the connection event list.
The issue exposed only during high network traffic. Thus the event list started to grow
that resulted in changing the order of packets inside of groups of several packets
like the following: 3, 2, 1, 6, 5, 4, 8, 7 etc.

Remarks concerning the connection event list implementation:
* Now the queue (list) is FIFO as it should be.
* The list is singly linked.
* The list has a head pointer (inside of outer net_driver_s structure),
  and a tail pointer is added into outer net_driver_s structure.
* The list item is devif_callback_s structure.
  It still has two pointers to two different list chains (*nxtconn and *nxtdev).
* As before the first argument (*dev) of the list functions can be NULL,
  while the other argument (*list) is effective (not NULL).
* An extra (*tail) argument is added to devif_callback_alloc()
  and devif_conn_callback_free() functions.
* devif_callback_alloc() time complexity is O(1) (i.e. O(n) to fill the whole list).
* devif_callback_free() time complexity is O(n) (i.e. O(n^2) to empty the whole list).
* devif_conn_event() time complexity is O(n).
2021-09-18 21:01:39 -05:00
..
arpa netinet: move the byte ordering convert functions to "netinet/in.h" 2021-06-09 12:04:25 -05:00
cxx libc/pty: Make ptsname[_r] support PSEUDOTERM_BSD config too 2021-05-07 16:35:20 -03:00
net net: Add if_nameindex and if_freenameindex API 2021-06-26 22:37:12 +01:00
netinet include/netinet: Add missing IP_TTL definition 2021-07-12 16:30:37 -03:00
netpacket Add include header file <sys/types.h> to rpmsg.h. 2021-07-06 05:23:46 -05:00
nuttx net/devif/devif_callback.c: corrected the connection event list to work as FIFO instead of LIFO. 2021-09-18 21:01:39 -05:00
sys sys/socket/scm: add more socket message control helper 2021-09-15 12:04:01 +08:00
.gitignore build: Remve the unnecessary .gitignore 2020-05-23 18:00:40 +01:00
aio.h fs: Change off_t and related types to int64_t if long long is supported 2021-08-04 06:48:30 -07:00
alloca.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
assert.h libc/assert: Reference the expression in all case 2021-04-03 21:00:41 +01:00
byteswap.h byteswap.h: add byteswap.h header file 2021-08-20 07:47:07 -07:00
crc8.h Increase the function of crc8 to use custom polynomials 2021-07-12 20:33:21 -07:00
crc16.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
crc32.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
crc64.h include: nuttx: fix nxstyle errors 2021-02-04 03:33:58 -08:00
ctype.h libc: Implement local_t related functions 2021-07-30 09:43:26 -03:00
debug.h drivers/video: Replace error output macro to verr 2021-09-15 07:06:35 +02:00
dirent.h fs: Change off_t and related types to int64_t if long long is supported 2021-08-04 06:48:30 -07:00
dlfcn.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
dsp.h Fix typos in comments and identifiers 2021-07-19 22:55:30 -03:00
dspb16.h Fix typos in comments and identifiers 2021-07-19 22:55:30 -03:00
elf32.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
elf64.h Add missing Elf_Addr typedef 2020-04-30 08:46:21 -06:00
elf.h arch: Select 64bit elf base on the architecture characteristic 2020-05-31 21:38:32 -07:00
endian.h endian.h: add prefix for __LITTLE/__BIG_ENDIAN, __BYTE_ODRER 2021-08-20 07:47:07 -07:00
errno.h errno: use staic errno to replace tl_errno before tls initialization 2021-09-12 11:48:31 +08:00
execinfo.h sched/backtrace: add sched_backtrace support 2021-08-19 01:30:50 -07:00
fcntl.h fs: Change off_t and related types to int64_t if long long is supported 2021-08-04 06:48:30 -07:00
fenv.h libc: Implement fesetround & fegetround for arm 2021-06-24 08:47:34 -03:00
fixedmath.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
fnmatch.h libc: Rename match to fnmatch 2021-08-02 08:23:35 -03:00
ftw.h fs: Change off_t and related types to int64_t if long long is supported 2021-08-04 06:48:30 -07:00
getopt.h Implement getopt_long() and getopt_long_only() 2021-04-01 23:06:23 -05:00
grp.h libs/libc: License Clearance 2021-03-02 03:44:06 -08:00
hex2bin.h Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
inttypes.h fs: Change off_t and related types to int64_t if long long is supported 2021-08-04 06:48:30 -07:00
iso646.h include: Add iso646.h for alternative spellings 2021-03-04 18:32:12 -08:00
langinfo.h libc: Add the empty nl_langinfo implementation 2021-07-31 15:35:47 -03:00
libgen.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
libintl.h libc: Implement gettext function 2021-08-03 12:14:07 -03:00
limits.h libc: Implement ttyname and ttyname_r 2021-07-09 18:23:34 -03:00
locale.h libc: Reorder LC_XXX as Linux 2021-07-31 15:35:47 -03:00
lzf.h sourcefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
malloc.h mm: Support malloc_size function 2021-07-04 18:53:44 -03:00
mqueue.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
netdb.h libc/rexec/rexec_af: support remote execution 2021-09-12 21:14:06 +08:00
nl_types.h libc: Support message catalog function 2021-08-02 08:24:59 -03:00
nxflat.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
poll.h sched: Add include/sys/poll.h 2021-01-06 14:23:50 +08:00
pthread.h sched: Don't include nuttx/sched.h inside sched.h 2021-05-24 12:11:53 +09:00
pty.h libc: Implement openpty function 2021-05-12 21:08:23 -07:00
pwd.h libc/pwd: Add NSS_BUFLEN_PASSWD macro 2021-05-11 16:40:33 +01:00
queue.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
resolv.h libc: Add b64_ntop and b64_pton implementation 2020-12-28 13:53:20 -03:00
sched.h sched/backtrace: add sched_backtrace support 2021-08-19 01:30:50 -07:00
semaphore.h sched: Don't include nuttx/sched.h inside sched.h 2021-05-24 12:11:53 +09:00
signal.h signal: Fix docs and comments related to SIGWORK and its config 2021-06-30 21:22:49 -05:00
spawn.h Rename LIB_ to LIBC_ for all libc Kconfig 2021-08-05 19:45:24 +02:00
stdbool.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
stddef.h stddef: Let offset be defined from toolchain 2021-08-27 08:55:45 -07:00
stdint.h stdint.h: Use conversion macros for the definition of MIN and MAX constants 2021-02-18 18:35:35 -08:00
stdio.h lib_vsprintf: Add %pV format support 2021-09-12 21:14:46 +08:00
stdlib.h fs: Change off_t and related types to int64_t if long long is supported 2021-08-04 06:48:30 -07:00
stdnoreturn.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
string.h libc: Implement local_t related functions 2021-07-30 09:43:26 -03:00
strings.h libc: Implement local_t related functions 2021-07-30 09:43:26 -03:00
syscall.h include: Author: Gregory Nutt: update licenses to Apache 2.0 2021-02-04 03:33:58 -08:00
syslog.h include/debug.h/syslog.h: Fix small typos and repeated words 2021-03-22 06:06:44 -07:00
termios.h include/termios: left shift of 1 by 31 places cannot be represented in type 'int' 2021-05-15 09:20:55 -07:00
threads.h include/threads: Fix pthread_mutexattr_t initialization on mtx_init 2021-08-31 11:21:22 +08:00
time.h libc: Implement local_t related functions 2021-07-30 09:43:26 -03:00
unistd.h fs: Change off_t and related types to int64_t if long long is supported 2021-08-04 06:48:30 -07:00
utime.h libc: Implement utime on top of utimes 2021-07-09 15:51:28 -03:00
uuid.h libc: Add uuid implemenation 2020-07-21 21:48:18 -07:00
wchar.h libc: Implement local_t related functions 2021-07-30 09:43:26 -03:00
wctype.h libc: Implement local_t related functions 2021-07-30 09:43:26 -03:00