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
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
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
assert.h
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
crc32.h
crc64.h
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
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
elf64.h
elf.h
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
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
grp.h
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
langinfo.h libc: Add the empty nl_langinfo implementation 2021-07-31 15:35:47 -03:00
libgen.h
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
malloc.h mm: Support malloc_size function 2021-07-04 18:53:44 -03:00
mqueue.h
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
poll.h
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
resolv.h
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
stddef.h stddef: Let offset be defined from toolchain 2021-08-27 08:55:45 -07:00
stdint.h
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
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
syslog.h
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
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