nuttx/net/tcp
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
..
Kconfig net/tcp: add window scale support 2021-07-07 03:55:41 -05:00
Make.defs net/inet: add support of FIONREAD 2021-07-05 06:20:52 -05:00
tcp_accept.c net: Author Gregory Nutt: update licenses to Apache 2021-02-20 00:38:18 -08:00
tcp_appsend.c tcp_rexmit: advance conn->sndseq 2021-08-06 21:17:25 -07:00
tcp_backlog.c net: Author Gregory Nutt: update licenses to Apache 2021-02-20 00:38:18 -08:00
tcp_callback.c tcp: simplify readahead 2021-06-30 06:22:14 +09:00
tcp_close.c tcp_close: Fix a race with passive close 2021-07-02 13:54:15 +09:00
tcp_conn.c net/socket: add SO_SNDBUF support 2021-07-20 20:24:58 -07:00
tcp_connect.c net/tcp: add nonblock connect(2) support 2021-08-19 19:19:05 -07:00
tcp_devpoll.c Standardization of some function headers. 2018-03-13 09:52:27 -06:00
tcp_finddev.c net: Author Gregory Nutt: update licenses to Apache 2021-02-20 00:38:18 -08:00
tcp_getsockopt.c net/tcp: only print the error when disable the TCP_NODELAY 2021-07-13 09:44:19 -03:00
tcp_input.c tcp_input: snd_wnd processing 2021-08-25 20:56:05 +08:00
tcp_ioctl.c net/inet: add support of FIONREAD 2021-07-05 06:20:52 -05:00
tcp_ipselect.c net: Author Gregory Nutt: update licenses to Apache 2021-02-20 00:38:18 -08:00
tcp_listen.c Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
tcp_monitor.c 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
tcp_netpoll.c net/tcp: add nonblock connect(2) support 2021-08-19 19:19:05 -07:00
tcp_notifier.c tcp: simplify readahead 2021-06-30 06:22:14 +09:00
tcp_recvfrom.c tcp: simplify readahead 2021-06-30 06:22:14 +09:00
tcp_recvwindow.c net/tcp: change all window relative value type to uint32_t 2021-07-07 03:55:41 -05:00
tcp_send_buffered.c tcp_send_buffered.c: Fix snd_wnd 2021-08-25 20:56:05 +08:00
tcp_send_unbuffered.c Attempt to fix race condition reported in issue #3647 2021-07-04 08:54:15 -05:00
tcp_send.c net: Rename IP_TTL to IP_TTL_DEFAULT 2021-07-12 16:30:37 -03:00
tcp_sendfile.c author: UVC Ingenieure : update licenses to Apache 2021-09-15 15:57:55 +08:00
tcp_seqno.c net/: Fix alignment and spacing problems found by tools/nxstyle. 2019-07-02 18:02:23 -06:00
tcp_setsockopt.c net/tcp: only print the error when disable the TCP_NODELAY 2021-07-13 09:44:19 -03:00
tcp_timer.c net/tcp: reset the connection ref count before tcp_free() 2021-03-22 10:55:30 +09:00
tcp_txdrain.c sched: Don't include nuttx/sched.h inside sched.h 2021-05-24 12:11:53 +09:00
tcp_wrbuffer_dump.c net: Author Gregory Nutt: update licenses to Apache 2021-02-20 00:38:18 -08:00
tcp_wrbuffer.c tcp_send_buffered: throttle IOB allocations for send 2021-07-14 15:08:18 +08:00
tcp.h 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