nuttx/net
chao an 794adc5814 net/tcp: contig received data to reducing iob consumption
Fragmentation of network data will intensify iob consumption, if
the device receives a message storm of fragmented packets, the iob
cache will not be effectively used, this is not allowed on iot devices
since the resources of such devices are limited. Of course, this
also takes some disadvantages: data needs to be copied.
This option will brings some balance on resource-constrained devices,
enable this config to reduce the consumption of iob, the received iob
buffers will be merged into the contiguous iob chain.

Signed-off-by: chao an <anchao@xiaomi.com>
2022-12-18 21:15:47 +08:00
..
arp net/arp: Remove nuttx/net/arp.h 2022-12-16 22:10:59 +02:00
bluetooth sem:remove sem default protocl 2022-10-22 14:50:48 +08:00
can net/devif_send: replace all block send to nonblock mode 2022-12-08 09:53:15 +01:00
devif net/arp: Remove nuttx/net/arp.h 2022-12-16 22:10:59 +02:00
icmp net/l2/l3/l4: add support of iob offload 2022-12-03 11:47:04 +08:00
icmpv6 net/l2/l3/l4: add support of iob offload 2022-12-03 11:47:04 +08:00
ieee802154 sem:remove sem default protocl 2022-10-22 14:50:48 +08:00
igmp net/l2/l3/l4: add support of iob offload 2022-12-03 11:47:04 +08:00
inet net: extract l3 header build code into new functions 2022-11-29 18:36:15 +08:00
ipforward net/ipfwd: limit number of ipforward struct to be less than number of IOB 2022-12-09 11:20:16 +08:00
local local: add net_lock to local_listen 2022-11-28 16:36:39 +08:00
mld net/l2/l3/l4: add support of iob offload 2022-12-03 11:47:04 +08:00
nat net/ipfwd: Support ICMP error reply when forwarding IPv4 2022-12-02 15:26:45 +08:00
neighbor net/arp: Move arp_ipin and arp_out to private header file 2022-12-04 20:39:21 +08:00
netdev net/arp: Remove nuttx/net/arp.h 2022-12-16 22:10:59 +02:00
netlink net/arp: Remove nuttx/net/arp.h 2022-12-16 22:10:59 +02:00
pkt net/devif_send: replace all block send to nonblock mode 2022-12-08 09:53:15 +01:00
procfs net/procfs: fix runtime error AddressSanitizer(global-buffer-overflow) 2022-09-27 09:41:55 +08:00
route include/endian.h: Fix format specifies type 'unsigned long' but the argument has type 'unsigned int' 2022-10-30 16:03:35 +01:00
rpmsg net: remove psock reference from connect 2022-11-24 22:57:42 +08:00
sixlowpan mm/iob: iob members are initialized after allocate 2022-12-16 09:51:53 +08:00
socket net: add parameter check in psock_setsockopt 2022-11-29 00:20:09 +08:00
tcp net/tcp: contig received data to reducing iob consumption 2022-12-18 21:15:47 +08:00
udp net/arp: Remove nuttx/net/arp.h 2022-12-16 22:10:59 +02:00
usrsock net: Remove usrsock specific process from common code as much as possible 2022-11-28 16:32:41 +09:00
utils Remove redundant length checking 2022-12-14 21:20:14 +08:00
Kconfig net/l2/l3/l4: add support of iob offload 2022-12-03 11:47:04 +08:00
Makefile net: add basic NAT workflow 2022-11-11 14:36:55 +08:00
net_initialize.c net: Reoder the initialize sequence(mac->ip->tcp/udp) 2022-03-12 19:24:17 +02: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   |
    +----------------------------------------------------------------+ +--------------------------+