diff --git a/TODO b/TODO index 3530567a08..2681212714 100644 --- a/TODO +++ b/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 diff --git a/configs/c5471evm/httpd/defconfig b/configs/c5471evm/httpd/defconfig index 375b3e64b3..ef3294ba09 100644 --- a/configs/c5471evm/httpd/defconfig +++ b/configs/c5471evm/httpd/defconfig @@ -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 # diff --git a/configs/c5471evm/nettest/defconfig b/configs/c5471evm/nettest/defconfig index 45c302cdca..0c05b25e4a 100644 --- a/configs/c5471evm/nettest/defconfig +++ b/configs/c5471evm/nettest/defconfig @@ -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 # diff --git a/configs/c5471evm/nsh/defconfig b/configs/c5471evm/nsh/defconfig index b943e5d62b..803f971446 100644 --- a/configs/c5471evm/nsh/defconfig +++ b/configs/c5471evm/nsh/defconfig @@ -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 # diff --git a/configs/cloudctrl/nsh/defconfig b/configs/cloudctrl/nsh/defconfig index 6aa1fb4952..63ef8d27c7 100644 --- a/configs/cloudctrl/nsh/defconfig +++ b/configs/cloudctrl/nsh/defconfig @@ -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 diff --git a/configs/eagle100/httpd/defconfig b/configs/eagle100/httpd/defconfig index 00c8f4b8be..c3a8c3b7de 100644 --- a/configs/eagle100/httpd/defconfig +++ b/configs/eagle100/httpd/defconfig @@ -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 # diff --git a/configs/eagle100/nettest/defconfig b/configs/eagle100/nettest/defconfig index 4f1b4eab00..c2ccee25d7 100644 --- a/configs/eagle100/nettest/defconfig +++ b/configs/eagle100/nettest/defconfig @@ -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 # diff --git a/configs/eagle100/nsh/defconfig b/configs/eagle100/nsh/defconfig index 9410f472ff..577b2c7fcc 100644 --- a/configs/eagle100/nsh/defconfig +++ b/configs/eagle100/nsh/defconfig @@ -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 # diff --git a/configs/eagle100/thttpd/defconfig b/configs/eagle100/thttpd/defconfig index 77440cf346..503fa93c6e 100644 --- a/configs/eagle100/thttpd/defconfig +++ b/configs/eagle100/thttpd/defconfig @@ -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 # diff --git a/configs/ekk-lm3s9b96/nsh/defconfig b/configs/ekk-lm3s9b96/nsh/defconfig index 6ef2f467a4..fb725cddb1 100644 --- a/configs/ekk-lm3s9b96/nsh/defconfig +++ b/configs/ekk-lm3s9b96/nsh/defconfig @@ -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 # diff --git a/configs/ez80f910200zco/httpd/defconfig b/configs/ez80f910200zco/httpd/defconfig index fd1a186fd4..f3ed9b29e5 100644 --- a/configs/ez80f910200zco/httpd/defconfig +++ b/configs/ez80f910200zco/httpd/defconfig @@ -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 # diff --git a/configs/ez80f910200zco/nettest/defconfig b/configs/ez80f910200zco/nettest/defconfig index 48f5b19d6f..d91299244e 100644 --- a/configs/ez80f910200zco/nettest/defconfig +++ b/configs/ez80f910200zco/nettest/defconfig @@ -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 # diff --git a/configs/ez80f910200zco/nsh/defconfig b/configs/ez80f910200zco/nsh/defconfig index 3d4c25bfea..ec905a7808 100644 --- a/configs/ez80f910200zco/nsh/defconfig +++ b/configs/ez80f910200zco/nsh/defconfig @@ -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 # diff --git a/configs/ez80f910200zco/poll/defconfig b/configs/ez80f910200zco/poll/defconfig index 78ebd9d035..39da347302 100644 --- a/configs/ez80f910200zco/poll/defconfig +++ b/configs/ez80f910200zco/poll/defconfig @@ -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 # diff --git a/configs/fire-stm32v2/nsh/defconfig b/configs/fire-stm32v2/nsh/defconfig index 302c8f65be..c2cb656b9b 100644 --- a/configs/fire-stm32v2/nsh/defconfig +++ b/configs/fire-stm32v2/nsh/defconfig @@ -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 diff --git a/configs/lm3s6432-s2e/nsh/defconfig b/configs/lm3s6432-s2e/nsh/defconfig index ec2d618ceb..995daae3f0 100644 --- a/configs/lm3s6432-s2e/nsh/defconfig +++ b/configs/lm3s6432-s2e/nsh/defconfig @@ -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 # diff --git a/configs/lm3s6965-ek/discover/defconfig b/configs/lm3s6965-ek/discover/defconfig index addaa01427..47a81688cf 100644 --- a/configs/lm3s6965-ek/discover/defconfig +++ b/configs/lm3s6965-ek/discover/defconfig @@ -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 # diff --git a/configs/lm3s6965-ek/nsh/defconfig b/configs/lm3s6965-ek/nsh/defconfig index addaa01427..47a81688cf 100644 --- a/configs/lm3s6965-ek/nsh/defconfig +++ b/configs/lm3s6965-ek/nsh/defconfig @@ -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 # diff --git a/configs/lm3s6965-ek/tcpecho/defconfig b/configs/lm3s6965-ek/tcpecho/defconfig index fc4358e7df..c536c9bb00 100644 --- a/configs/lm3s6965-ek/tcpecho/defconfig +++ b/configs/lm3s6965-ek/tcpecho/defconfig @@ -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 # diff --git a/configs/lm3s8962-ek/nsh/defconfig b/configs/lm3s8962-ek/nsh/defconfig index f57038fa7f..e12d3fb44e 100644 --- a/configs/lm3s8962-ek/nsh/defconfig +++ b/configs/lm3s8962-ek/nsh/defconfig @@ -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 # diff --git a/configs/lpcxpresso-lpc1768/nsh/defconfig b/configs/lpcxpresso-lpc1768/nsh/defconfig index d3faa6919d..0bd0d25a7e 100644 --- a/configs/lpcxpresso-lpc1768/nsh/defconfig +++ b/configs/lpcxpresso-lpc1768/nsh/defconfig @@ -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 # diff --git a/configs/lpcxpresso-lpc1768/thttpd/defconfig b/configs/lpcxpresso-lpc1768/thttpd/defconfig index 2ffaca630b..1587c899ce 100644 --- a/configs/lpcxpresso-lpc1768/thttpd/defconfig +++ b/configs/lpcxpresso-lpc1768/thttpd/defconfig @@ -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 # diff --git a/configs/ntosd-dm320/nettest/defconfig b/configs/ntosd-dm320/nettest/defconfig index bad3d07ad2..e66240584a 100644 --- a/configs/ntosd-dm320/nettest/defconfig +++ b/configs/ntosd-dm320/nettest/defconfig @@ -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 # diff --git a/configs/ntosd-dm320/nsh/defconfig b/configs/ntosd-dm320/nsh/defconfig index 163567e56f..ae9f3b6fe3 100644 --- a/configs/ntosd-dm320/nsh/defconfig +++ b/configs/ntosd-dm320/nsh/defconfig @@ -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 # diff --git a/configs/ntosd-dm320/poll/defconfig b/configs/ntosd-dm320/poll/defconfig index 0f43c22724..d8769f561d 100644 --- a/configs/ntosd-dm320/poll/defconfig +++ b/configs/ntosd-dm320/poll/defconfig @@ -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 # diff --git a/configs/ntosd-dm320/thttpd/defconfig b/configs/ntosd-dm320/thttpd/defconfig index 7308ed851e..2a73e10544 100644 --- a/configs/ntosd-dm320/thttpd/defconfig +++ b/configs/ntosd-dm320/thttpd/defconfig @@ -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 # diff --git a/configs/ntosd-dm320/uip/defconfig b/configs/ntosd-dm320/uip/defconfig index 269d1cfa74..8642a8d9d0 100644 --- a/configs/ntosd-dm320/uip/defconfig +++ b/configs/ntosd-dm320/uip/defconfig @@ -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 # diff --git a/configs/olimex-lpc1766stk/ftpc/defconfig b/configs/olimex-lpc1766stk/ftpc/defconfig index 3c4a1afa4a..301f342717 100644 --- a/configs/olimex-lpc1766stk/ftpc/defconfig +++ b/configs/olimex-lpc1766stk/ftpc/defconfig @@ -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 # diff --git a/configs/olimex-lpc1766stk/hidmouse/defconfig b/configs/olimex-lpc1766stk/hidmouse/defconfig index 21c315b805..507a7bd2fb 100644 --- a/configs/olimex-lpc1766stk/hidmouse/defconfig +++ b/configs/olimex-lpc1766stk/hidmouse/defconfig @@ -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 # diff --git a/configs/olimex-lpc1766stk/nettest/defconfig b/configs/olimex-lpc1766stk/nettest/defconfig index f074491218..6e66d47329 100644 --- a/configs/olimex-lpc1766stk/nettest/defconfig +++ b/configs/olimex-lpc1766stk/nettest/defconfig @@ -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 # diff --git a/configs/olimex-lpc1766stk/nsh/defconfig b/configs/olimex-lpc1766stk/nsh/defconfig index e444a6d67a..d9033a4c7d 100644 --- a/configs/olimex-lpc1766stk/nsh/defconfig +++ b/configs/olimex-lpc1766stk/nsh/defconfig @@ -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 # diff --git a/configs/olimex-lpc1766stk/slip-httpd/defconfig b/configs/olimex-lpc1766stk/slip-httpd/defconfig index 13b1f529c4..b9ead68ecd 100644 --- a/configs/olimex-lpc1766stk/slip-httpd/defconfig +++ b/configs/olimex-lpc1766stk/slip-httpd/defconfig @@ -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 diff --git a/configs/olimex-lpc1766stk/thttpd/defconfig b/configs/olimex-lpc1766stk/thttpd/defconfig index f04e98e9c0..4be3b0cf08 100644 --- a/configs/olimex-lpc1766stk/thttpd/defconfig +++ b/configs/olimex-lpc1766stk/thttpd/defconfig @@ -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 # diff --git a/configs/olimex-lpc1766stk/zmodem/defconfig b/configs/olimex-lpc1766stk/zmodem/defconfig index ce5da73d62..321cdeaee1 100644 --- a/configs/olimex-lpc1766stk/zmodem/defconfig +++ b/configs/olimex-lpc1766stk/zmodem/defconfig @@ -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 # diff --git a/configs/olimex-stm32-p107/nsh/defconfig b/configs/olimex-stm32-p107/nsh/defconfig index cbd4af0fe6..96f67a5a17 100644 --- a/configs/olimex-stm32-p107/nsh/defconfig +++ b/configs/olimex-stm32-p107/nsh/defconfig @@ -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 diff --git a/configs/olimex-stm32-p207/nsh/defconfig b/configs/olimex-stm32-p207/nsh/defconfig index 71ee3a9a23..9f43d37d9c 100644 --- a/configs/olimex-stm32-p207/nsh/defconfig +++ b/configs/olimex-stm32-p207/nsh/defconfig @@ -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 diff --git a/configs/olimex-strp711/nettest/defconfig b/configs/olimex-strp711/nettest/defconfig index c4dc098d50..0c24a0f407 100644 --- a/configs/olimex-strp711/nettest/defconfig +++ b/configs/olimex-strp711/nettest/defconfig @@ -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 # diff --git a/configs/pic32-starterkit/nsh2/defconfig b/configs/pic32-starterkit/nsh2/defconfig index a171003c69..cf0fc455af 100644 --- a/configs/pic32-starterkit/nsh2/defconfig +++ b/configs/pic32-starterkit/nsh2/defconfig @@ -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 # diff --git a/configs/pic32mx7mmb/nsh/defconfig b/configs/pic32mx7mmb/nsh/defconfig index 9fc6dadff2..83b39d98b5 100644 --- a/configs/pic32mx7mmb/nsh/defconfig +++ b/configs/pic32mx7mmb/nsh/defconfig @@ -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 # diff --git a/configs/rgmp/arm/default/defconfig b/configs/rgmp/arm/default/defconfig index a0b63bc04f..ba309aff3d 100644 --- a/configs/rgmp/arm/default/defconfig +++ b/configs/rgmp/arm/default/defconfig @@ -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 # diff --git a/configs/rgmp/arm/nsh/defconfig b/configs/rgmp/arm/nsh/defconfig index cc5c92aa47..dea6ce875f 100644 --- a/configs/rgmp/arm/nsh/defconfig +++ b/configs/rgmp/arm/nsh/defconfig @@ -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 # diff --git a/configs/rgmp/x86/cxxtest/defconfig b/configs/rgmp/x86/cxxtest/defconfig index ed7ce4dd16..7fcc74b28a 100644 --- a/configs/rgmp/x86/cxxtest/defconfig +++ b/configs/rgmp/x86/cxxtest/defconfig @@ -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 # diff --git a/configs/rgmp/x86/default/defconfig b/configs/rgmp/x86/default/defconfig index d882b8cf6b..9ea922f014 100644 --- a/configs/rgmp/x86/default/defconfig +++ b/configs/rgmp/x86/default/defconfig @@ -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 # diff --git a/configs/rgmp/x86/helloxx/defconfig b/configs/rgmp/x86/helloxx/defconfig index 616cfbcba6..312b318393 100644 --- a/configs/rgmp/x86/helloxx/defconfig +++ b/configs/rgmp/x86/helloxx/defconfig @@ -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 # diff --git a/configs/rgmp/x86/nsh/defconfig b/configs/rgmp/x86/nsh/defconfig index 429bb9a482..a455b18ec8 100644 --- a/configs/rgmp/x86/nsh/defconfig +++ b/configs/rgmp/x86/nsh/defconfig @@ -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 # diff --git a/configs/sam4e-ek/nsh/defconfig b/configs/sam4e-ek/nsh/defconfig index e16d92c831..111edc99a0 100644 --- a/configs/sam4e-ek/nsh/defconfig +++ b/configs/sam4e-ek/nsh/defconfig @@ -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 # diff --git a/configs/sam4e-ek/usbnsh/defconfig b/configs/sam4e-ek/usbnsh/defconfig index f3d67290d7..1324d549f1 100644 --- a/configs/sam4e-ek/usbnsh/defconfig +++ b/configs/sam4e-ek/usbnsh/defconfig @@ -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 # diff --git a/configs/shenzhou/nsh/defconfig b/configs/shenzhou/nsh/defconfig index 8ff61a9a14..ee442559ee 100644 --- a/configs/shenzhou/nsh/defconfig +++ b/configs/shenzhou/nsh/defconfig @@ -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 diff --git a/configs/shenzhou/nxwm/defconfig b/configs/shenzhou/nxwm/defconfig index 5179d010fd..4a4df03ed3 100644 --- a/configs/shenzhou/nxwm/defconfig +++ b/configs/shenzhou/nxwm/defconfig @@ -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 # diff --git a/configs/shenzhou/thttpd/defconfig b/configs/shenzhou/thttpd/defconfig index 03cada3928..3c13c9ddfe 100644 --- a/configs/shenzhou/thttpd/defconfig +++ b/configs/shenzhou/thttpd/defconfig @@ -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 diff --git a/configs/sim/nettest/defconfig b/configs/sim/nettest/defconfig index bcbd3b2b95..01963df630 100644 --- a/configs/sim/nettest/defconfig +++ b/configs/sim/nettest/defconfig @@ -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 # diff --git a/configs/stm3220g-eval/nettest/defconfig b/configs/stm3220g-eval/nettest/defconfig index fcdb162e0e..99f5516e88 100644 --- a/configs/stm3220g-eval/nettest/defconfig +++ b/configs/stm3220g-eval/nettest/defconfig @@ -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 # diff --git a/configs/stm3220g-eval/nsh/defconfig b/configs/stm3220g-eval/nsh/defconfig index 09aeb18a9a..5893e747d4 100644 --- a/configs/stm3220g-eval/nsh/defconfig +++ b/configs/stm3220g-eval/nsh/defconfig @@ -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 # diff --git a/configs/stm3220g-eval/nsh2/defconfig b/configs/stm3220g-eval/nsh2/defconfig index f66fe5a1a3..88ed24d93c 100644 --- a/configs/stm3220g-eval/nsh2/defconfig +++ b/configs/stm3220g-eval/nsh2/defconfig @@ -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 # diff --git a/configs/stm3220g-eval/nxwm/defconfig b/configs/stm3220g-eval/nxwm/defconfig index d15e31176c..15095a5a8b 100644 --- a/configs/stm3220g-eval/nxwm/defconfig +++ b/configs/stm3220g-eval/nxwm/defconfig @@ -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 # diff --git a/configs/stm3220g-eval/telnetd/defconfig b/configs/stm3220g-eval/telnetd/defconfig index c173ac3ca8..33bca89736 100644 --- a/configs/stm3220g-eval/telnetd/defconfig +++ b/configs/stm3220g-eval/telnetd/defconfig @@ -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 # diff --git a/configs/stm3240g-eval/discover/defconfig b/configs/stm3240g-eval/discover/defconfig index 248eb57920..002fc48c5a 100644 --- a/configs/stm3240g-eval/discover/defconfig +++ b/configs/stm3240g-eval/discover/defconfig @@ -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 # diff --git a/configs/stm3240g-eval/nettest/defconfig b/configs/stm3240g-eval/nettest/defconfig index 7104b00460..40b6d4e46d 100644 --- a/configs/stm3240g-eval/nettest/defconfig +++ b/configs/stm3240g-eval/nettest/defconfig @@ -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 # diff --git a/configs/stm3240g-eval/nsh/defconfig b/configs/stm3240g-eval/nsh/defconfig index 89f0e35736..a42a7b8eb5 100644 --- a/configs/stm3240g-eval/nsh/defconfig +++ b/configs/stm3240g-eval/nsh/defconfig @@ -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 # diff --git a/configs/stm3240g-eval/nsh2/defconfig b/configs/stm3240g-eval/nsh2/defconfig index 1701faa207..01e2963d6a 100644 --- a/configs/stm3240g-eval/nsh2/defconfig +++ b/configs/stm3240g-eval/nsh2/defconfig @@ -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 # diff --git a/configs/stm3240g-eval/nxconsole/defconfig b/configs/stm3240g-eval/nxconsole/defconfig index 0ee0b0a50e..cd5c0260d3 100644 --- a/configs/stm3240g-eval/nxconsole/defconfig +++ b/configs/stm3240g-eval/nxconsole/defconfig @@ -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 # diff --git a/configs/stm3240g-eval/nxwm/defconfig b/configs/stm3240g-eval/nxwm/defconfig index efa8c44e6f..b0637eadaa 100644 --- a/configs/stm3240g-eval/nxwm/defconfig +++ b/configs/stm3240g-eval/nxwm/defconfig @@ -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 # diff --git a/configs/stm3240g-eval/telnetd/defconfig b/configs/stm3240g-eval/telnetd/defconfig index 60df903b95..d3968671d2 100644 --- a/configs/stm3240g-eval/telnetd/defconfig +++ b/configs/stm3240g-eval/telnetd/defconfig @@ -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 # diff --git a/configs/stm3240g-eval/webserver/defconfig b/configs/stm3240g-eval/webserver/defconfig index 6b0fa24428..4681562981 100644 --- a/configs/stm3240g-eval/webserver/defconfig +++ b/configs/stm3240g-eval/webserver/defconfig @@ -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 # diff --git a/configs/stm3240g-eval/xmlrpc/defconfig b/configs/stm3240g-eval/xmlrpc/defconfig index ba015dcba4..7bdd1e7b11 100644 --- a/configs/stm3240g-eval/xmlrpc/defconfig +++ b/configs/stm3240g-eval/xmlrpc/defconfig @@ -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 # diff --git a/configs/viewtool-stm32f107/netnsh/defconfig b/configs/viewtool-stm32f107/netnsh/defconfig index 3a32331b6e..e4f0bcfaf8 100644 --- a/configs/viewtool-stm32f107/netnsh/defconfig +++ b/configs/viewtool-stm32f107/netnsh/defconfig @@ -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 # diff --git a/configs/zkit-arm-1769/hello/defconfig b/configs/zkit-arm-1769/hello/defconfig index 9495b13222..2a6d23b1d5 100644 --- a/configs/zkit-arm-1769/hello/defconfig +++ b/configs/zkit-arm-1769/hello/defconfig @@ -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 # diff --git a/configs/zkit-arm-1769/nsh/defconfig b/configs/zkit-arm-1769/nsh/defconfig index 040fe00fac..ae11539e94 100644 --- a/configs/zkit-arm-1769/nsh/defconfig +++ b/configs/zkit-arm-1769/nsh/defconfig @@ -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 # diff --git a/configs/zkit-arm-1769/nxhello/defconfig b/configs/zkit-arm-1769/nxhello/defconfig index acbf63c84d..abd30fa99c 100644 --- a/configs/zkit-arm-1769/nxhello/defconfig +++ b/configs/zkit-arm-1769/nxhello/defconfig @@ -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 # diff --git a/configs/zkit-arm-1769/thttpd/defconfig b/configs/zkit-arm-1769/thttpd/defconfig index 48c1a8705a..50599cee17 100644 --- a/configs/zkit-arm-1769/thttpd/defconfig +++ b/configs/zkit-arm-1769/thttpd/defconfig @@ -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 # diff --git a/include/nuttx/net/iob.h b/include/nuttx/net/iob.h index d3eebe8d50..333e806b31 100644 --- a/include/nuttx/net/iob.h +++ b/include/nuttx/net/iob.h @@ -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 * diff --git a/include/nuttx/net/netconfig.h b/include/nuttx/net/netconfig.h index ab2135ee4c..5638c2718e 100644 --- a/include/nuttx/net/netconfig.h +++ b/include/nuttx/net/netconfig.h @@ -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. */ diff --git a/include/nuttx/net/tcp.h b/include/nuttx/net/tcp.h index 6cba929340..b5d691b5df 100644 --- a/include/nuttx/net/tcp.h +++ b/include/nuttx/net/tcp.h @@ -55,7 +55,9 @@ #include #include + #include +#include #include /**************************************************************************** @@ -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 diff --git a/net/iob/Kconfig b/net/iob/Kconfig index b8481ab9ee..5bb6e4c6b1 100644 --- a/net/iob/Kconfig +++ b/net/iob/Kconfig @@ -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 diff --git a/net/iob/Make.defs b/net/iob/Make.defs index 205ef72ea7..0eb2e0f9bd 100644 --- a/net/iob/Make.defs +++ b/net/iob/Make.defs @@ -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 diff --git a/net/iob/iob_alloc.c b/net/iob/iob_alloc.c index 672d1e2e7e..179908d469 100644 --- a/net/iob/iob_alloc.c +++ b/net/iob/iob_alloc.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 diff --git a/net/iob/iob_alloc_qentry.c b/net/iob/iob_alloc_qentry.c index f75d210097..8f425adb0d 100644 --- a/net/iob/iob_alloc_qentry.c +++ b/net/iob/iob_alloc_qentry.c @@ -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 */ diff --git a/net/iob/iob_copyin.c b/net/iob/iob_copyin.c index 1cfd1f697a..75d82023ca 100644 --- a/net/iob/iob_copyin.c +++ b/net/iob/iob_copyin.c @@ -223,5 +223,5 @@ int iob_copyin(FAR struct iob_s *iob, FAR const uint8_t *src, offset = 0; } - return 0; + return OK; } diff --git a/net/iob/iob_free.c b/net/iob/iob_free.c index ada8a7fe6c..984287600d 100644 --- a/net/iob/iob_free.c +++ b/net/iob/iob_free.c @@ -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 */ diff --git a/net/iob/iob_initialize.c b/net/iob/iob_initialize.c index 8971f8d63c..647eb0649c 100644 --- a/net/iob/iob_initialize.c +++ b/net/iob/iob_initialize.c @@ -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 */ diff --git a/net/iob/iob_remove_queue.c b/net/iob/iob_remove_queue.c index f516ad0479..e134bcd016 100644 --- a/net/iob/iob_remove_queue.c +++ b/net/iob/iob_remove_queue.c @@ -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. * ****************************************************************************/ diff --git a/net/net_poll.c b/net/net_poll.c index 00900919ab..a8f873ea70 100644 --- a/net/net_poll.c +++ b/net/net_poll.c @@ -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. */ diff --git a/net/recvfrom.c b/net/recvfrom.c index 79e1e339b4..5c6a5aa070 100644 --- a/net/recvfrom.c +++ b/net/recvfrom.c @@ -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 @@ -316,69 +316,63 @@ static inline void recvfrom_newudpdata(FAR struct uip_driver_s *dev, #if defined(CONFIG_NET_TCP) && defined(CONFIG_NET_TCP_READAHEAD) 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 uip_conn *conn = (FAR struct uip_conn *)pstate->rf_sock->s_conn; + 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) + /* Transfer that buffered data from the I/O buffer chain into + * the user buffer. + */ + + 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 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 >= iob->io_pktlen) { - /* We have a new buffer... transfer that buffered data into - * the user buffer. - * - * First, get the length of the data to transfer. + FAR struct iob_s *tmp; + + /* Remove the I/O buffer chain from the head of the read-ahead + * buffer queue. */ - if (readahead->rh_nbytes > pstate->rf_buflen) - { - recvlen = pstate->rf_buflen; - } - else - { - recvlen = readahead->rh_nbytes; - } + tmp = iob_remove_queue(&conn->readahead); + DEBUGASSERT(tmp == iob); + UNUSED(tmp); - if (recvlen > 0) - { - /* Copy the read-ahead data into the user buffer */ + /* And free the I/O buffer chain */ - memcpy(pstate->rf_buffer, readahead->rh_buffer, recvlen); - nllvdbg("Received %d bytes (of %d)\n", recvlen, readahead->rh_nbytes); - - /* 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. + (void)iob_free_chain(iob); + } + else + { + /* The bytes that we have received from the from of the I/O + * buffer chain. */ - if (recvlen < readahead->rh_nbytes) - { - readahead->rh_nbytes -= recvlen; - memcpy(readahead->rh_buffer, &readahead->rh_buffer[recvlen], - readahead->rh_nbytes); - sq_addfirst(&readahead->rh_node, &conn->readahead); - } - else - { - uip_tcpreadahead_release(readahead); - } + (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; diff --git a/net/tcp/Kconfig b/net/tcp/Kconfig index dacb963951..b46b1ab842 100644 --- a/net/tcp/Kconfig +++ b/net/tcp/Kconfig @@ -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 diff --git a/net/tcp/Make.defs b/net/tcp/Make.defs index 609fa24bb0..c2d5f66f57 100644 --- a/net/tcp/Make.defs +++ b/net/tcp/Make.defs @@ -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 diff --git a/net/tcp/tcp_callback.c b/net/tcp/tcp_callback.c index b05027c5b3..f9a99d7ab8 100644 --- a/net/tcp/tcp_callback.c +++ b/net/tcp/tcp_callback.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 * * 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,17 +100,12 @@ 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. */ - if (recvlen < buflen) + recvlen = uip_datahandler(conn, buffer, buflen); + if (recvlen < buflen) #endif { /* There is no handler to receive new data and there are no free @@ -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) */ - 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) + iob = iob_alloc(true); + if (iob == 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; - } - } - - /* Do we need to buffer into the newly allocated buffer as well? */ - - if (readahead2) - { - 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 create new I/O buffer chain\n"); + return 0; } - nllvdbg("Buffered %d bytes (of %d)\n", recvlen, buflen); - return recvlen; + /* 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. + */ + + nlldbg("ERROR: Failed to add data to the I/O buffer chain: %d\n", ret); + (void)iob_free_chain(iob); + return 0; + } + + /* Add the new I/O buffer chain to the tail of the read-ahead queue */ + + ret = iob_add_queue(iob, &conn->readahead); + if (ret < 0) + { + nlldbg("ERROR: Failed to queue the I/O buffer chain: %d\n", ret); + (void)iob_free_chain(iob); + return 0; + } + + nllvdbg("Buffered %d bytes\n", buflen); + return buflen; } #endif /* CONFIG_NET_TCP_READAHEAD */ diff --git a/net/tcp/tcp_conn.c b/net/tcp/tcp_conn.c index 893c956428..573d8cbf9b 100644 --- a/net/tcp/tcp_conn.c +++ b/net/tcp/tcp_conn.c @@ -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 diff --git a/net/tcp/tcp_readahead.c b/net/tcp/tcp_readahead.c deleted file mode 100644 index 059abbc5c3..0000000000 --- a/net/tcp/tcp_readahead.c +++ /dev/null @@ -1,143 +0,0 @@ -/**************************************************************************** - * net/tcp/tcp_readahead.c - * - * Copyright (C) 2007-2009, 2013-2014 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt - * - * 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 -#if defined(CONFIG_NET) && defined(CONFIG_NET_TCP) && defined(CONFIG_NET_TCP_READAHEAD) - -#include -#include - -#include - -#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 */ diff --git a/net/tcp/tcp_send_buffered.c b/net/tcp/tcp_send_buffered.c index 05a0e4bfbb..f8fcb57154 100644 --- a/net/tcp/tcp_send_buffered.c +++ b/net/tcp/tcp_send_buffered.c @@ -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 */ diff --git a/net/uip/uip.h b/net/uip/uip.h index 91e804d0fd..06c4b58eaa 100644 --- a/net/uip/uip.h +++ b/net/uip/uip.h @@ -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 diff --git a/net/uip/uip_initialize.c b/net/uip/uip_initialize.c index a76f0a1bd6..8b88d5cf85 100644 --- a/net/uip/uip_initialize.c +++ b/net/uip/uip_initialize.c @@ -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 */