Xiang Xiao
4d66266a8e
sched: Don't include nuttx/sched.h inside sched.h
...
But let nuttx/sched.h include sched.h instead to
avoid expose nuttx kernel API to userspace.
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I6fe673364be9eb1259381e6575d4c1a9fea58097
2021-06-13 00:25:26 -07:00
chao.an
2152a35662
net: fix build break
...
Change-Id: I662580ded8d1c98ddcfbcfae961978eb3512e3b9
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-06-09 22:07:45 +08:00
chao.an
af44043ec0
net: add support of FIONREAD
...
Change-Id: Iebfdd960f4e9b184558e390f78ec7f8369753b5b
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-06-09 09:47:59 +08:00
liuhaitao
dc639b2b59
Merge remote-tracking branch 'mirtos/master' into dev-upmerge-nuttx-10.1-0507
...
Change-Id: I4bb3a61356be2b4a77ccfe45390b15e68a376dd6
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2021-05-07 20:46:07 +08:00
ligd
e3b05bbd14
net/tcp: fix tcp crash when net meet popen syscall
...
tcp_close_monitor should free all the connevents which
belong to current psock
Change-Id: Ifc625d7bc44a02930921d75975cb9b5835c2deeb
Signed-off-by: ligd <liguiding1@xiaomi.com>
(cherry picked from commit 7134b1df4aa91fe4f2575cd9c2322d36710865dc)
2021-04-15 22:07:26 +08:00
Huang Qi
e395bced19
net: Rename IP_TTL to IP_TTL_DEFAULT
...
Since a SOL option IP_TTL exist, we should rename this IP_TTL
in netconfig.h to avoid confusion.
Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
Change-Id: Ib04c36553f23bce8d362e97294a8b83eaa050cf3
2021-04-13 13:58:12 +08:00
YAMAMOTO Takashi
acc3596adc
tcp_netpoll.c: Fix a performance issue with CONFIG_NET_TCP_WRITE_BUFFERS
...
Tested with a modified version of webclient, which uses non-blocking i/o.
The packet dumps look more reasonable with this change.
2021-04-05 06:16:46 -05:00
chao.an
621242e890
net/tcp: support bind the same port with different domain
...
Reference here:
https://man7.org/linux/man-pages/man7/ipv6.7.html
IPV6_V6ONLY slice
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-04-01 20:05:14 -04:00
YAMAMOTO Takashi
09869e5d41
net/tcp/tcp.h: Remove unused extern g_netdevices
2021-03-30 12:27:50 -05:00
YAMAMOTO Takashi
1c29a2e8e8
net/tcp/tcp_send_buffered.c: Fix non-blocking I/O
...
My recent changes to buffered tcp send broke this. [1]
One of my local apps using non-blocking tcp is working
again with this fix.
[1]
```
commit 837e1a72a4
Author: YAMAMOTO Takashi <yamamoto@midokura.com>
Date: Mon Mar 15 16:19:42 2021 +0900
tcp_send_buffered.c: improve tcp write buffering
```
2021-03-30 01:12:55 -05:00
YAMAMOTO Takashi
271e748ba5
tcp_send_buffered.c: Add a bit more info to an ninfo()
2021-03-30 01:12:55 -05:00
YAMAMOTO Takashi
a2840b6354
tcp_send_buffered.c: Add an assertion
2021-03-30 01:12:55 -05:00
YAMAMOTO Takashi
ef9adcf399
tcp_send_buffered.c: Remove dead code
2021-03-30 01:12:55 -05:00
chao.an
2dbe215f4c
net/tcp: support bind the same port with different domain
...
Reference here:
https://man7.org/linux/man-pages/man7/ipv6.7.html
IPV6_V6ONLY slice
Change-Id: Ia7f12a5a676536ba8d347278d30d45e33c6838f5
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-24 00:10:58 +08:00
YAMAMOTO Takashi
837e1a72a4
tcp_send_buffered.c: improve tcp write buffering
...
* Send data chunk-by-chunk
Note: A stream socket doesn't have atomicity requirement.
* Increase the chance to use full-sized segments
Benchmark numbers in my environment:
* Over ESP32 wifi
* The peer is NetBSD, which has traditional delayed ack TCP
* iperf uses 16384 bytes buffer
---
without this patch,
CONFIG_IOB_NBUFFERS=36
CONFIG_IOB_BUFSIZE=196
does not work.
see https://github.com/apache/incubator-nuttx/pull/2772#discussion_r592820639
---
without this patch,
CONFIG_IOB_NBUFFERS=128
CONFIG_IOB_BUFSIZE=196
```
nsh> iperf -c 192.168.8.1
IP: 192.168.8.103
mode=tcp-client sip=192.168.8.103:5001,dip=192.168.8.1:5001, interval=3, time=30
Interval Bandwidth
0- 3 sec, 4.11 Mbits/sec
3- 6 sec, 4.63 Mbits/sec
6- 9 sec, 4.89 Mbits/sec
9- 12 sec, 4.63 Mbits/sec
12- 15 sec, 4.85 Mbits/sec
15- 18 sec, 4.85 Mbits/sec
18- 21 sec, 5.02 Mbits/sec
21- 24 sec, 3.67 Mbits/sec
24- 27 sec, 4.94 Mbits/sec
27- 30 sec, 4.81 Mbits/sec
0- 30 sec, 4.64 Mbits/sec
nsh>
```
---
with this patch,
CONFIG_IOB_NBUFFERS=36
CONFIG_IOB_BUFSIZE=196
```
nsh> iperf -c 192.168.8.1
IP: 192.168.8.103
mode=tcp-client sip=192.168.8.103:5001,dip=192.168.8.1:5001, interval=3, time=30
Interval Bandwidth
0- 3 sec, 5.33 Mbits/sec
3- 6 sec, 5.59 Mbits/sec
6- 9 sec, 5.55 Mbits/sec
9- 12 sec, 5.59 Mbits/sec
12- 15 sec, 5.59 Mbits/sec
15- 18 sec, 5.72 Mbits/sec
18- 21 sec, 5.68 Mbits/sec
21- 24 sec, 5.29 Mbits/sec
24- 27 sec, 4.67 Mbits/sec
27- 30 sec, 4.50 Mbits/sec
0- 30 sec, 5.35 Mbits/sec
nsh>
```
---
with this patch,
CONFIG_IOB_NBUFFERS=128
CONFIG_IOB_BUFSIZE=196
```
nsh> iperf -c 192.168.8.1
IP: 192.168.8.103
mode=tcp-client sip=192.168.8.103:5001,dip=192.168.8.1:5001, interval=3, time=30
Interval Bandwidth
0- 3 sec, 5.51 Mbits/sec
3- 6 sec, 4.67 Mbits/sec
6- 9 sec, 4.54 Mbits/sec
9- 12 sec, 5.42 Mbits/sec
12- 15 sec, 5.37 Mbits/sec
15- 18 sec, 5.11 Mbits/sec
18- 21 sec, 5.07 Mbits/sec
21- 24 sec, 5.29 Mbits/sec
24- 27 sec, 5.77 Mbits/sec
27- 30 sec, 4.63 Mbits/sec
0- 30 sec, 5.14 Mbits/sec
nsh>
```
2021-03-22 01:12:59 -07:00
chao.an
e03218ab71
net/tcp: reset the connection ref count before tcp_free()
...
reset the connection refcount if SYN retry count has elapsed
Assertion:
up_assert: Assertion failed at file:tcp/tcp_conn.c line: 764 task: netdev_wq
N/A
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-22 10:55:30 +09:00
chao.an
a5613e6008
net/tcp: correct the port byte order
...
1. unify the byte order to network
2. Do not re-select the port if the local port has been bind()
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-20 09:13:18 -07:00
chao.an
6fe0941119
net/tcp: correct the port byte order
...
Change-Id: Ic68e9ff1ddd8b0f00c0a431bf108669edb8aa4fd
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-20 00:25:01 +08:00
YAMAMOTO Takashi
45098769e7
tcp_sendfile.c: Remove an unused copy of CONFIG_NET_TCP_SPLIT_SIZE
2021-03-15 04:52:58 -07:00
chao.an
6ef7435082
net/tcp: correct the cache output
...
Change-Id: I30e9352ca9c032e707a86f327c902a976f0cb375
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-12 16:34:06 +08:00
Masayuki Ishikawa
e65d5d8c73
Revert "net: tcp: Add DEBUGASSERT() in psock_tcp_send()"
...
Summary:
- Based on the discussion (PR#2772), let me revert the commit
Impact:
- None
Testing:
- N/A
This reverts commit ec8bf5c8c1 .
Suggested-by: YAMAMOTO Takashi <yamamoto@midokura.com>
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-12 16:23:01 +08:00
Gustavo Henrique Nihei
330eff36d7
sourcefiles: Fix relative path in file header
2021-03-09 23:18:28 +08:00
chao.an
c52fc22af1
Revert "net/tcp: return ENOTCONN if the connect migrate to the closed state"
...
This reverts commit 3d0775e79a .
2021-03-08 11:53:30 +08:00
chao.an
3d0775e79a
net/tcp: return ENOTCONN if the connect migrate to the closed state
...
Change-Id: I15ee2a7ccbdc792c2c910ee9632714622bc5e0fd
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-06 18:37:15 +08:00
chao.an
19947e0414
net/tcp: correct the port byte order
...
1. correct the port byte order
2. Do not re-select the port if the local port has been bind()
Change-Id: Ia83f7d1aab5c2c0007eb4141fcdaa9ccaea3d319
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-06 15:57:41 +08:00
Jiuzhu Dong
4d5a964f29
net: unify socket into file descriptor
...
Change-Id: I9bcd21564e6c97d3edbb38aed1748c114160ea36
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-03-03 19:01:41 -08:00
dongjiuzhu1
bb65de6cae
net: unify socket info file descriptor
...
MIRTOS-255
Change-Id: Iee680c8ac07fe87fb6e7900b4f792e0f1ff5036d
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-03-03 22:23:44 +08:00
ligd
49389e2695
mm/net/sched: fix warnings
...
Change-Id: I92db0e2cb7ff9e63eef8086a7cc084f67045d69c
Signed-off-by: ligd <liguiding1@xiaomi.com>
2021-03-03 19:26:43 +08:00
chao.an
60f7f71e6c
net/tcp: fix invaild application preload
...
Change-Id: Ifebe4c2715ccfc0e11d8b45792d51912f110d92e
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-03 00:25:35 +08:00
chao.an
800421e231
net/tcp: cache the drop packet to avoid retransmit
...
Change-Id: Ia27ed17a7708df8481ac96d9a3a870b6ccef4d24
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-02 10:12:56 +08:00
chao.an
af341ee4fc
mm/iob: rename the iob_free_queue() to iob_destroy_queue()
...
make the semantics more precise
Change-Id: Ie3ac87d6a478cdd65e9129e708afc833f0a124b0
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-02-26 20:38:44 +08:00
ligd
df76063a35
Revert "net: unify socket info file descriptor"
...
This reverts commit 27b332283e .
2021-02-26 10:21:02 +08:00
Jiuzhu Dong
27b332283e
net: unify socket info file descriptor
...
N/A
Change-Id: I9bcd21564e6c97d3edbb38aed1748c114160ea36
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-02-25 16:53:58 +08:00
Alin Jerpelea
37d5c1b0d9
net: Author Gregory Nutt: update licenses to Apache
...
Gregory Nutt has submitted the SGA and we can migrate the licenses
to Apache.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-20 00:38:18 -08:00
Alin Jerpelea
7dc7ef45f1
net: nxstyle fixes
...
Nxstyle fixes to pass CI.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-02-20 00:38:18 -08:00
chao.an
65b95eea6f
net/tcp: dynamic calculation of available iobs
...
Change-Id: I4b0d01204af74f1692ae061914617dbb4e8698c0
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-02-08 10:47:43 +08:00
Masayuki Ishikawa
ec8bf5c8c1
net: tcp: Add DEBUGASSERT() in psock_tcp_send()
...
Summary:
- This commit adds DEBUGASSERT() to check the IOB size
Impact:
- None
Testing:
- Tested with sabre-6quad:netnsh with QEMU
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-01-29 00:05:01 -08:00
chao.an
673526fc74
net/tcp: reset the connection ref count before tcp_free()
...
reset the connection refcount if SYN retry count has elapsed
Assertion:
up_assert: Assertion failed at file:tcp/tcp_conn.c line: 764 task: netdev_wq
N/A
Change-Id: I3b0966af52a9dc52d459e8b5aa7d478955d6691f
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-01-28 19:54:11 +08:00
chao.an
043c92fedd
net/tcp: only print the error when disable the TCP_NODELAY
...
Since we do not have the Nagle's algorithm,
the TCP_NODELAY socket option is enabled by default.
Change-Id: I0c8619bb06cf418f7eded5bd72ac512b349cacc5
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-01-18 18:21:55 +08:00
chao.an
4e77f7cf9f
net/tcp: change the log level to warning if iob_tryalloc fail
...
Change-Id: I544d8132ba89eebd9f29e793307010a35d9c161e
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-01-18 18:18:10 +08:00
Abdelatif Guettouche
7e3d4a5f29
net: Remove duplicate forward references.
...
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-01-16 07:39:04 -08:00
Abdelatif Guettouche
8e4397968c
net/ & esp32/wlan: Fix some typos and nxstyle issues.
...
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-01-14 07:57:27 -06:00
chao.an
ae5b727580
net/tcp/handshake: send the SYN immediately.
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-18 14:16:11 +09:00
chao.an
5e9e50991c
net/tcp: send the ack on nonblock mode
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-18 14:16:11 +09:00
chao.an
be88bb00ca
net/tcp/handshake: send the SYN immediately.
...
Change-Id: I761cff3b9950b75327fa03fb53b861ea088d8b35
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-15 21:41:29 +08:00
chao.an
ede54cad35
net/tcp: send the ack on nonblock mode
...
Change-Id: Ib5b74a97393c3fed4cc00c3678d738c1cb27ce1a
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-15 21:41:10 +08:00
Juha Niskanen
de1ad1fdb3
net: fix typos, incorrect comments, nxstyle
...
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
2020-12-13 09:06:28 -06:00
chao.an
8d0118569c
[Performance]net/tcp: send the ACK in time after obtain ahead buffer from iobs
...
Request the TCP ACK to estimate the receive window after handle
any data already buffered in a read-ahead buffer.
Change-Id: Id998a1125dd2991d73ba4bef081ddcb7adea4f0d
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-10 12:23:47 +09:00
chao.an
881dd9d62d
net/tcp: add a member to record the current receiving window
...
Change-Id: Ic4c46d643a905fdd3a828e563eab4814da70dbe5
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-10 12:23:47 +09:00
chao.an
794a6ec23d
net/tcp: rename the winszie to snd_wnd to make the semantics more accurate
...
Change-Id: I8fdc7cf78a7f2cd53a30ef1de702b1a697c43238
Signed-off-by: chao.an <anchao@xiaomi.com>
2020-12-10 12:23:47 +09:00