incubator-nuttx/net
chao.an 0636c17a63 net/tcp: wave hands on background
The time consuming of tcp waving hands(close(2)) will be affected
by network jitter, especially the wireless device cannot receive
the last-ack under worst environment, in this change we move the
tcp close callback into background and invoke the resource free
from workqueue, which will avoid the user application from being
blocked for a long time and unable to return in the call of close

Signed-off-by: chao.an <anchao@xiaomi.com>
2022-06-09 18:19:25 +03:00
..
arp net: Remove devif_timer from comment 2022-06-07 20:15:41 +03:00
bluetooth net: Remove the unnecessary initialization code 2022-03-12 19:24:17 +02:00
can net: Fix typos, update comments in Kconfigs 2022-05-06 08:54:58 +02:00
devif Packet dropped in IPv4/v6 input is now an info, not a warning 2022-06-09 16:07:34 +02:00
icmp icmp: Fixed replies to broadcasts. 2022-05-13 20:22:06 +08:00
icmpv6 net: tcp/udp/icmp/icmpv6 add FIONSPACE support 2022-04-02 13:39:38 +08:00
ieee802154 net: Remove the unnecessary initialization code 2022-03-12 19:24:17 +02:00
igmp net/igmp: Remove igmp_initialize 2022-03-12 19:24:17 +02:00
inet tcp: added debug asserts and logging to investigate the rare (conn->dev == NULL) bug in callback handlers 2022-02-26 11:48:07 -03:00
ipforward net: Remove devif_timer from comment 2022-06-07 20:15:41 +03:00
local fs/poll: change format for type pollevent_t 2022-04-07 12:14:06 +08:00
mld net/tcp/netdev/mld: correct the netlock handling 2022-02-03 11:09:18 -03:00
neighbor net: use HTONS, NTOHS, HTONL, NTOHL macro in kernel code 2022-01-18 10:59:47 +01:00
netdev sched/wqueue: Change the return type of work_notifier_teardown to void 2022-05-14 00:35:29 +03:00
netlink Fix ENOENT errors when polling on Netlink socket 2022-05-14 00:35:29 +03:00
pkt net: Remove the unnecessary initialization code 2022-03-12 19:24:17 +02:00
procfs libc: Rename match to fnmatch 2021-08-02 08:23:35 -03:00
route use rmutex inside of all repeated implementation 2022-05-30 19:43:48 +08:00
rpmsg openamp: Change the dependence from OPENAMP to RPTUN 2022-04-05 10:05:41 +03:00
sixlowpan net: Remove devif_timer from comment 2022-06-07 20:15:41 +03:00
socket net:fix coverity warning 2022-04-03 14:37:53 +03:00
tcp net/tcp: wave hands on background 2022-06-09 18:19:25 +03:00
udp sched/wqueue: Change the return type of work_notifier_teardown to void 2022-05-14 00:35:29 +03:00
usrsock fix: usrsock iovec_do skip empty iov 2022-04-14 02:47:31 +08:00
utils Replace nxsem_timedwait_uninterruptible with nxsem_tickwait_uninterruptible 2022-05-15 13:55:58 +03:00
Kconfig net: Fix typos, update comments in Kconfigs 2022-05-06 08:54:58 +02:00
Makefile net/socket_rpmsg: add net socket rpmsg support 2021-03-07 01:45:51 -08:00
README.txt net/loopback: Move g_lo_* global variable to libc/net/ 2020-03-30 09:47:28 -06:00
net_initialize.c net: Reoder the initialize sequence(mac->ip->tcp/udp) 2022-03-12 19:24:17 +02:00

README.txt

README
======

Directory Structure
===================

  nuttx/
   |
   `- net/
       |
       +- arp        - Address resolution protocol (IPv4)
       +- bluetooth  - PF_BLUETOOTH socket interface
       +- devif      - Stack/device interface layer
       +- icmp       - Internet Control Message Protocol (IPv4)
       +- icmpv6     - Internet Control Message Protocol (IPv6)
       +- ieee802154 - PF_IEEE802154 socket interface
       +- inet       - PF_INET/PF_INET6 socket interface
       +- ipforward  - IP forwarding logic
       +- local      - Unix domain (local) sockets
       +- mld        - Multicast Listener Discovery (MLD)
       +- neighbor   - Neighbor Discovery Protocol (IPv6)
       +- netdev     - Socket network device interface
       +- netlink    - Netlink IPC socket interface
       +- pkt        - "Raw" packet socket support
       +- sixlowpan  - 6LoWPAN implementation
       +- socket     - BSD socket interface
       +- route      - Routing table support
       +- tcp        - Transmission Control Protocol
       +- udp        - User Datagram Protocol
       +- usrsock    - User socket API for user-space networking stack
       `- utils      - Miscellaneous utility functions

    +-------------------------------------------------------------------++------------------------+
    |                     Application layer                             || usrsock daemon         |
    +-------------------------------------------------------------------++------------------------+
    +-------------------------------------------------------------------++----------------+ +-----+
    |                   Socket layer (socket/)                          || /dev/usrsock   | |     |
    +-------------------------------------------------------------------++----------------+ |     |
    +------------++--------------------------------------------------++-------------------+ |     |
    |  Network   || Protocol stacks (arp, ipv6, icmp, pkt, tcp, udp) || usrsock/          | |     |
    |   Device   |+--------------------------------------------------++-------------------+ |     |
    | Interface  |+------------------------------------++---------------------------------+ |     |
    | (netdev/)  ||  Network Device Interface (devif/) || Utilities                       | |     |
    +------------++------------------------------------++---------------------------------+ |     |
    +----------------------------------------------------------------+                      |     |
    |                    Network Device Drivers                      |                      | HAL |
    +----------------------------------------------------------------+                      +-----+
    +----------------------------------------------------------------+ +--------------------------+
    |                    Networking Hardware                         | |  Hardware TCP/IP Stack   |
    +----------------------------------------------------------------+ +--------------------------+