TCP Read-Ahead: Convert to use I/O buffer chains
This commit is contained in:
parent
3f4ecebedd
commit
fabcb6d37e
24
TODO
24
TODO
@ -1,4 +1,4 @@
|
||||
NuttX TODO List (Last updated April 23, 2014)
|
||||
NuttX TODO List (Last updated June 24, 2014)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
||||
@ -15,7 +15,7 @@ nuttx/
|
||||
(11) Kernel Build
|
||||
(4) C++ Support
|
||||
(6) Binary loaders (binfmt/)
|
||||
(15) Network (net/, drivers/net)
|
||||
(13) Network (net/, drivers/net)
|
||||
(4) USB (drivers/usbdev, drivers/usbhost)
|
||||
(10) Libraries (libc/, )
|
||||
(12) File system/Generic drivers (fs/, drivers/)
|
||||
@ -816,26 +816,6 @@ o Network (net/, drivers/net)
|
||||
Status: Open
|
||||
Priority: Low
|
||||
|
||||
Title: READ-AHEAD THROTTLING
|
||||
Description: Read-ahead buffers capture incoming TCP data when no user
|
||||
thread is recv-ing the data. Should add some driver call to
|
||||
support throttling; when there is no listener for new data, the
|
||||
driver should be throttled. Perhaps the driver should disable
|
||||
RX interrupts when throttled and re-anable on each poll time.
|
||||
recvfrom would, of course, have to un-throttle.
|
||||
Status: Open. This is just a thought experiment. No changes are planned.
|
||||
Priority: Low. This is not a bug but an enhancement idea.
|
||||
|
||||
Title: COMMON TCP BUFFERING
|
||||
Description: TCP read-ahead logic and TCP write buffering logic use a
|
||||
separate set of packet buffers. It seems like more efficient
|
||||
use of the buffering would be had if a common pool of packet
|
||||
buffers were used for both read-ahead and write buffering.
|
||||
This would probably depend on having READ-AHEAD THROTTLING to
|
||||
prevent run-awary read-ahead logic from consuming all buffers.
|
||||
Status: Open. This is just a thought experiment. No changes are planned.
|
||||
Priority: Low. This is not a bug but an enhancement idea.
|
||||
|
||||
Title: STANDARDIZE ETHERNET DRIVER STATISTICS
|
||||
Description: Need to standardize collection of statistics from network
|
||||
drivers. apps/nshlib ifconfig command should present
|
||||
|
@ -347,8 +347,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -367,6 +365,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -345,8 +345,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=32
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -365,6 +363,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -348,8 +348,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=32
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -372,6 +370,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -404,8 +404,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
CONFIG_NET_UDP=y
|
||||
@ -420,6 +418,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
|
||||
#
|
||||
# File Systems
|
||||
|
@ -414,8 +414,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -434,6 +432,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -461,8 +461,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=532
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -481,6 +479,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -454,8 +454,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -478,6 +476,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -406,8 +406,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -426,6 +424,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -440,8 +440,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -464,6 +462,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -416,8 +416,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=562
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -436,6 +434,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -414,8 +414,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -434,6 +432,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -418,8 +418,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -442,6 +440,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -416,8 +416,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -436,6 +434,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -449,8 +449,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=16
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
# CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
CONFIG_NET_UDP=y
|
||||
@ -465,6 +463,11 @@ CONFIG_NET_STATISTICS=y
|
||||
# CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
|
||||
#
|
||||
# File Systems
|
||||
|
@ -437,8 +437,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -461,6 +459,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -446,8 +446,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -470,6 +468,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -446,8 +446,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -470,6 +468,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -449,8 +449,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=624
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -473,6 +471,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=624
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -454,8 +454,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -478,6 +476,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -531,8 +531,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -555,6 +553,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -484,8 +484,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -504,6 +502,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -388,8 +388,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -408,6 +406,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -397,8 +397,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -421,6 +419,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -390,8 +390,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -410,6 +408,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -389,8 +389,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -409,6 +407,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -389,8 +389,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -409,6 +407,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -515,8 +515,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=550
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -539,6 +537,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=550
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -506,8 +506,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -531,6 +529,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -485,8 +485,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -505,6 +503,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -515,8 +515,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -540,6 +538,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -465,8 +465,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=256
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -485,6 +483,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=256
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
CONFIG_SLIP_NINTERFACES=1
|
||||
CONFIG_SLIP_STACKSIZE=2048
|
||||
|
@ -485,8 +485,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -505,6 +503,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -529,8 +529,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -554,6 +552,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -513,8 +513,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=624
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
# CONFIG_NET_TCP_SPLIT is not set
|
||||
@ -534,6 +532,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=624
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
|
||||
#
|
||||
# File Systems
|
||||
|
@ -550,8 +550,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=20
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
# CONFIG_NET_TCP_SPLIT is not set
|
||||
@ -572,6 +570,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
|
||||
#
|
||||
# File Systems
|
||||
|
@ -411,8 +411,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -431,6 +429,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -553,8 +553,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -577,6 +575,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -606,8 +606,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -630,6 +628,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -312,8 +312,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=1460
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -336,6 +334,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=1460
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -334,8 +334,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=1460
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -358,6 +356,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=1460
|
||||
CONFIG_NET_ARPTAB_SIZE=8
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -341,8 +341,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=1460
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -365,6 +363,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=1460
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -320,8 +320,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=1460
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -344,6 +342,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=1460
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -341,8 +341,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=1460
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -365,6 +363,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=1460
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -342,8 +342,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=1460
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -366,6 +364,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=1460
|
||||
CONFIG_NET_ARPTAB_SIZE=8
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -584,8 +584,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=16
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -608,6 +606,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -630,8 +630,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=16
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -654,6 +652,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -404,8 +404,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
CONFIG_NET_UDP=y
|
||||
@ -420,6 +418,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
|
||||
#
|
||||
# File Systems
|
||||
|
@ -623,8 +623,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=16
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=4
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
# CONFIG_NET_TCP_SPLIT is not set
|
||||
@ -646,6 +644,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -391,8 +391,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=742
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
CONFIG_NET_UDP=y
|
||||
@ -407,6 +405,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=742
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
|
||||
#
|
||||
# File Systems
|
||||
|
@ -296,8 +296,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -316,6 +314,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -591,8 +591,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -611,6 +609,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -635,8 +635,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -659,6 +657,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -638,8 +638,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -662,6 +660,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -670,8 +670,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -694,6 +692,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -591,8 +591,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -611,6 +609,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -631,8 +631,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=624
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -655,6 +653,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=624
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
CONFIG_NET_ARP_IPIN=y
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -593,8 +593,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -613,6 +611,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -616,8 +616,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -640,6 +638,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -640,8 +640,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -664,6 +662,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -647,8 +647,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -671,6 +669,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -665,8 +665,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -689,6 +687,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -593,8 +593,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -613,6 +611,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -630,8 +630,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -654,6 +652,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -626,8 +626,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -650,6 +648,11 @@ CONFIG_NET_STATISTICS=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
CONFIG_NET_ARP_IPIN=y
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -581,8 +581,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=40
|
||||
CONFIG_NET_MAX_LISTENPORTS=40
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=624
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -605,6 +603,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=624
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -485,8 +485,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -505,6 +503,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -515,8 +515,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -540,6 +538,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -553,8 +553,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=8
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
# CONFIG_NET_TCPBACKLOG is not set
|
||||
@ -578,6 +576,11 @@ CONFIG_NET_ICMP_PING=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -485,8 +485,6 @@ CONFIG_NET_TCP=y
|
||||
CONFIG_NET_TCP_CONNS=16
|
||||
CONFIG_NET_MAX_LISTENPORTS=8
|
||||
CONFIG_NET_TCP_READAHEAD=y
|
||||
CONFIG_NET_TCP_READAHEAD_BUFSIZE=536
|
||||
CONFIG_NET_NTCP_READAHEAD_BUFFERS=8
|
||||
# CONFIG_NET_TCP_WRITE_BUFFERS is not set
|
||||
CONFIG_NET_TCP_RECVDELAY=0
|
||||
CONFIG_NET_TCPBACKLOG=y
|
||||
@ -505,6 +503,11 @@ CONFIG_NET_ICMP=y
|
||||
CONFIG_NET_RECEIVE_WINDOW=536
|
||||
CONFIG_NET_ARPTAB_SIZE=16
|
||||
# CONFIG_NET_ARP_IPIN is not set
|
||||
CONFIG_NET_IOB=y
|
||||
CONFIG_IOB_NBUFFERS=24
|
||||
CONFIG_IOB_BUFSIZE=196
|
||||
CONFIG_IOB_NCHAINS=8
|
||||
CONFIG_IOB_THROTTLE=0
|
||||
# CONFIG_NET_ROUTE is not set
|
||||
|
||||
#
|
||||
|
@ -97,7 +97,7 @@
|
||||
/* Queue helpers */
|
||||
|
||||
# define IOB_QINIT(q) do { (q)->qh_head = 0; (q)->qh_tail = 0; } while (0)
|
||||
# define IOB_QEMPTY(q) ((q)->head == NULL)
|
||||
# define IOB_QEMPTY(q) ((q)->qh_head == NULL)
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
@ -220,10 +220,13 @@ int iob_add_queue(FAR struct iob_s *iob, FAR struct iob_queue_s *iobq);
|
||||
#endif /* CONFIG_IOB_NCHAINS > 0 */
|
||||
|
||||
/****************************************************************************
|
||||
* Name: iob_add_queue
|
||||
* Name: iob_remove_queue
|
||||
*
|
||||
* Description:
|
||||
* Remove one I/O buffer chain from the heaqd of a queue.
|
||||
* Remove and return one I/O buffer chain from the head of a queue.
|
||||
*
|
||||
* Returned Value:
|
||||
* Returns a reference to the I/O buffer chain at the head of the queue.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
@ -231,6 +234,23 @@ int iob_add_queue(FAR struct iob_s *iob, FAR struct iob_queue_s *iobq);
|
||||
FAR struct iob_s *iob_remove_queue(FAR struct iob_queue_s *iobq);
|
||||
#endif /* CONFIG_IOB_NCHAINS > 0 */
|
||||
|
||||
/****************************************************************************
|
||||
* Name: iob_peek_queue
|
||||
*
|
||||
* Description:
|
||||
* Return a reference to the I/O buffer chain at the head of a queue. This
|
||||
* is similar to iob_remove_queue except that the I/O buffer chain is in
|
||||
* place at the head of the queue. The I/O buffer chain may safely be
|
||||
* modified by the caller but must be removed from the queue before it can
|
||||
* be freed.
|
||||
*
|
||||
* Returned Value:
|
||||
* Returns a reference to the I/O buffer chain at the head of the queue.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
FAR struct iob_s *iob_peek_queue(FAR struct iob_queue_s *iobq);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: iob_free_queue
|
||||
*
|
||||
|
@ -280,24 +280,6 @@
|
||||
# define CONFIG_NET_BUFSIZE 400
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
/* Number of TCP read-ahead buffers */
|
||||
|
||||
# ifndef CONFIG_NET_NTCP_READAHEAD_BUFFERS
|
||||
# define CONFIG_NET_NTCP_READAHEAD_BUFFERS 4
|
||||
# endif
|
||||
|
||||
/* The size of one TCP read buffer */
|
||||
|
||||
# ifndef CONFIG_NET_TCP_READAHEAD_BUFSIZE
|
||||
# define CONFIG_NET_TCP_READAHEAD_BUFSIZE UIP_TCP_MSS
|
||||
# endif
|
||||
|
||||
#else
|
||||
# undef CONFIG_NET_TCP_READAHEAD_BUFSIZE
|
||||
# undef CONFIG_NET_NTCP_READAHEAD_BUFFERS
|
||||
#endif
|
||||
|
||||
/* Delay after receive to catch a following packet. No delay should be
|
||||
* required if TCP/IP read-ahead buffering is enabled.
|
||||
*/
|
||||
|
@ -55,7 +55,9 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include <nuttx/net/netconfig.h>
|
||||
#include <nuttx/net/iob.h>
|
||||
#include <nuttx/net/uip.h>
|
||||
|
||||
/****************************************************************************
|
||||
@ -193,12 +195,12 @@ struct uip_conn
|
||||
|
||||
/* Read-ahead buffering.
|
||||
*
|
||||
* readahead - A singly linked list of type struct uip_readahead_s
|
||||
* readahead - A singly linked list of type struct iob_qentry_s
|
||||
* where the TCP/IP read-ahead data is retained.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
sq_queue_t readahead; /* Read-ahead buffering */
|
||||
struct iob_queue_s readahead; /* Read-ahead buffering */
|
||||
#endif
|
||||
|
||||
/* Write buffering
|
||||
@ -272,25 +274,9 @@ struct uip_conn
|
||||
void (*connection_event)(FAR struct uip_conn *conn, uint16_t flags);
|
||||
};
|
||||
|
||||
/* The following structure is used to handle read-ahead buffering for TCP
|
||||
* connection. When incoming TCP data is received while no application is
|
||||
* listening for the data, that data will be retained in these read-ahead
|
||||
* buffers so that no data is lost.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
struct uip_readahead_s
|
||||
{
|
||||
sq_entry_t rh_node; /* Supports a singly linked list */
|
||||
uint16_t rh_nbytes; /* Number of bytes available in this buffer */
|
||||
uint8_t rh_buffer[CONFIG_NET_TCP_READAHEAD_BUFSIZE];
|
||||
};
|
||||
#endif
|
||||
|
||||
/* This structure supports TCP write buffering */
|
||||
|
||||
#ifdef CONFIG_NET_TCP_WRITE_BUFFERS
|
||||
struct iob_s; /* Forward reference */
|
||||
struct tcp_wrbuffer_s
|
||||
{
|
||||
sq_entry_t wb_node; /* Supports a singly linked list */
|
||||
@ -458,13 +444,6 @@ int uip_listen(struct uip_conn *conn);
|
||||
|
||||
int uip_unlisten(struct uip_conn *conn);
|
||||
|
||||
/* Access to TCP read-ahead buffers */
|
||||
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
FAR struct uip_readahead_s *uip_tcpreadahead_alloc(void);
|
||||
void uip_tcpreadahead_release(FAR struct uip_readahead_s *readahead);
|
||||
#endif /* CONFIG_NET_TCP_READAHEAD */
|
||||
|
||||
/* Backlog support */
|
||||
|
||||
#ifdef CONFIG_NET_TCPBACKLOG
|
||||
|
@ -48,8 +48,8 @@ config IOB_NCHAINS
|
||||
config IOB_THROTTLE
|
||||
int "I/O buffer throttle value"
|
||||
default 0 if !NET_TCP_WRITE_BUFFERS || !NET_TCP_READAHEAD
|
||||
default 8 if NET_TCP_WRITE_BUFFERS && !NET_TCP_READAHEAD
|
||||
depends on NET_TCP_WRITE_BUFFERS && !NET_TCP_READAHEAD
|
||||
default 8 if NET_TCP_WRITE_BUFFERS && NET_TCP_READAHEAD
|
||||
depends on NET_TCP_WRITE_BUFFERS && NET_TCP_READAHEAD
|
||||
---help---
|
||||
TCP write buffering and read-ahead buffer use the same pool of free
|
||||
I/O buffers. In order to prevent uncontrolled incoming TCP packets
|
||||
|
@ -40,8 +40,8 @@ ifeq ($(CONFIG_NET_IOB),y)
|
||||
NET_CSRCS += iob_add_queue.c iob_alloc.c iob_alloc_qentry.c iob_clone.c
|
||||
NET_CSRCS += iob_concat.c iob_copyin.c iob_copyout.c iob_contig.c iob_free.c
|
||||
NET_CSRCS += iob_free_chain.c iob_free_qentry.c iob_free_queue.c
|
||||
NET_CSRCS += iob_initialize.c iob_pack.c iob_remove_queue.c iob_trimhead.c
|
||||
NET_CSRCS += iob_trimtail.c
|
||||
NET_CSRCS += iob_initialize.c iob_pack.c iob_peek_queue.c iob_remove_queue.c
|
||||
NET_CSRCS += iob_trimhead.c iob_trimtail.c
|
||||
|
||||
ifeq ($(CONFIG_DEBUG),y)
|
||||
NET_CSRCS += iob_dump.c
|
||||
|
@ -95,7 +95,7 @@ static FAR struct iob_s *iob_tryalloc(bool throttled)
|
||||
#if CONFIG_IOB_THROTTLE > 0
|
||||
/* Select the semaphore count to check. */
|
||||
|
||||
sem = (throttled ? : &g_throttled_sem, &g_iob_sem);
|
||||
sem = (throttled ? &g_throttle_sem : &g_iob_sem);
|
||||
#endif
|
||||
|
||||
/* We don't know what context we are called from so we use extreme measures
|
||||
@ -107,7 +107,7 @@ static FAR struct iob_s *iob_tryalloc(bool throttled)
|
||||
#if CONFIG_IOB_THROTTLE > 0
|
||||
/* If there are free I/O buffers for this allocation */
|
||||
|
||||
DEBUGVERIFY(sem_getvalue(sem, semcount));
|
||||
DEBUGVERIFY(sem_getvalue(sem, &semcount));
|
||||
if (semcount > 0)
|
||||
#endif
|
||||
{
|
||||
@ -124,7 +124,9 @@ static FAR struct iob_s *iob_tryalloc(bool throttled)
|
||||
g_iob_freelist = iob->io_flink;
|
||||
DEBUGVERIFY(sem_trywait(&g_iob_sem));
|
||||
#if CONFIG_IOB_THROTTLE > 0
|
||||
DEBUGVERIFY(sem_trywait(&g_throttle_sem));
|
||||
//DEBUGVERIFY(sem_trywait(&g_throttle_sem));
|
||||
g_throttle_sem.semcount--;
|
||||
DEBUGASSERT(g_throttle_sem.semcount >= -CONFIG_IOB_THROTTLE);
|
||||
#endif
|
||||
irqrestore(flags);
|
||||
|
||||
@ -161,7 +163,7 @@ static FAR struct iob_s *iob_allocwait(bool throttled)
|
||||
#if CONFIG_IOB_THROTTLE > 0
|
||||
/* Select the semaphore count to check. */
|
||||
|
||||
sem = (throttled ? : &g_throttled_sem, &g_iob_sem);
|
||||
sem = (throttled ? &g_throttle_sem : &g_iob_sem);
|
||||
#else
|
||||
sem = &g_iob_sem;
|
||||
#endif
|
||||
|
@ -105,7 +105,7 @@ static FAR struct iob_qentry_s *iob_tryalloc_qentry(void)
|
||||
*/
|
||||
|
||||
g_iob_freeqlist = iobq->qe_flink;
|
||||
DEBVERIFY(sem_trywait(&g_qentry_sem));
|
||||
DEBUGVERIFY(sem_trywait(&g_qentry_sem));
|
||||
|
||||
/* Put the I/O buffer in a known state */
|
||||
|
||||
@ -186,32 +186,20 @@ static FAR struct iob_qentry_s *iob_allocwait_qentry(void)
|
||||
|
||||
FAR struct iob_qentry_s *iob_alloc_qentry(void)
|
||||
{
|
||||
FAR struct iob_qentry_s *iobq;
|
||||
irqstate_t flags;
|
||||
/* Were we called from the interrupt level? */
|
||||
|
||||
/* We don't know what context we are called from so we use extreme measures
|
||||
* to protect the free list: We disable interrupts very briefly.
|
||||
*/
|
||||
|
||||
flags = irqsave();
|
||||
iobq = g_iob_freeqlist;
|
||||
if (iobq)
|
||||
if (up_interrupt_context())
|
||||
{
|
||||
/* Remove the I/O buffer chain container from the free list and
|
||||
* decrement the counting semaphore that tracks the number of free
|
||||
* containers.
|
||||
*/
|
||||
/* Yes, then try to allocate an I/O buffer without waiting */
|
||||
|
||||
g_iob_freeqlist = iobq->qe_flink;
|
||||
DEBVERIFY(sem_trywait(&g_qentry_sem));
|
||||
|
||||
/* Put the I/O buffer in a known state */
|
||||
|
||||
iobq->qe_head = NULL; /* Nothing is contained */
|
||||
return iob_tryalloc_qentry();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Then allocate an I/O buffer, waiting as necessary */
|
||||
|
||||
irqrestore(flags);
|
||||
return iobq;
|
||||
return iob_allocwait_qentry();
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* CONFIG_IOB_NCHAINS > 0 */
|
||||
|
@ -223,5 +223,5 @@ int iob_copyin(FAR struct iob_s *iob, FAR const uint8_t *src,
|
||||
offset = 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return OK;
|
||||
}
|
||||
|
@ -135,6 +135,9 @@ FAR struct iob_s *iob_free(FAR struct iob_s *iob)
|
||||
/* Signal that an IOB is available */
|
||||
|
||||
sem_post(&g_iob_sem);
|
||||
#if CONFIG_IOB_THROTTLE > 0
|
||||
sem_post(&g_throttle_sem);
|
||||
#endif
|
||||
irqrestore(flags);
|
||||
|
||||
/* And return the I/O buffer after the one that was freed */
|
||||
|
@ -131,6 +131,10 @@ void iob_initialize(void)
|
||||
|
||||
sem_init(&g_iob_sem, 0, CONFIG_IOB_NBUFFERS);
|
||||
|
||||
#if CONFIG_IOB_THROTTLE > 0
|
||||
sem_init(&g_throttle_sem, 0, CONFIG_IOB_NBUFFERS - CONFIG_IOB_THROTTLE);
|
||||
#endif
|
||||
|
||||
#if CONFIG_IOB_NCHAINS > 0
|
||||
/* Add each I/O buffer chain queue container to the free list */
|
||||
|
||||
|
@ -67,10 +67,13 @@
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: iob_add_queue
|
||||
* Name: iob_remove_queue
|
||||
*
|
||||
* Description:
|
||||
* Remove one I/O buffer chain from the heaqd of a queue.
|
||||
* Remove and return one I/O buffer chain from the head of a queue.
|
||||
*
|
||||
* Returned Value:
|
||||
* Returns a reference to the I/O buffer chain at the head of the queue.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
|
@ -243,11 +243,11 @@ static inline int net_pollsetup(FAR struct socket *psock,
|
||||
#ifdef CONFIG_NET_TCPBACKLOG
|
||||
/* Check for read data or backlogged connection availability now */
|
||||
|
||||
if (!sq_empty(&conn->readahead) || uip_backlogavailable(conn))
|
||||
if (!IOB_QEMPTY(&conn->readahead) || uip_backlogavailable(conn))
|
||||
#else
|
||||
/* Check for read data availability now */
|
||||
|
||||
if (!sq_empty(&conn->readahead))
|
||||
if (!IOB_QEMPTY(&conn->readahead))
|
||||
#endif
|
||||
{
|
||||
/* Normal data may be read without blocking. */
|
||||
|
@ -80,7 +80,7 @@ struct recvfrom_s
|
||||
FAR struct uip_callback_s *rf_cb; /* Reference to callback instance */
|
||||
sem_t rf_sem; /* Semaphore signals recv completion */
|
||||
size_t rf_buflen; /* Length of receive buffer */
|
||||
char *rf_buffer; /* Pointer to receive buffer */
|
||||
uint8_t *rf_buffer; /* Pointer to receive buffer */
|
||||
#ifdef CONFIG_NET_IPv6
|
||||
FAR struct sockaddr_in6 *rf_from; /* Address of sender */
|
||||
#else
|
||||
@ -317,68 +317,62 @@ static inline void recvfrom_newudpdata(FAR struct uip_driver_s *dev,
|
||||
static inline void recvfrom_readahead(struct recvfrom_s *pstate)
|
||||
{
|
||||
FAR struct uip_conn *conn = (FAR struct uip_conn *)pstate->rf_sock->s_conn;
|
||||
FAR struct uip_readahead_s *readahead;
|
||||
size_t recvlen;
|
||||
FAR struct iob_s *iob;
|
||||
int recvlen;
|
||||
|
||||
/* Check there is any TCP data already buffered in a read-ahead
|
||||
* buffer.
|
||||
*/
|
||||
|
||||
do
|
||||
while ((iob = iob_peek_queue(&conn->readahead)) != NULL &&
|
||||
pstate->rf_buflen > 0)
|
||||
{
|
||||
/* Get the read-ahead buffer at the head of the list (if any) */
|
||||
DEBUGASSERT(iob->io_pktlen > 0);
|
||||
|
||||
readahead = (struct uip_readahead_s *)sq_remfirst(&conn->readahead);
|
||||
if (readahead)
|
||||
{
|
||||
/* We have a new buffer... transfer that buffered data into
|
||||
/* Transfer that buffered data from the I/O buffer chain into
|
||||
* the user buffer.
|
||||
*
|
||||
* First, get the length of the data to transfer.
|
||||
*/
|
||||
|
||||
if (readahead->rh_nbytes > pstate->rf_buflen)
|
||||
{
|
||||
recvlen = pstate->rf_buflen;
|
||||
}
|
||||
else
|
||||
{
|
||||
recvlen = readahead->rh_nbytes;
|
||||
}
|
||||
|
||||
if (recvlen > 0)
|
||||
{
|
||||
/* Copy the read-ahead data into the user buffer */
|
||||
|
||||
memcpy(pstate->rf_buffer, readahead->rh_buffer, recvlen);
|
||||
nllvdbg("Received %d bytes (of %d)\n", recvlen, readahead->rh_nbytes);
|
||||
recvlen = iob_copyout(pstate->rf_buffer, iob, pstate->rf_buflen, 0);
|
||||
nllvdbg("Received %d bytes (of %d)\n", recvlen, iob->io_pktlen);
|
||||
|
||||
/* Update the accumulated size of the data read */
|
||||
|
||||
pstate->rf_recvlen += recvlen;
|
||||
pstate->rf_buffer += recvlen;
|
||||
pstate->rf_buflen -= recvlen;
|
||||
}
|
||||
|
||||
/* If the read-ahead buffer is empty, then release it. If not, then
|
||||
* we will have to move the data down and return the buffer to the
|
||||
* front of the list.
|
||||
/* If we took all of the ata from the I/O buffer chain is empty, then
|
||||
* release it. If there is still data available in the I/O buffer
|
||||
* chain, then just trim the data that we have taken from the
|
||||
* beginning of the I/O buffer chain.
|
||||
*/
|
||||
|
||||
if (recvlen < readahead->rh_nbytes)
|
||||
if (recvlen >= iob->io_pktlen)
|
||||
{
|
||||
readahead->rh_nbytes -= recvlen;
|
||||
memcpy(readahead->rh_buffer, &readahead->rh_buffer[recvlen],
|
||||
readahead->rh_nbytes);
|
||||
sq_addfirst(&readahead->rh_node, &conn->readahead);
|
||||
FAR struct iob_s *tmp;
|
||||
|
||||
/* Remove the I/O buffer chain from the head of the read-ahead
|
||||
* buffer queue.
|
||||
*/
|
||||
|
||||
tmp = iob_remove_queue(&conn->readahead);
|
||||
DEBUGASSERT(tmp == iob);
|
||||
UNUSED(tmp);
|
||||
|
||||
/* And free the I/O buffer chain */
|
||||
|
||||
(void)iob_free_chain(iob);
|
||||
}
|
||||
else
|
||||
{
|
||||
uip_tcpreadahead_release(readahead);
|
||||
/* The bytes that we have received from the from of the I/O
|
||||
* buffer chain.
|
||||
*/
|
||||
|
||||
(void)iob_trimhead(iob, recvlen);
|
||||
}
|
||||
}
|
||||
}
|
||||
while (readahead && pstate->rf_buflen > 0);
|
||||
}
|
||||
#endif /* CONFIG_NET_UDP || CONFIG_NET_TCP */
|
||||
|
||||
@ -1252,10 +1246,10 @@ static ssize_t tcp_recvfrom(FAR struct socket *psock, FAR void *buf, size_t len,
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
recvfrom_readahead(&state);
|
||||
|
||||
/* The default return value is the number of bytes that we just copied into
|
||||
* the user buffer. We will return this if the socket has become disconnected
|
||||
* or if the user request was completely satisfied with data from the readahead
|
||||
* buffers.
|
||||
/* The default return value is the number of bytes that we just copied
|
||||
* into the user buffer. We will return this if the socket has become
|
||||
* disconnected or if the user request was completely satisfied with
|
||||
* data from the readahead buffers.
|
||||
*/
|
||||
|
||||
ret = state.rf_recvlen;
|
||||
|
@ -36,6 +36,7 @@ config NET_MAX_LISTENPORTS
|
||||
config NET_TCP_READAHEAD
|
||||
bool "Enable TCP/IP read-ahead buffering"
|
||||
default y
|
||||
select NET_IOB
|
||||
---help---
|
||||
Read-ahead buffers allows buffering of TCP/IP packets when there is no
|
||||
receive in place to catch the TCP packet. In that case, the packet
|
||||
@ -43,40 +44,14 @@ config NET_TCP_READAHEAD
|
||||
|
||||
You might want to disable TCP/IP read-ahead buffering on a highly
|
||||
memory constrained system that does not have any TCP/IP packet rate
|
||||
issues.
|
||||
issues. But, if disabled, there will probably be more packet
|
||||
retransmissions or even packet loss.
|
||||
|
||||
Make sure that you check the setting in the I/O Buffering menu.
|
||||
These settings are critical to the reasonable operation of read-
|
||||
ahead buffering.
|
||||
|
||||
if NET_TCP_READAHEAD
|
||||
|
||||
config NET_TCP_READAHEAD_BUFSIZE
|
||||
int "TCP/IP read-ahead buffer size"
|
||||
default 1220 if !NET_SLIP && NET_IPv6
|
||||
default 536 if !NET_SLIP && !NET_IPv6
|
||||
default 256 if NET_SLIP && !NET_IPv6
|
||||
---help---
|
||||
Read-ahead buffers allows buffering of TCP/IP packets when there is no
|
||||
receive in place to catch the TCP packet. In that case, the packet
|
||||
will be retained in the NuttX read-ahead buffers.
|
||||
|
||||
This setting specifies the size of one TCP/IP read-ahead buffer.
|
||||
This should best be a equal to the maximum packet payload size (MSS).
|
||||
|
||||
Optimally, the size of the read-ahead buffer will should the maximum
|
||||
size of an incoming TCP packet payload (MSS). This MSS value is
|
||||
determined by NET_BUFSIZE minus the size of TCP, IP, and Ethernet
|
||||
headers (assuming you are using the Ethernet transport). IPv4 hosts
|
||||
are required to be able to handle an MSS of 536 octets and IPv6 hosts
|
||||
are required to be able to handle an MSS of 1220 octets.
|
||||
|
||||
config NET_NTCP_READAHEAD_BUFFERS
|
||||
int "Number of TCP/IP read-ahead buffers"
|
||||
default 8
|
||||
---help---
|
||||
Read-ahead buffers allows buffering of TCP/IP packets when there is no
|
||||
receive in place to catch the TCP packet. In that case, the packet
|
||||
will be retained in the NuttX read-ahead buffers.
|
||||
|
||||
This setting specifies the number of TCP/IP read-ahead buffers.
|
||||
|
||||
endif # NET_TCP_READAHEAD
|
||||
|
||||
config NET_TCP_WRITE_BUFFERS
|
||||
|
@ -53,11 +53,7 @@ NET_CSRCS += tcp_conn.c tcp_seqno.c tcp_poll.c tcp_timer.c tcp_send.c
|
||||
NET_CSRCS += tcp_input.c tcp_appsend.c tcp_listen.c tcp_callback.c
|
||||
NET_CSRCS += tcp_backlog.c
|
||||
|
||||
# TCP Buffering
|
||||
|
||||
ifeq ($(CONFIG_NET_TCP_READAHEAD),y)
|
||||
NET_CSRCS += tcp_readahead.c
|
||||
endif
|
||||
# TCP write buffering
|
||||
|
||||
ifeq ($(CONFIG_NET_TCP_WRITE_BUFFERS),y)
|
||||
NET_CSRCS += tcp_wrbuffer.c
|
||||
|
@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
* net/tcp/tcp_callback.c
|
||||
*
|
||||
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
|
||||
* Copyright (C) 2007-2009, 2014 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@ -59,47 +59,6 @@
|
||||
* Private Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Function: uip_readahead
|
||||
*
|
||||
* Description:
|
||||
* Copy as much received data as possible into the read-ahead buffer
|
||||
*
|
||||
* Assumptions:
|
||||
* This function is called at the interrupt level with interrupts disabled.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
static int uip_readahead(FAR struct uip_readahead_s *readahead,
|
||||
FAR uint8_t *buf, int len)
|
||||
{
|
||||
int available = CONFIG_NET_TCP_READAHEAD_BUFSIZE - readahead->rh_nbytes;
|
||||
int recvlen = 0;
|
||||
|
||||
if (len > 0 && available > 0)
|
||||
{
|
||||
/* Get the length of the data to buffer. */
|
||||
|
||||
if (len > available)
|
||||
{
|
||||
recvlen = available;
|
||||
}
|
||||
else
|
||||
{
|
||||
recvlen = len;
|
||||
}
|
||||
|
||||
/* Copy the new appdata into the read-ahead buffer */
|
||||
|
||||
memcpy(&readahead->rh_buffer[readahead->rh_nbytes], buf, recvlen);
|
||||
readahead->rh_nbytes += recvlen;
|
||||
}
|
||||
|
||||
return recvlen;
|
||||
}
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Function: uip_dataevent
|
||||
*
|
||||
@ -141,16 +100,11 @@ uip_dataevent(FAR struct uip_driver_s *dev, FAR struct uip_conn *conn,
|
||||
nllvdbg("No listener on connection\n");
|
||||
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
/* Save as much data as possible in the read-ahead buffers */
|
||||
|
||||
recvlen = uip_datahandler(conn, buffer, buflen);
|
||||
|
||||
/* There are several complicated buffering issues that are not addressed
|
||||
* properly here. For example, what if we cannot buffer the entire
|
||||
* packet? In that case, some data will be accepted but not ACKed.
|
||||
* Therefore it will be resent and duplicated. Fixing this could be tricky.
|
||||
/* Save as the packet data as in the read-ahead buffer. NOTE that
|
||||
* partial packets will not be buffered.
|
||||
*/
|
||||
|
||||
recvlen = uip_datahandler(conn, buffer, buflen);
|
||||
if (recvlen < buflen)
|
||||
#endif
|
||||
{
|
||||
@ -267,8 +221,8 @@ uint16_t uip_tcpcallback(struct uip_driver_s *dev, struct uip_conn *conn,
|
||||
* buflen - The number of bytes to copy to the read-ahead buffer.
|
||||
*
|
||||
* Returned value:
|
||||
* The number of bytes actually buffered. This could be less than 'nbytes'
|
||||
* if there is insufficient buffering available.
|
||||
* The number of bytes actually buffered is returned. This will be either
|
||||
* zero or equal to buflen; partial packets are not buffered.
|
||||
*
|
||||
* Assumptions:
|
||||
* - The caller has checked that UIP_NEWDATA is set in flags and that is no
|
||||
@ -281,57 +235,44 @@ uint16_t uip_tcpcallback(struct uip_driver_s *dev, struct uip_conn *conn,
|
||||
uint16_t uip_datahandler(FAR struct uip_conn *conn, FAR uint8_t *buffer,
|
||||
uint16_t buflen)
|
||||
{
|
||||
FAR struct uip_readahead_s *readahead1;
|
||||
FAR struct uip_readahead_s *readahead2 = NULL;
|
||||
uint16_t remaining;
|
||||
uint16_t recvlen = 0;
|
||||
FAR struct iob_s *iob;
|
||||
int ret;
|
||||
|
||||
/* First, we need to determine if we have space to buffer the data. This
|
||||
* needs to be verified before we actually begin buffering the data. We
|
||||
* will use any remaining space in the last allocated read-ahead buffer
|
||||
* plus as much one additional buffer. It is expected that the size of
|
||||
* read-ahead buffers are tuned so that one full packet will always fit
|
||||
* into one read-ahead buffer (for example if the buffer size is 420, then
|
||||
* a read-ahead buffer of 366 will hold a full packet of TCP data).
|
||||
/* Allocate on I/O buffer to start the chain (throttling as necessary) */
|
||||
|
||||
iob = iob_alloc(true);
|
||||
if (iob == NULL)
|
||||
{
|
||||
nlldbg("ERROR: Failed to create new I/O buffer chain\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Copy the new appdata into the I/O buffer chain */
|
||||
|
||||
ret = iob_copyin(iob, buffer, buflen, 0, true);
|
||||
if (ret < 0)
|
||||
{
|
||||
/* On a failure, iob_copyin return a negated error value but does
|
||||
* not free any I/O buffers.
|
||||
*/
|
||||
|
||||
readahead1 = (FAR struct uip_readahead_s*)conn->readahead.tail;
|
||||
if ((readahead1 &&
|
||||
(CONFIG_NET_TCP_READAHEAD_BUFSIZE - readahead1->rh_nbytes) > buflen) ||
|
||||
(readahead2 = uip_tcpreadahead_alloc()) != NULL)
|
||||
{
|
||||
/* We have buffer space. Now try to append add as much data as possible
|
||||
* to the last read-ahead buffer attached to this connection.
|
||||
*/
|
||||
|
||||
remaining = buflen;
|
||||
if (readahead1)
|
||||
{
|
||||
recvlen = uip_readahead(readahead1, buffer, remaining);
|
||||
if (recvlen > 0)
|
||||
{
|
||||
buffer += recvlen;
|
||||
remaining -= recvlen;
|
||||
}
|
||||
nlldbg("ERROR: Failed to add data to the I/O buffer chain: %d\n", ret);
|
||||
(void)iob_free_chain(iob);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Do we need to buffer into the newly allocated buffer as well? */
|
||||
/* Add the new I/O buffer chain to the tail of the read-ahead queue */
|
||||
|
||||
if (readahead2)
|
||||
ret = iob_add_queue(iob, &conn->readahead);
|
||||
if (ret < 0)
|
||||
{
|
||||
readahead2->rh_nbytes = 0;
|
||||
recvlen += uip_readahead(readahead2, buffer, remaining);
|
||||
|
||||
/* Save the read-ahead buffer in the connection structure where
|
||||
* it can be found with recv() is called.
|
||||
*/
|
||||
|
||||
sq_addlast(&readahead2->rh_node, &conn->readahead);
|
||||
}
|
||||
nlldbg("ERROR: Failed to queue the I/O buffer chain: %d\n", ret);
|
||||
(void)iob_free_chain(iob);
|
||||
return 0;
|
||||
}
|
||||
|
||||
nllvdbg("Buffered %d bytes (of %d)\n", recvlen, buflen);
|
||||
return recvlen;
|
||||
nllvdbg("Buffered %d bytes\n", buflen);
|
||||
return buflen;
|
||||
}
|
||||
#endif /* CONFIG_NET_TCP_READAHEAD */
|
||||
|
||||
|
@ -317,9 +317,6 @@ void uip_tcpfree(struct uip_conn *conn)
|
||||
{
|
||||
FAR struct uip_callback_s *cb;
|
||||
FAR struct uip_callback_s *next;
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
FAR struct uip_readahead_s *readahead;
|
||||
#endif
|
||||
#ifdef CONFIG_NET_TCP_WRITE_BUFFERS
|
||||
FAR struct tcp_wrbuffer_s *wrbuffer;
|
||||
#endif
|
||||
@ -357,10 +354,7 @@ void uip_tcpfree(struct uip_conn *conn)
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
/* Release any read-ahead buffers attached to the connection */
|
||||
|
||||
while ((readahead = (struct uip_readahead_s *)sq_remfirst(&conn->readahead)) != NULL)
|
||||
{
|
||||
uip_tcpreadahead_release(readahead);
|
||||
}
|
||||
iob_free_queue(&conn->readahead);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NET_TCP_WRITE_BUFFERS
|
||||
@ -545,7 +539,7 @@ struct uip_conn *uip_tcpaccept(struct uip_tcpip_hdr *buf)
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
/* Initialize the list of TCP read-ahead buffers */
|
||||
|
||||
sq_init(&conn->readahead);
|
||||
IOB_QINIT(&conn->readahead);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NET_TCP_WRITE_BUFFERS
|
||||
@ -700,7 +694,7 @@ int uip_tcpconnect(struct uip_conn *conn, const struct sockaddr_in *addr)
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
/* Initialize the list of TCP read-ahead buffers */
|
||||
|
||||
sq_init(&conn->readahead);
|
||||
IOB_QINIT(&conn->readahead);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NET_TCP_WRITE_BUFFERS
|
||||
|
@ -1,143 +0,0 @@
|
||||
/****************************************************************************
|
||||
* net/tcp/tcp_readahead.c
|
||||
*
|
||||
* Copyright (C) 2007-2009, 2013-2014 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/net/netconfig.h>
|
||||
#if defined(CONFIG_NET) && defined(CONFIG_NET_TCP) && defined(CONFIG_NET_TCP_READAHEAD)
|
||||
|
||||
#include <queue.h>
|
||||
#include <debug.h>
|
||||
|
||||
#include <nuttx/net/uip.h>
|
||||
|
||||
#include "uip/uip.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Private Types
|
||||
****************************************************************************/
|
||||
|
||||
/* Package all globals used by this logic into a structure */
|
||||
|
||||
struct readahead_s
|
||||
{
|
||||
/* This is the list of available write buffers */
|
||||
|
||||
sq_queue_t freebuffers;
|
||||
|
||||
/* These are the pre-allocated write buffers */
|
||||
|
||||
struct uip_readahead_s buffers[CONFIG_NET_NTCP_READAHEAD_BUFFERS];
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
* Private Data
|
||||
****************************************************************************/
|
||||
|
||||
/* This is the state of the global read-ahead resource */
|
||||
|
||||
static struct readahead_s g_readahead;
|
||||
|
||||
/****************************************************************************
|
||||
* Private Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Function: uip_tcpreadahead_init
|
||||
*
|
||||
* Description:
|
||||
* Initialize the list of free read-ahead buffers
|
||||
*
|
||||
* Assumptions:
|
||||
* Called once early initialization.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void uip_tcpreadahead_init(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
sq_init(&g_readahead.freebuffers);
|
||||
for (i = 0; i < CONFIG_NET_NTCP_READAHEAD_BUFFERS; i++)
|
||||
{
|
||||
sq_addfirst(&g_readahead.buffers[i].rh_node, &g_readahead.freebuffers);
|
||||
}
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Function: uip_tcpreadahead_alloc
|
||||
*
|
||||
* Description:
|
||||
* Allocate a TCP read-ahead buffer by taking a pre-allocated buffer from
|
||||
* the free list. This function is called from TCP logic when new,
|
||||
* incoming TCP data is received but there is no user logic receiving the
|
||||
* the data. Note: kmalloc() cannot be used because this function is
|
||||
* called from interrupt level.
|
||||
*
|
||||
* Assumptions:
|
||||
* Called from interrupt level with interrupts disabled.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
FAR struct uip_readahead_s *uip_tcpreadahead_alloc(void)
|
||||
{
|
||||
return (FAR struct uip_readahead_s*)sq_remfirst(&g_readahead.freebuffers);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Function: uip_tcpreadahead_release
|
||||
*
|
||||
* Description:
|
||||
* Release a TCP read-ahead buffer by returning the buffer to the free list.
|
||||
* This function is called from user logic after it is consumed the buffered
|
||||
* data.
|
||||
*
|
||||
* Assumptions:
|
||||
* Called from user logic BUT with interrupts disabled.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
void uip_tcpreadahead_release(FAR struct uip_readahead_s *readahead)
|
||||
{
|
||||
sq_addfirst(&readahead->rh_node, &g_readahead.freebuffers);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_NET && CONFIG_NET_TCP && CONFIG_NET_TCP_READAHEAD */
|
@ -414,7 +414,7 @@ static uint16_t send_interrupt(FAR struct uip_driver_s *dev, FAR void *pvconn,
|
||||
|
||||
tmp = (FAR struct tcp_wrbuffer_s *)sq_remfirst(&conn->write_q);
|
||||
DEBUGASSERT(tmp == wrb);
|
||||
UNUSED(wrb);
|
||||
UNUSED(tmp);
|
||||
|
||||
/* And return the write buffer to the free list */
|
||||
|
||||
|
@ -183,17 +183,6 @@ uint16_t uip_tcpcallback(FAR struct uip_driver_s *dev,
|
||||
uint16_t uip_datahandler(FAR struct uip_conn *conn,
|
||||
FAR uint8_t *buffer, uint16_t nbytes);
|
||||
#endif
|
||||
|
||||
/* Defined in tcp_readahead.c ***********************************************/
|
||||
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
void uip_tcpreadahead_init(void);
|
||||
|
||||
struct uip_readahead_s;
|
||||
FAR struct uip_readahead_s *uip_tcpreadahead_alloc(void);
|
||||
void uip_tcpreadahead_release(FAR struct uip_readahead_s *readahead);
|
||||
#endif /* CONFIG_NET_TCP_READAHEAD */
|
||||
|
||||
#endif /* CONFIG_NET_TCP */
|
||||
|
||||
#ifdef CONFIG_NET_UDP
|
||||
|
@ -139,18 +139,12 @@ void uip_initialize(void)
|
||||
|
||||
uip_tcpinit();
|
||||
|
||||
/* Initialize the TCP/IP read-ahead buffering */
|
||||
|
||||
#ifdef CONFIG_NET_TCP_READAHEAD
|
||||
uip_tcpreadahead_init();
|
||||
#endif
|
||||
#endif /* CONFIG_NET_TCP */
|
||||
|
||||
/* Initialize the TCP/IP write buffering */
|
||||
|
||||
#ifdef CONFIG_NET_TCP_WRITE_BUFFERS
|
||||
tcp_wrbuffer_initialize();
|
||||
#endif
|
||||
#endif /* CONFIG_NET_TCP */
|
||||
|
||||
/* Initialize the UDP connection structures */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user