gaohedong
81f42cb2cf
net/ethernet: add timestamp for socket packet
...
add timestamp for socket packet
Signed-off-by: gaohedong <gaohedong@xiaomi.com >
2025-12-10 23:44:14 +08:00
zhanghongyu
f7526522a1
icmp/icmpv6: fix the level parameter type
...
use a more standard definition
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com >
2025-12-06 17:55:40 +08:00
nuttxs
7470fd9274
sys/socket.h: Since ss_family is of type uint16_t (2-byte alignment),
...
packing the internal substructures will reduce the overall alignment of
`sockaddr_storage` to 2, which triggers an unaligned access warning
in 32-bit systems.
Add an overall 8-byte alignment to the outermost layer of the structure.
Related commit: 855336bf
Refer to https://datatracker.ietf.org/doc/html/rfc2553#section-3.10
Signed-off-by: nuttxs <zhaoqing.zhang@sony.com >
2025-08-15 09:59:19 +08:00
guoshichao
0af01312fd
sys/socket: add SOL_PACKET packet operation type definition
...
Signed-off-by: guoshichao <guoshichao@xiaomi.com >
2024-12-20 11:46:14 -03:00
Xiang Xiao
c5381c3eb2
Replace __attribute__((packed)) with [begin|end]_packed_struct
...
since the different compiler express the packed structure in the different way
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
2024-11-03 10:20:38 +08:00
nuttxs
3818ce8268
sys/socket: use __attribute__((packed)) to avoid changes in
...
the size of struct sockaddr_storage due to struct alignment
2024-11-01 11:15:54 -03:00
ouyangxiangzhen
17c51c0667
userspace: Exclude nuttx/arch.h
...
This patch fixed userspace headers conflict. Architecture-related definition and API should not be exposed to users.
Signed-off-by: ouyangxiangzhen <ouyangxiangzhen@xiaomi.com >
2024-11-01 16:59:37 +08:00
Bowen Wang
b5b0430c39
net/vsock: add AF_VSOCK address family
...
Add AF_VSOCK address family support, This is the vsock framework
preparation patch.
Signed-off-by: Bowen Wang <wangbowen6@xiaomi.com >
2024-10-13 02:02:03 +08:00
Alin Jerpelea
cd2fcf5252
include: migrate to SPDX identifier
...
Most tools used for compliance and SBOM generation use SPDX identifiers
This change brings us a step closer to an easy SBOM generation.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com >
2024-10-04 08:18:42 +08:00
Petro Karashchenko
282cf2f7d0
sys/socket: implement compiler agnostic sockaddr_storage alignment
...
'aligned_data' is compiler dependent, but Open Group Base Specifications
describe compiler agnostic solution that can be used:
https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/socket.h.html
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com >
2024-08-26 10:25:05 +08:00
Petro Karashchenko
1528b8dcca
nuttx: resolve various 'FAR' and 'CODE' issues
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com >
2024-08-26 10:21:03 +08:00
Petro Karashchenko
d499ac9d58
nuttx: fix multiple 'FAR', 'CODE' and style issues
...
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com >
2024-08-25 19:22:15 +08:00
zhanghongyu
53a72a31fb
sys/socket.h: add the definition of SCM_TIMESTAMP.
...
Third-party library lcm will use SCM_TIMESTAMP macro definition
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com >
2024-05-15 16:12:10 +08:00
anjiahao
d5981375a6
Support gcc FORTIFY_SOURCE features for nuttx libc
...
This function will use gcc's function
__builtin_dynamic_object_size and __builtin_object_size
Its function is to obtain the size of the object through compilation,
so as to judge whether there are out-of-bounds operations in commonly used functions.
It should be noted that the option -O2 and above is required to enable this function
Signed-off-by: anjiahao <1090959677@qq.com >
2023-06-22 20:38:45 +08:00
SPRESENSE
54112ac070
drivers/modem/alt1250: Update alt1250 driver
...
Updated alt1250 driver with regarding to the following changes.
- Add LTE hibernation feature
- Split source code per module
- Some refactoring
- Some bug fixes
2023-06-08 07:48:17 +02:00
SPRESENSE
277e0b941a
include/sys/socket.h: Add SOCK_CTRL to socket type
...
SOCK_CTRL is added to provide special control over network drivers
and daemons. Currently, SOCK_DGRAM and SOCK_STREAM perform this control,
but these use socket resources. In the case of usersocket in particular,
this is a waste of the device's limited socket resources.
2023-02-16 12:13:01 +09:00
Masayuki Ishikawa
3f3e090716
Revert "include/sys/socket.h: Add SOCK_CTRL to socket type"
...
This reverts commit abba05a934 .
2023-02-09 09:13:14 +01:00
SPRESENSE
abba05a934
include/sys/socket.h: Add SOCK_CTRL to socket type
...
SOCK_CTRL is added to provide special control over network drivers
and daemons. Currently, SOCK_DGRAM and SOCK_STREAM perform this control,
but these use socket resources. In the case of usersocket in particular,
this is a waste of the device's limited socket resources.
2023-02-08 20:43:33 +08:00
Xiang Xiao
d92dc45a80
vfs: Suppoprt F_DUPFD_CLOEXEC and MSG_CMSG_CLOEXEC
...
https://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html
https://linux.die.net/man/2/recvmsg
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
2023-02-02 01:00:10 +02:00
luojun1
8a5dc0ba12
Force sockaddr_storage to the desired alignment
...
First configure nuttx to support ipv4 and ipv6 dual stack,
then start two simulators and run Iperf ipv4 udp speed test,
unaligned access exception to sockaddr_in occours.
The root cause is that struct sockaddr_storage isn't set to
the desired alignment.
Signed-off-by: luojun1 <luojun1@xiaomi.com >
2023-02-01 09:46:21 -03:00
zhanghongyu
48c9d10336
net_socket: add accept4 function
...
Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com >
2023-01-11 23:28:08 +08:00
dongjiuzhu1
5d643b3bef
sys/socket/scm: return NULL when cmsg_len is zero
...
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com >
2022-12-29 13:25:24 +08:00
dongjiuzhu1
ccf0c3566e
net/local: support cmd SO_PEERCRED
...
the credentials of the peer process connected to this socket.
refs:https://man7.org/linux/man-pages/man7/unix.7.html
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com >
2022-11-23 15:01:54 +08:00
Xiang Xiao
6b31918b42
Remove the unnecessary cast for main_t, NULL and argv
...
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
2022-10-18 08:51:45 +02:00
chao.an
9cb17841d8
net/sockopt: move BINDTODEVICE to socket level
...
rename the UDP_BINDTODEVICE to SO_BINDTODEVICE to follow the linux
style to be compatible with non-UDP protocol binding requirements
Signed-off-by: chao.an <anchao@xiaomi.com >
2022-08-25 17:56:52 +08:00
Jiuzhu Dong
6ec006ee02
socket: extend socket_storage for rpmsg_socket addrinfo
...
rexecd.c: In function 'rexecd_main':
rexecd.c:191:9: warning: array subscript 18 is outside array bounds of 'struct sockaddr_storage[1]' [-Warray-bounds]
191 | snprintf(((FAR struct sockaddr_rpmsg *)&addr)->rp_name,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
192 | RPMSG_SOCKET_NAME_SIZE, "%d", REXECD_PORT);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rexecd.c:142:27: note: while referencing 'addr'
142 | struct sockaddr_storage addr;
Signed-off-by: Jiuzhu Dong <dongjiuzhu1@xiaomi.com >
2022-01-05 02:05:49 +08:00
ligd
131e8dc7e7
socket.h: set SOMAXCONN default value to 8
...
Signed-off-by: ligd <liguiding1@xiaomi.com >
2021-11-01 13:52:10 -05:00
chao.an
e8d7779ab1
sys/socket/scm: add more socket message control helper
...
Signed-off-by: chao.an <anchao@xiaomi.com >
2021-09-15 12:04:01 +08:00
Huang Qi
45dc778865
sys/socket.h: Add "Socket"-level control message types
...
Signed-off-by: Huang Qi <huangqi3@xiaomi.com >
Change-Id: I05f8dd29501f6b06cdd278e0e416f210a98aa6b0
2021-04-03 01:02:07 -05:00
ligd
70442d1f9d
net/socket_rpmsg: add net socket rpmsg support
...
Change-Id: Ie23ee4c0052cf2fc66972ea9bc5f11c070fbcf8a
Signed-off-by: chao.an <anchao@xiaomi.com >
2021-03-07 01:45:51 -08:00
Peter Bee
e223f60c09
net/socket: move si_send/recv into sendmsg/recvmsg
...
Implement si_send/sendto/recvfrom with si_sendmsg/recvmsg, instead of
the other way round.
Change-Id: I7b858556996e0862df22807a6edf6d7cfe6518fc
Signed-off-by: Peter Bee <bijunda1@xiaomi.com >
2021-03-05 04:46:13 -08:00
Alin Jerpelea
9b9be7e1f0
include: Author: Gregory Nutt: update licenses to Apache 2.0
...
Update files from Gregory Nutt to Apache 2.0 license.
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com >
2021-02-04 03:33:58 -08:00
danguanghua
7d33f73e27
libs/libc/net: implement socketpair
...
N/A
Reference here:
https://www.freebsd.org/cgi/man.cgi?apropos=0&sektion=2&query=socketpair&manpath=FreeBSD+7.0-current&format=html
Change-Id: I959b4d661cd436f5d5050baf9e821db84139d482
Signed-off-by: danguanghua <danguanghua@xiaomi.com >
2021-01-03 20:56:27 -06:00
chao.an
e5f6dafe1f
net/socket: add SOCK_CLOEXEC/SOCK_NONBLOCK support
...
Reference here:
https://github.com/torvalds/linux/blob/master/include/linux/net.h
Change-Id: I9fd0170bcd1ae7e778e951d454ada76f63854de5
Signed-off-by: chao.an <anchao@xiaomi.com >
2020-08-17 23:38:18 -05:00
chao.an
b296adc3bb
socket/SOL: sync the SOL index with linux
...
Change-Id: I32b9eb7cc3bc1428f0ff7bf5e60d7fff52621db2
Signed-off-by: chao.an <anchao@xiaomi.com >
2020-06-29 11:34:43 -05:00
Peter van der Perk
55d9e5f7af
net: Add SocketCAN support
2020-06-15 08:07:19 -06:00
Xiang Xiao
a2d924eea4
syscall: Fix typo error in cvs and header file
...
and reoder the entry in cvs file
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com >
2020-05-07 10:31:05 -06:00
Xiang Xiao
3ae5f52757
Add FAR for pointer type for socket header files
2020-01-31 13:45:15 -06:00
Gregory Nutt
bda0a9c6a7
net/netlink: Fix offset in rtattr. include/net/route.h: Correct form and naming of sruct rtentry. include/netpacket/netlink.h: Add some definitions that will be needed to access routing tables.
2019-11-10 12:35:15 -06:00
Gregory Nutt
8c85ecf531
net/netlink/netlink_route.c: Add support for the NETLINK_ROUTE RTM_GETLINK command that is used to obtain a list of all devices in the UP state.
2019-11-09 17:36:30 -06:00
Xiang Xiao
e0e18fcc74
include/net and include/sys: align the constant values with values in the linux kernel which makes targeting the usrsock server to Linux kernel easier.
2018-11-09 11:50:00 -06:00
ligd
4a8b750ecd
ibs/libc/net: Add basic implementation for recvmsg and sendmsg per OpenGroup.org specification.
2018-11-09 11:39:05 -06:00
zhangyuan7
f036e2a32a
net/tcp/tcp_backlog.c: Add SOMAXCONN definition and implementaton per OpenGroup.org.
2018-11-09 11:20:33 -06:00
Gregory Nutt
11cc274eef
Trivial, cosmetic changes from review of last PR.
2018-10-28 06:55:20 -06:00
Gregory Nutt
bbd8cfbfb5
include/sys/socket.h: With increased size of struct sockaddr_in6 of commit 55f31f03f9, the size of struct sockaddr_storage in include/sys/socket.h must also be increase so that it can contain the new, larger sockaddr_in6.
2018-10-27 14:10:46 -06:00
Gregory Nutt
0939fd479f
include/sys/socket.h: Renumber the socket types. They must begin at 1, not zero. Socket type zero has a special meaning for some interfaces. For example, getaddrinfo() uses a socket type of zero to many any type of socket. The is no standard name for the any-type-socket, but macOS uses SOCK_UNSPEC. NuttX will do the same. Issue noted by Anthony Merlino.
2018-09-24 14:58:59 -06:00
Gregory Nutt
056d704cf9
This commit brings in a fragmentary, experimental implementation of NETLINK sockets. There is not too much to that socket support on this initial commit, just the netlink socketer framework. However, I decided to bring it into master because there is a enough that I would not want to lose what is in place. And since it is dependent on CONFIG_EXPERIMENATL, its presence on master should be innocuous.
...
Squashed commit of the following:
net/netlink: Mark netlink support as EXPERIMENTAL.
net/netlink/netlink_sockif.c: Add netlink_getpeername to the socket interface.
net: Add getpeeername() support for netlink sockets.
include/netpacket/netlink.h: Add a few more definitions and structures used at the NetLink interface. Still missing many.
net/netlink: Add basic framework for Netlink socket support.
include/: Add basic Netlink definitions.
2018-08-03 13:22:36 -06:00
ligd
e840038f2d
net/ and include/nuttx/net: Add getpeername() support
2018-07-19 07:16:30 -06:00
Sebastien Lorquet
8fa3f54ba9
include/sys/socket.h: Break up some long lines
2018-06-22 12:34:31 -06:00
Gregory Nutt
f7bcad502a
Bluetooth: Bring in some definitions from NetBSD. Update some usage and naming to be more consistent.
2018-03-31 16:31:51 -06:00