incubator-nuttx/net
ligd 8a3683fb9f rptun: add ns_match callback to resolve rptun deadlock
thread A: accept -> net_lock -> socket_rpmsg_accept
          -> rpmsg_register_callabck -> rptun_lock
thread B: ns_bind -> rpmsg_socket_ns_bind -> get_tx_payload_buffer
          -> rptun_wait_tx -> usrsock_rpmsg_ept_cb -> usrsockdev_write
          -> net_lock -> deadlock

fix:
add ns_match callback

Signed-off-by: ligd <liguiding1@xiaomi.com>
2022-07-27 20:36:51 +08:00
..
arp net: Remove devif_timer from comment 2022-06-07 20:15:41 +03:00
bluetooth net: Fix frame count check fail 2022-07-14 22:56:05 +03:00
can NXStyle and preprocessor fixes 2022-07-25 23:47:05 +08:00
devif Packet dropped in IPv4/v6 input is now an info, not a warning 2022-06-09 16:07:34 +02:00
icmp net/poll: fix race condition if connect free before poll teardown 2022-07-09 19:11:42 +08:00
icmpv6 net/poll: fix race condition if connect free before poll teardown 2022-07-09 19:11:42 +08:00
ieee802154 net: Fix frame count check fail 2022-07-14 22:56:05 +03: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 local: fix nx_style 2022-07-22 14:07:12 +03:00
mld net/tcp/netdev/mld: correct the netlock handling 2022-02-03 11:09:18 -03:00
neighbor
netdev wifi: clear IFF_RUNNING flag when ifdown 2022-07-25 15:29:24 +08: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 Add printflike and scanflike to all printf/scanf like functions 2022-07-18 14:14:36 +03:00
route use rmutex inside of all repeated implementation 2022-05-30 19:43:48 +08:00
rpmsg rptun: add ns_match callback to resolve rptun deadlock 2022-07-27 20:36:51 +08:00
sixlowpan net: Ensure sendmsg and sendfile return -EAGAIN in case of timeout 2022-06-28 06:19:13 +03:00
socket net:fix coverity warning 2022-04-03 14:37:53 +03:00
tcp tcp: check option length before d_len update 2022-07-26 12:05:06 +03:00
udp udp: Use s_sndtimeo as the actual timeout time 2022-07-26 12:06:14 +03:00
usrsock net: Convert DEBUGASSERT(false) into more intuitive DEBUGPANIC() 2022-07-14 12:08:45 +08:00
utils Replace nxsem_timedwait_uninterruptible with nxsem_tickwait_uninterruptible 2022-05-15 13:55:58 +03:00
Kconfig net/slip: Rename and clarify orphaned Kconfig options 2022-07-20 13:17:09 +08:00
Makefile
README.txt
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   |
    +----------------------------------------------------------------+ +--------------------------+