Xiang Xiao
a8cf6a6655
net: Fix: left shift of 1 by 31 places cannot be represented in type 'long int'
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Id2daa60834f7b1917b15bbad89b091b59311e988
2021-06-24 11:42:55 +08:00
Xiang Xiao
95338b2139
net/local: Remove all HAVE_LOCAL_POLL reference
...
since HAVE_LOCAL_POLL always hardcode to 1
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-06-17 21:52:54 +08:00
anchao
d24b879e63
Revert "net/socketpair: move socketpair implement into socket internal"
...
This reverts commit a66e18bc53 .
Reason for revert: <N/A>
Change-Id: I3b707a2f6f52fb4a9eb2ab649b686b955b879d65
2021-06-17 20:23:59 +08:00
chao.an
37c2bc18db
net/local: extern local_generate_instance_id() interface
...
Change-Id: I14273d11b1fe4d6bdc15b14e32da609cc7883713
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-06-16 17:28:14 +08:00
chao.an
a66e18bc53
net/socketpair: move socketpair implement into socket internal
...
Change-Id: I1c6d7178e2631e43d9fcc99918456eec36f730ce
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-06-16 15:19:44 +08:00
chao.an
6b1ca37048
net/accept: alloc the accept fd after accept success
...
Change-Id: Id879e831dcb5d25eff27cde76ca4cc59a000e02f
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-06-15 11:23:13 +08:00
chao.an
693bd87cab
net/sock: move the psock calloc out of sockfd_allocate
...
Change-Id: I3b5373ffe9a4034c2ac2cd83389fd46c47dc9047
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-06-15 11:23:13 +08:00
chao.an
c04f6dfebe
Revert "net/accept: alloc the accept fd after accept success"
...
This reverts commit 28363bf9a8 .
Change-Id: Iafa64ca1af83afa537cd00bf0f67ac76d749b86c
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-06-15 11:23:05 +08:00
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
28363bf9a8
net/accept: alloc the accept fd after accept success
...
Change-Id: Ib174b510e5be359197db575a9b7b5aceea97665d
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-06-09 23:09:08 +08: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
chao.an
1b4e9fc7da
net/dev: link the net device as order of registration
...
Change-Id: Idd5cc1e1ab01cd0e77d4ca4b7c4ed08b52d668a2
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-05-25 21:53:36 +08:00
liuhaitao
cc2966faa6
net/arp: fix merge error in upgrade nuttx-10.1
...
Change-Id: I397ef438b7bef1f6fa1d30d2edb5713cc2bf0d34
Signed-off-by: liuhaitao <liuhaitao@xiaomi.com>
2021-05-12 16:37:40 +08:00
chao.an
dcc2db8d40
make/archive: replace the dependency to preprequisite list
...
Change-Id: Id63f3cd32906461a54cb016ef8078d4d922845e2
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-05-07 21:34:45 +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
liuhaitao
e3166ecac0
Revert "make/archive: replace the dependency to preprequisite list"
...
This reverts commit 9c946e2af6 .
Change-Id: Ia8b7726d036c861d5eda51765d330e894e0d214a
2021-05-07 16:38:39 +08:00
chao.an
f8e800765c
net/local: correct the sendto() return length
...
return length should be data length
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-04-19 11:52:17 -05:00
chao.an
b96fc3fe84
net/igmp: drop the invalid packet
...
igmp message storm occurs if multiple nuttx devices works on same network.
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-04-19 07:46:47 -05: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
Jiuzhu Dong
09bdee7713
net/arp: Fix memory corruption in arp_send()
...
Summary:
- In arp_send(), arp_wait_setup() adds a notify object to g_arp_waiters
which is removed in arp_wait() in normal case.
- However, in timeout and error cases, the object was not removed and
caused memory corruption.
- This commit fixes this issue.
Impact:
- None
Testing:
- Tested with spresense:rndis_smp
Change-Id: I55e56661b7ff665171805af9106f3a04cc2c3cad
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-04-13 20:14:23 +08:00
Jiuzhu Dong
903d472f78
net/arp: Fix a potential bug in arp_notify()
...
Summary:
- In arp_wait_setup() and arp_wait_cancel(), g_arp_waiters
is protected by a critical section.
- However, I noticed that arp_notify() does not protect the
g_arp_waiters that would cause memory corruption
- This commit fixes the issue.
Impact:
- None
Testing:
- Tested with spresense:rndis_smp, spresense:rndis
Change-Id: I3e13d556dea0934f1d0edd6451ad2e51a86dfeed
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-04-13 20:13:59 +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
Jiuzhu Dong
d64d558adb
get/setsockopt: change break to return OK to fix bug
...
N/A
Change-Id: Ie5ecf640bcba6137904fcf3a0a465b2bc5d1cb92
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com>
2021-04-09 23:17:48 +08:00
Xu Xingliang
f8c5fe24fb
net: Forward socket option only when the socket type is usrsock
...
Signed-off-by: Xu Xingliang <xuxingliang@xiaomi.com>
Change-Id: I5e102c4c648936f96834120e2c508f7072436246
2021-04-09 16:58:55 +08:00
Xiang Xiao
0d12e8bae5
libc/assert: Reference the expression in all case
...
to avoid the warning "defined but not used"
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I55b7c092d0f2e5882fc1784987657c10cdf2d90b
2021-04-06 14:47:51 +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
Xiang Xiao
5f3a98b5a8
libc/assert: Reference the expression in all case
...
to avoid the warning "defined but not used"
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I55b7c092d0f2e5882fc1784987657c10cdf2d90b
2021-04-03 21:00:41 +01:00
Alin Jerpelea
08e5378b11
NuttX: Gregory Nutt: update licenses to Apache
...
Several licenses were missed in the initial work
David Sidrane has submitted the ICLA and we can migrate the 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-04-03 04:20:31 -07:00
Alin Jerpelea
8975a65197
net: fix nxstyle errors
...
fix errors reported by nxstyle
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2021-04-02 11:12:25 -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
Masayuki Ishikawa
59ed02c604
net: arp: Fix a potential bug in arp_notify()
...
Summary:
- In arp_wait_setup() and arp_wait_cancel(), g_arp_waiters
is protected by a critical section.
- However, I noticed that arp_notify() does not protect the
g_arp_waiters that would cause memory corruption
- This commit fixes the issue.
Impact:
- None
Testing:
- Tested with spresense:rndis_smp, spresense:rndis
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-31 12:23:35 -05:00
Masayuki Ishikawa
b3f7cf9ad9
net: arp: Fix memory corruption in arp_send()
...
Summary:
- In arp_send(), arp_wait_setup() adds a notify object to g_arp_waiters
which is removed in arp_wait() in normal case.
- However, in timeout and error cases, the object was not removed and
caused memory corruption.
- This commit fixes this issue.
Impact:
- None
Testing:
- Tested with spresense:rndis_smp
Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2021-03-31 12:23:35 -05: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
4a26e4a592
net/local: correct the send return length
...
Change-Id: I8446c44f9cbcbf11bac4fcc9defbdfc4d09bba98
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-27 12:33:47 +08:00
Peter Bee
a84c81f4d5
net/rpmsg: add multi-iov support
...
N/A
Add multi-iov support for rpmsg sockets
Change-Id: I188e41972be2942799fd06d4b530e292125fbf33
Signed-off-by: Peter Bee <bijunda1@xiaomi.com>
2021-03-24 10:55:17 +08: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
chao.an
a988437e90
net/dev: check the available address further
...
check the available address further to avoid obtain unusable device
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-23 06:52:32 -07:00
chao.an
03f899f302
net/usrsock: add send multi-elements support
...
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-23 00:44:37 -07:00
chao.an
9bdf4ccd68
net/arp: add timeout to avoid infinite send wait
...
add timeout to avoid infinite send wait if the network device is unreachable
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-23 00:28:43 -07: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
Nathan Hartman
4653dc14d3
Fix typos (and nxstyle errors)
...
ReleaseNotes,
arch/arm/src/cxd56xx/cxd56_dmac_common.h,
arch/arm/src/efm32/efm32_dma.h,
arch/arm/src/lpc54xx/lpc54_lcd.c,
arch/arm/src/rp2040/rp2040_dmac.h,
arch/arm/src/stm32/stm32_dma.h,
arch/arm/src/stm32f0l0g0/stm32_dma.h,
arch/arm/src/stm32f7/stm32_dma.h,
arch/arm/src/stm32h7/stm32_dma.h,
arch/arm/src/stm32l4/stm32l4_dma.h,
arch/renesas/src/rx65n/rx65n_dtc.h,
fs/spiffs/src/spiffs_vfs.c,
net/route/cacheroute.h,
net/route/net_cacheroute.c,
net/route/net_foreach_fileroute.c,
net/route/net_foreach_ramroute.c,
net/route/net_foreach_romroute.c, and
net/route/route.h:
* Fix the following typos:
- remove spurious "are"
- "tot he" -> "to the"
arch/arm/src/stm32f0l0g0/stm32_dma.h and
arch/arm/src/stm32l4/stm32l4_dma.h:
* Fix nxstyle errors.
2021-03-21 21:51:14 +01: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
chao.an
f78bc74d6c
net/usrsock: add send multi-elements support
...
Change-Id: I514cbc98b611f9eb6c76a00c527675cf44bef14a
Signed-off-by: chao.an <anchao@xiaomi.com>
2021-03-20 00:25:01 +08:00