nuttx/net
liqinhui f61dc72892 net/tcp:Add NewReno congestion control.
- NewReno congestion control algorithm is used to solve the problem
  of network congestion breakdown. NewReno congestion control includes
  slow start, collision avoidance, fast retransmission, and fast
  recovery. The implementation refers to RFC6582 and RFC5681.

- In addition, we optimize the congestion algorithm. In the conflict
  avoidance stage, the maximum congestion window max_cwnd is used to
  limit the excessive growth of cwnd and prevent network jitter
  caused by congestion. Maximum congestion window max_cwnd is updated
  with the current congestion window cwnd and the update weight is
  0.875 when an RTO timeout occurs.

Signed-off-by: liqinhui <liqinhui@xiaomi.com>
2023-05-16 12:35:01 -03:00
..
arp net: Remove the extra space 2023-05-03 15:18:21 +02:00
bluetooth net: remove conn-related casts 2023-05-10 19:32:09 -03:00
can net: remove conn-related casts 2023-05-10 19:32:09 -03:00
devif nuttx/net:Support to PMTUD 2023-05-12 10:21:52 -03:00
icmp nuttx/net:Support to PMTUD 2023-05-12 10:21:52 -03:00
icmpv6 nuttx/net:Support to PMTUD 2023-05-12 10:21:52 -03:00
ieee802154 net: remove conn-related casts 2023-05-10 19:32:09 -03:00
igmp support ipv4 ToS and ipv6 TrafficClass 2023-01-29 13:43:44 +08:00
inet ipv6_setsockopt: Merge similarity logic 2023-05-15 16:48:18 +08:00
ipforward forward: copy iob when broadcast forward 2023-05-06 03:18:08 +08:00
ipfrag nuttx/net:Support to PMTUD 2023-05-12 10:21:52 -03:00
local net/local: fix blocking local sockets 2023-05-11 11:39:00 +08:00
mld support ipv4 ToS and ipv6 TrafficClass 2023-01-29 13:43:44 +08:00
nat net/ip: fix compile break if disable NET_TCP 2023-02-07 12:46:40 +02:00
neighbor Replace all sprintf with snprintf 2023-05-08 09:57:01 +02:00
netdev net/procfs: Support to show MTU in netdev statistics 2023-04-28 09:45:21 +08:00
netfilter change strcpy to strlcpy 2023-02-24 12:15:40 +08:00
netlink net: remove conn-related casts 2023-05-10 19:32:09 -03:00
pkt net: remove conn-related casts 2023-05-10 19:32:09 -03:00
procfs net: Simplify the tcp/udp existence check 2023-05-03 17:40:00 +03:00
route net: use NXRMUTEX_INITIALIZER for rmutex init 2023-03-15 13:57:08 +01:00
rpmsg net/rpmsg: initialize semaphore count before wait 2023-05-16 17:15:42 +08:00
sixlowpan net: move ttl field into socket_conn_s struct 2023-05-13 12:39:53 +08:00
socket net: remove conn-related casts 2023-05-10 19:32:09 -03:00
tcp net/tcp:Add NewReno congestion control. 2023-05-16 12:35:01 -03:00
udp net: move ttl field into socket_conn_s struct 2023-05-13 12:39:53 +08:00
usrsock net/local: Return the unblock handle correctly in local_accept 2023-03-09 09:17:19 +01:00
utils net/net_cmsg.c: Fix warning about using void* arithmetics 2023-05-10 17:58:25 +08:00
Kconfig net/can: fix can mssage corruption if enable NET_TIMESTAMP 2023-04-27 00:30:58 +08:00
Makefile Support fragmentation and reassembly 2023-01-17 14:01:37 +08:00
net_initialize.c
README.txt Support fragmentation and reassembly 2023-01-17 14:01:37 +08:00

README
======

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

  nuttx/
   |
   `- net/
       |
       +- arp        - Address resolution protocol (IPv4)
       +- bluetooth  - PF_BLUETOOTH socket interface
       +- devif      - Stack/device interface layer
       +- ipfrag     - Fragmentation and reassembly
       +- 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   |
    +----------------------------------------------------------------+ +--------------------------+