nuttx/net
Gregory Nutt 9400cf2cd1 sched/group: On task creation, do not clone uninitialized descriptors.
Sockets are created in two steps:

1. The socket is allocated, then
2. The socket is initialized.

In SMP mode, there is a possibility that a pthread executing one CPU may create a new task while a pthread on another CPU has allocated the socket but not yet initialized it.  This commit updates the socket clone test to assure that the socket is both allocated and initailized.

Without the change, it is possible that uninitialized sockets could be cloned, leading to errors later in the newly started task.
2020-04-28 21:27:05 +01:00
..
arp Fix more warnings noted in PR checks 2020-04-13 02:09:34 +08:00
bluetooth global change: fix tools/checkpatch.sh warnnings 2020-04-09 10:29:28 -06:00
devif Fix some macOS sim warnings. 2020-04-11 22:27:42 +01:00
icmp net/icmp/icmp_input.c: Fix memset() implicit decl warning 2020-02-25 12:17:55 -06:00
icmpv6 Run nxstyle against files modified in previous commit. 2020-04-13 02:09:34 +08:00
ieee802154 global change: fix tools/checkpatch.sh warnnings 2020-04-09 10:29:28 -06:00
igmp global change: fix tools/checkpatch.sh warnnings 2020-04-09 10:29:28 -06:00
inet net/: Whenever the network initializes an IPv4 address, it must clear sin_zero. 2020-02-25 15:53:39 +01:00
ipforward Fix typos in comments and documentation. 2020-03-16 20:01:11 -06:00
local nuttx: Fix the nightly build warning again 2020-04-14 11:22:22 +02:00
mld global change: fix tools/checkpatch.sh warnnings 2020-04-09 10:29:28 -06:00
neighbor Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
netdev Fix nxstyle warning 2020-04-16 11:50:18 -06:00
netlink netlink: add netlink route notify support 2020-04-16 11:49:53 -06:00
pkt Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
procfs Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
route Check return from nxsem_wait_initialize() 2020-03-29 20:11:10 +01:00
sixlowpan Fix sixlowpan_framer.c build warnings under macos 2020-04-17 01:38:40 +08:00
socket sched/group: On task creation, do not clone uninitialized descriptors. 2020-04-28 21:27:05 +01:00
tcp net/tcp/tcp_input.c: Fix of faulty TCP sequence increments 2020-03-03 09:15:18 -06:00
udp net/: Whenever the network initializes an IPv4 address, it must clear sin_zero. 2020-02-25 15:53:39 +01:00
usrsock Check return from nxsem_wait_initialize() 2020-03-29 20:11:10 +01:00
utils Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
.gitignore Revert "Don't generate .depend anymore" 2020-03-22 23:07:29 -05:00
Kconfig net/loopback: Move g_lo_* global variable to libc/net/ 2020-03-30 09:47:28 -06:00
Makefile net/loopback: Move g_lo_* global variable to libc/net/ 2020-03-30 09:47:28 -06:00
net_initialize.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
README.txt net/loopback: Move g_lo_* global variable to libc/net/ 2020-03-30 09:47:28 -06:00

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   |
    +----------------------------------------------------------------+ +--------------------------+