nuttx/net
Zhe Weng 7f9cf184e5 net/devif_loopback: Add robustness to avoid infinite loop
When ipv4_input/ipv6_input called by devif_loopback writes wrong data into buffer (another bug we're fixing), the else block does nothing but only record the 'dropped' statistic, then infinite loop happens.

Refers to previous lo device with dropping logic:
https://github.com/apache/nuttx/blob/releases/11.0/drivers/net/loopback.c#L178-L180

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2022-12-24 16:20:17 +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/devif_loopback: Add robustness to avoid infinite loop 2022-12-24 16:20:17 +08: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 net/local: Support the abstract path 2022-12-18 20:12:30 +02:00
mld net/l2/l3/l4: add support of iob offload 2022-12-03 11:47:04 +08:00
nat net/nat: Clear entries when NAT will be disabled 2022-12-24 12:05:20 +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 compiler.h: Add _ between format|printf|syslog|scanf|strftime and like 2022-12-21 01:05:19 +02: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: rename NET_TCP_RECV_CONTIG to NET_TCP_RECV_PACK 2022-12-19 01:32:05 +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

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