Alin Jerpelea
67d02a45eb
net: migrate to SPDX identifier
...
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2024-09-12 01:08:11 +08:00
zhanghongyu
114b8323d6
devif_callback: modify the code logic to conform to the comment
...
The previous logic will caused some tcp flow errors.
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-09-14 18:21:32 +08:00
Fotis Panagiotopoulos
9b4d784307
Improvements in sockets allocation.
2023-02-20 09:06:46 +08:00
chao.an
162fcd10ca
net: cleanup pvconn reference to avoid confuse
...
More reference:
https://github.com/apache/incubator-nuttx/pull/5252
https://github.com/apache/incubator-nuttx/pull/5434
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-08-26 20:58:11 +08:00
Alexander Lunev
5b13797cce
net/tcp/tcp_send*: reliably obtain the TCP connection pointer in TCP event handlers
...
Do not use pvconn argument to get the TCP connection pointer because pvconn is
normally NULL for some events like NETDEV_DOWN. Instead, the TCP connection pointer
can be reliably obtained from the corresponding TCP socket.
2022-01-18 16:14:38 +08:00
Alexander Lunev
8042de1145
net/devif/devif_callback.c: devif_callback_free() call is not needed anymore in devif_callback_alloc()
2022-01-06 22:47:18 +08:00
Xiang Xiao
e27962a997
net/devif: Fix the memory leak in case of netdev isn't alive
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-01-05 22:01:13 +08:00
chao.an
f345f3dc2e
net/devif_callback: add support for CONFIG_NET_ALLOC_CONNS
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-01-02 01:25:14 +08:00
Alexander Lunev
4ac7945676
net/devif/devif_callback.c: made the connection event list doubly linked.
...
The resulting time complexities are as follows:
* devif_callback_alloc() time complexity is O(1) (i.e. O(n) to fill the whole list).
* devif_callback_free() time complexity is O(1) (i.e. O(n) to empty the whole list).
* devif_conn_event() time complexity is O(n).
2021-09-21 03:51:06 -07:00
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
ligd
90f3d2851c
net/devif/devif_callback.c: remove harmful debug check
...
N/A
Cause of curr maybe NULL, and following logic can handle this
Change-Id: I999c051a8f2e2698400fc8793ba068073a306972
Signed-off-by: ligd <liguiding1@xiaomi.com>
2020-10-26 14:19:01 -03:00
YAMAMOTO Takashi
9087eb6d84
net/devif/devif_callback.c: Remove a redundant assignment
...
Found by clang-check:
devif/devif_callback.c:508:7: warning: Value stored to 'cb' is never read
cb = next;
^ ~~~~
1 warning generated.
2020-07-30 16:16:21 +02:00
Gregory Nutt
621151a523
Fix some macOS sim warnings.
...
These warnings fix a class of warnings that I saw during CI checks for macOS sim builds. For example:
devif/devif_callback.c:111:49: warning: for loop has empty body [-Wempty-body]
prev = curr, curr = curr->nxtdev);
^
devif/devif_callback.c:111:49: note: put the semicolon on a separate line to silence this warning
I did not put the semi-colon on a separate line, but used braces.
2020-04-11 22:27:42 +01:00
Xiang Xiao
ea666877f2
net/devif/devif_callback.c: Restore cf9f2c56cb
. That restored change plus the following additional commits reolves the issue raised by Valmantas Palikša.
2019-11-27 07:59:52 -06:00
Gregory Nutt
f1ffb300da
net/devif/devif_callback.c: This commit reverts the core of commit cf9f2c56cb
pending further investigation. Valmantas Palikša reports that this change cause timeout errors during pinging.
2019-11-25 07:34:41 -06:00
Xiang Xiao
cf9f2c56cb
et/devif/devif_callback.c: devif_event_trigger shouldn't return true if triggers & DEVPOLL_MASK equal zero()
2019-11-24 10:11:19 -06:00
Gregory Nutt
1acfac3eb6
net/: More fixes to wrong comments from old change from the interrupt driven network to the work-queue driven network.
2018-06-23 15:03:01 -06:00
Gregory Nutt
7cf88d7dbd
Make sure that labeling is used consistently in all function headers.
2018-02-01 10:00:02 -06:00
Gregory Nutt
cf5cba953d
There was a possible recursion that could eventually overflow the stack. The error occurred when closing the socket with inet_close() while a socket callback was still queued. When the socket callback was executed by devif_conn_event(), this resulted in a call to psock_send_eventhandler() with TCP_CLOSE flag set which then called tcp_lost_connection(). tcp_shutdown_monitor() then called tcp_callback() again, which again called psock_send_eventhandler(), and so on.... Noted by Pascal Speck. Solution is also similar to a solution proposed by Pascal Speck.
2017-10-19 11:55:51 -06:00
Gregory Nutt
88a87f8e3f
6LoWPAN: The original, Contiki-based design used only a single buffer for reassemblying larger packets. This could be a problem issue for hub configurations which really need the capability concurrently reassemble multiple incoming streams concurrently. These was also a design issue in that the reassembly buffer could be corrupted by outgoing packets. The design was extended to support multiple reassembly buffers, each associated with the reassembly tag and source address. This assures that there can be be no corruption of the reassembly once it has started.
2017-08-26 10:00:47 -06:00
Gregory Nutt
bea75baaab
IP forwarding: Two bugfixes (1) IPFWD poll event must be unique and different from other device poll events otherwise, some other waiting task might get the poll, (2) Add logic necessary to forward 6LoWPAN packets.
2017-07-08 09:56:08 -06:00
Gregory Nutt
d5207efb5a
Be consistent... Use Name: consistent in function headers vs Function:
2017-04-21 16:33:14 -06:00
Gregory Nutt
7467329a98
Eliminate CONFIG_NO_NOINTS. Lots of files changed -> lots of testing needed.
2016-12-03 16:28:19 -06:00
Gregory Nutt
2a751068e6
Without lowsyslog() *llerr() is not useful. Eliminate and replace with *err().
2016-06-20 12:44:38 -06:00
Gregory Nutt
43eb04bb8f
Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info().
2016-06-20 11:59:15 -06:00
Gregory Nutt
f4fcdcdb4d
net/: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition.
2016-06-11 17:37:21 -06:00
Gregory Nutt
e99301d7c2
Rename *lldbg to *llerr
2016-06-11 14:55:27 -06:00
Gregory Nutt
1cdc746726
Rename CONFIG_DEBUG to CONFIG_DEBUG_FEATURES
2016-06-11 14:14:08 -06:00
Gregory Nutt
fc3540cffe
Replace all occurrences of vdbg with vinfo
2016-06-11 11:59:51 -06:00
Gregory Nutt
af086c40ff
Remove dangling whitespace
2015-10-04 15:28:54 -06:00
Gregory Nutt
8f7752d956
Networking: Modify how callback structures are stored to avoid another potential use of a stal pointer.
2015-06-03 08:11:57 -06:00
Gregory Nutt
a47a0d237c
Costmetic changes to networking logic
2015-05-31 10:29:53 -06:00
Gregory Nutt
6687e156e6
Revamp last change. IFF_UP only required when allocating callback, not freeing.
2015-05-30 21:13:58 -06:00
Gregory Nutt
0bdf2d5360
UDP Networking: Misc fixes to get the last changes working + cleanup
2015-05-29 14:32:56 -06:00
Gregory Nutt
f10fdf7ad4
Networking: Add a test to see a device pointer is still valid
2015-05-29 11:01:03 -06:00
Gregory Nutt
4747c04c94
Trivial correction to some comments
2015-05-28 19:43:35 -06:00
Gregory Nutt
e81f279315
Networking: Modify event list handling: Now there are two event lists each device structure: (1) One is for ARP and ICMP data related evetns, the other is for device related events. Callback allocation/free routines no accept a device paramter as well as a list: If the device paramter is added, then the callback goes into both the connection-related liast AND the device event list. Thus each socket type can received both custom data-related events as well as common device related events.
2015-05-28 12:01:38 -06:00
Gregory Nutt
b94321cfb4
Extend device specific callbacks to ICMPv6 and ARP. Fix some IPv6 compilation errors that have crept in
2015-05-27 11:39:44 -06:00
Gregory Nutt
cab24a4bd8
Add inclusion of assert.h to so files that use DEBUGASSERT
2014-07-21 18:46:47 -06:00
Gregory Nutt
a6b39d1879
NET: in-progress change... don't use
2014-07-04 16:38:51 -06:00
Gregory Nutt
fa68fcc843
NET: Rename uip_callback_s to devif_callback_s
2014-06-29 12:59:34 -06:00
Gregory Nutt
8e706eb4ff
Rename many functions in net/devif from uip_* to devif_*
2014-06-28 18:36:09 -06:00
Gregory Nutt
5790c94ba3
Rename net/uip to net/devif. Rename uip/uip.h to devif/devif.h
2014-06-28 18:07:02 -06:00