TCP Read-Ahead: Convert to use I/O buffer chains

This commit is contained in:
Gregory Nutt 2014-06-24 15:38:00 -06:00
parent 3f4ecebedd
commit fabcb6d37e
91 changed files with 508 additions and 600 deletions

24
TODO
View File

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

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

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

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

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

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

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

View File

@ -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
#

View File

@ -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
#

View File

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

View File

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

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

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

View File

@ -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
#

View File

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

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
#

View File

@ -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
*

View File

@ -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.
*/

View File

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

View File

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

View File

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

View File

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

View File

@ -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 */

View File

@ -223,5 +223,5 @@ int iob_copyin(FAR struct iob_s *iob, FAR const uint8_t *src,
offset = 0;
}
return 0;
return OK;
}

View File

@ -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 */

View File

@ -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 */

View File

@ -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.
*
****************************************************************************/

View File

@ -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. */

View File

@ -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;

View File

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

View File

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

View File

@ -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 */

View File

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

View File

@ -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 */

View File

@ -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 */

View File

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

View File

@ -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 */