nuttx/net/icmpv6
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
..
icmpv6_advertise.c Back in 2007, an early network implementation was developed for NuttX. This early development was inspired largely by uIP 1.0 and recognition of that was noted in the then BSD license headers. Over the next 14 years, a new, much more advanced, original network was developed for NuttX. However, some references to Adam Dunkels were still present in the file headers. 2021-09-17 21:49:44 -05:00
icmpv6_autoconfig.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
icmpv6_conn.c sourcefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
icmpv6_input.c Back in 2007, an early network implementation was developed for NuttX. This early development was inspired largely by uIP 1.0 and recognition of that was noted in the then BSD license headers. Over the next 14 years, a new, much more advanced, original network was developed for NuttX. However, some references to Adam Dunkels were still present in the file headers. 2021-09-17 21:49:44 -05:00
icmpv6_linkipaddr.c Fix nxstyle warning 2020-08-22 17:37:21 -06:00
icmpv6_neighbor.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
icmpv6_netpoll.c Include assert.h in necessary place 2021-06-08 13:06:08 -07:00
icmpv6_notify.c Include assert.h in necessary place 2021-06-08 13:06:08 -07:00
icmpv6_poll.c net: Author Gregory Nutt: update licenses to Apache 2021-02-20 00:38:18 -08:00
icmpv6_radvertise.c Back in 2007, an early network implementation was developed for NuttX. This early development was inspired largely by uIP 1.0 and recognition of that was noted in the then BSD license headers. Over the next 14 years, a new, much more advanced, original network was developed for NuttX. However, some references to Adam Dunkels were still present in the file headers. 2021-09-17 21:49:44 -05:00
icmpv6_recvmsg.c net/icmp: fix race condition in icmp recvmsg 2021-06-07 22:17:50 -05:00
icmpv6_rnotify.c Include assert.h in necessary place 2021-06-08 13:06:08 -07:00
icmpv6_rsolicit.c net: Author Gregory Nutt: update licenses to Apache 2021-02-20 00:38:18 -08:00
icmpv6_sendmsg.c net/socket: move si_send/recv into sendmsg/recvmsg 2021-03-05 04:46:13 -08:00
icmpv6_sockif.c net/icmp: add nonblocking support 2021-06-07 22:17:50 -05:00
icmpv6_solicit.c net: Author Gregory Nutt: update licenses to Apache 2021-02-20 00:38:18 -08:00
icmpv6.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
Kconfig Squashed commit of the following: 2019-12-31 09:26:14 -06:00
Make.defs net/socket: move si_send/recv into sendmsg/recvmsg 2021-03-05 04:46:13 -08:00