Browse Source

posix: deprecate POSIX_MAX_FDS and add POSIX_DEVICE_IO

The POSIX_MAX_FDS option does not correspond to any standard
POSIX option. It was used to define the size of the file
descriptor table, which is by no means exclusively used by
POSIX (also net, fs, ...).

POSIX_MAX_FDS is being deprecated in order to ensure that
Zephyr's POSIX Kconfig variables correspond to those defined in
the specification, as of IEEE 1003.1-2017. Namely,
POSIX_OPEN_MAX. CONFIG_POSIX_MAX_OPEN_FILES is being deprecated
for the same reason.

To mitigate any possible layering violations, that option is
not user selectable. It tracks the newly added
CONFIG_ZVFS_OPEN_MAX option, which is native to Zephyr.

With this deprecation, we introduce the following Kconfig
options that map directly to standard POSIX Option Groups by
simply removing "CONFIG_":

* CONFIG_POSIX_DEVICE_IO

Similarly, with this deprecation, we introduce the following
Kconfig options that map directly to standard POSIX Options by
simply removing "CONFIG":

* CONFIG_POSIX_OPEN_MAX

In order to maintain parity with the current feature set, we
introduce the following Kconfig options.

* CONFIG_POSIX_DEVICE_IO_ALIAS_CLOSE
* CONFIG_POSIX_DEVICE_IO_ALIAS_OPEN
* CONFIG_POSIX_DEVICE_IO_ALIAS_READ
* CONFIG_POSIX_DEVICE_IO_ALIAS_WRITE

Gate open(), close(), read(), and write() via the
CONFIG_POSIX_DEVICE_IO Kconfig option and move
implementations into device_io.c, to be conformant with the
spec.

Lastly, stage function names for upcoming ZVFS work, to be
completed as part of the LTSv3 Roadmap (e.g. zvfs_open(), ..).

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
pull/73756/head
Chris Friedt 1 year ago committed by David Leach
parent
commit
bc4374b5fe
  1. 2
      doc/connectivity/networking/net_config_guide.rst
  2. 2
      doc/services/portability/posix/aep/index.rst
  3. 4
      doc/services/portability/posix/kconfig/index.rst
  4. 2
      drivers/modem/Kconfig
  5. 2
      include/zephyr/net/socket_select.h
  6. 2
      include/zephyr/posix/posix_features.h
  7. 2
      include/zephyr/posix/sys/sysconf.h
  8. 4
      lib/libc/Kconfig
  9. 21
      lib/libc/newlib/libc-hooks.c
  10. 9
      lib/os/Kconfig
  11. 34
      lib/os/fdtable.c
  12. 6
      lib/posix/options/CMakeLists.txt
  13. 2
      lib/posix/options/Kconfig
  14. 20
      lib/posix/options/Kconfig.deprecated
  15. 57
      lib/posix/options/Kconfig.device_io
  16. 16
      lib/posix/options/Kconfig.fdtable
  17. 7
      lib/posix/options/Kconfig.fs
  18. 64
      lib/posix/options/device_io.c
  19. 15
      lib/posix/options/fs.c
  20. 12
      lib/posix/options/net.c
  21. 2
      modules/hostap/Kconfig
  22. 4
      samples/modules/thrift/hello/client/prj.conf
  23. 2
      samples/modules/thrift/hello/server/prj.conf
  24. 2
      samples/net/mqtt_sn_publisher/prj.conf
  25. 2
      samples/net/sockets/dumb_http_server_mt/prj.conf
  26. 2
      samples/net/sockets/echo_client/overlay-tls.conf
  27. 2
      samples/net/sockets/echo_server/overlay-tls.conf
  28. 4
      samples/net/sockets/echo_server/prj.conf
  29. 2
      samples/net/sockets/echo_service/prj.conf
  30. 2
      samples/net/sockets/http_server/prj.conf
  31. 2
      samples/net/sockets/net_mgmt/prj.conf
  32. 2
      samples/net/sockets/packet/prj.conf
  33. 2
      samples/net/zperf/prj.conf
  34. 2
      samples/subsys/video/tcpserversink/prj.conf
  35. 4
      subsys/net/lib/sockets/socket_obj_core.c
  36. 2
      tests/modules/thrift/ThriftTest/overlay-tls.conf
  37. 2
      tests/modules/thrift/ThriftTest/prj.conf
  38. 2
      tests/net/lib/dns_resolve/prj.conf
  39. 2
      tests/net/lib/http_server/crime/prj.conf
  40. 2
      tests/net/lib/http_server/prototype/prj.conf
  41. 4
      tests/net/lib/http_server/tls/prj.conf
  42. 2
      tests/net/pm/prj.conf
  43. 2
      tests/net/socket/af_packet/prj.conf
  44. 2
      tests/net/socket/af_packet_ipproto_raw/prj.conf
  45. 2
      tests/net/socket/poll/prj.conf
  46. 2
      tests/net/socket/reuseaddr_reuseport/prj.conf
  47. 2
      tests/net/socket/select/prj.conf
  48. 2
      tests/net/socket/select/src/main.c
  49. 2
      tests/net/socket/service/prj.conf
  50. 2
      tests/net/socket/socketpair/prj.conf
  51. 2
      tests/net/socket/tcp/prj.conf
  52. 2
      tests/net/socket/tcp/src/main.c
  53. 2
      tests/net/socket/tls/prj.conf
  54. 2
      tests/net/socket/tls_ext/prj.conf
  55. 2
      tests/net/socket/udp/prj.conf
  56. 2
      tests/net/socket/udp/src/main.c
  57. 2
      tests/posix/fs/src/test_fs_file.c

2
doc/connectivity/networking/net_config_guide.rst

@ -87,7 +87,7 @@ Socket Options @@ -87,7 +87,7 @@ Socket Options
Maximum number of supported poll() entries. One needs to select proper value here depending
on how many BSD sockets are polled in the system.
:kconfig:option:`CONFIG_POSIX_MAX_FDS`
:kconfig:option:`CONFIG_ZVFS_OPEN_MAX`
Maximum number of open file descriptors, this includes files, sockets, special devices, etc.
One needs to select proper value here depending on how many BSD sockets are created in
the system.

2
doc/services/portability/posix/aep/index.rst

@ -50,7 +50,7 @@ The *Minimal Realtime System Profile* (PSE51) includes all of the @@ -50,7 +50,7 @@ The *Minimal Realtime System Profile* (PSE51) includes all of the
:ref:`POSIX_C_LANG_JUMP <posix_option_group_c_lang_jump>`, yes,
:ref:`POSIX_C_LANG_SUPPORT <posix_option_group_c_lang_support>`, yes,
:ref:`POSIX_DEVICE_IO <posix_option_group_device_io>`,,
:ref:`POSIX_DEVICE_IO <posix_option_group_device_io>`,, :kconfig:option:`CONFIG_POSIX_DEVICE_IO`
:ref:`POSIX_SIGNALS <posix_option_group_signals>`,,
:ref:`POSIX_SINGLE_PROCESS <posix_option_group_single_process>`, yes,
:ref:`POSIX_THREADS_BASE <posix_option_group_threads_base>`, yes,

4
doc/services/portability/posix/kconfig/index.rst

@ -25,8 +25,8 @@ implementation of the POSIX API. @@ -25,8 +25,8 @@ implementation of the POSIX API.
* :kconfig:option:`CONFIG_NET_SOCKETS_POLL_MAX`
* :kconfig:option:`CONFIG_POSIX_API`
* :kconfig:option:`CONFIG_POSIX_FS`
* :kconfig:option:`CONFIG_POSIX_MAX_FDS`
* :kconfig:option:`CONFIG_POSIX_MAX_OPEN_FILES`
* :kconfig:option:`CONFIG_ZVFS_OPEN_MAX`
* :kconfig:option:`CONFIG_POSIX_OPEN_MAX`
* :kconfig:option:`CONFIG_POSIX_MQUEUE`
* :kconfig:option:`CONFIG_POSIX_RTSIG_MAX`
* :kconfig:option:`CONFIG_POSIX_SIGNAL`

2
drivers/modem/Kconfig

@ -155,7 +155,7 @@ config MODEM_SOCKET @@ -155,7 +155,7 @@ config MODEM_SOCKET
modem_socket_init().
Note that the modem socket uses runtime allocated file descriptors
reserved from the fdtable, for which the max count is set using the
Kconfig option POSIX_MAX_FDS. Make sure to update this value as both
Kconfig option ZVFS_OPEN_MAX. Make sure to update this value as both
the modem sockets and the POSIX_API, if used, share them.
config MODEM_SOCKET_PACKET_COUNT

2
include/zephyr/net/socket_select.h

@ -28,7 +28,7 @@ extern "C" { @@ -28,7 +28,7 @@ extern "C" {
/** Socket file descriptor set. */
typedef struct zsock_fd_set {
uint32_t bitset[(CONFIG_POSIX_MAX_FDS + 31) / 32];
uint32_t bitset[(CONFIG_ZVFS_OPEN_MAX + 31) / 32];
} zsock_fd_set;
/**

2
include/zephyr/posix/posix_features.h

@ -211,7 +211,7 @@ @@ -211,7 +211,7 @@
#define _POSIX_MQ_PRIO_MAX (32)
#define _POSIX_NAME_MAX (14)
#define _POSIX_NGROUPS_MAX (8)
#define _POSIX_OPEN_MAX CONFIG_POSIX_MAX_FDS
#define _POSIX_OPEN_MAX CONFIG_POSIX_OPEN_MAX
#define _POSIX_PATH_MAX (256)
#define _POSIX_PIPE_BUF (512)
#define _POSIX_RE_DUP_MAX (255)

2
include/zephyr/posix/sys/sysconf.h

@ -268,7 +268,7 @@ enum { @@ -268,7 +268,7 @@ enum {
#define __z_posix_sysconf_SC_NGROUPS_MAX _POSIX_NGROUPS_MAX
#define __z_posix_sysconf_SC_MQ_OPEN_MAX MQ_OPEN_MAX
#define __z_posix_sysconf_SC_MQ_PRIO_MAX MQ_PRIO_MAX
#define __z_posix_sysconf_SC_OPEN_MAX CONFIG_POSIX_MAX_FDS
#define __z_posix_sysconf_SC_OPEN_MAX CONFIG_ZVFS_OPEN_MAX
#define __z_posix_sysconf_SC_PAGE_SIZE PAGE_SIZE
#define __z_posix_sysconf_SC_PAGESIZE PAGESIZE
#define __z_posix_sysconf_SC_THREAD_DESTRUCTOR_ITERATIONS PTHREAD_DESTRUCTOR_ITERATIONS

4
lib/libc/Kconfig

@ -102,6 +102,10 @@ config NEWLIB_LIBC @@ -102,6 +102,10 @@ config NEWLIB_LIBC
depends on !NATIVE_APPLICATION
depends on NEWLIB_LIBC_SUPPORTED
select NEED_LIBC_MEM_PARTITION
imply POSIX_DEVICE_IO_ALIAS_CLOSE
imply POSIX_DEVICE_IO_ALIAS_OPEN
imply POSIX_DEVICE_IO_ALIAS_READ
imply POSIX_DEVICE_IO_ALIAS_WRITE
imply POSIX_FD_MGMT_ALIAS_LSEEK
help
Build with newlib library. The newlib library is expected to be

21
lib/libc/newlib/libc-hooks.c

@ -23,6 +23,12 @@ @@ -23,6 +23,12 @@
#include <zephyr/kernel/mm.h>
#include <sys/time.h>
int _read(int fd, void *buf, int nbytes);
int _write(int fd, const void *buf, int nbytes);
int _open(const char *name, int mode);
int _close(int file);
int _lseek(int file, int ptr, int dir);
#define LIBC_BSS K_APP_BMEM(z_libc_partition)
#define LIBC_DATA K_APP_DMEM(z_libc_partition)
@ -210,8 +216,8 @@ static inline int z_vrfy_zephyr_write_stdout(const void *buf, int nbytes) @@ -210,8 +216,8 @@ static inline int z_vrfy_zephyr_write_stdout(const void *buf, int nbytes)
#include <zephyr/syscalls/zephyr_write_stdout_mrsh.c>
#endif
#ifndef CONFIG_POSIX_API
int _read(int fd, char *buf, int nbytes)
#ifndef CONFIG_POSIX_DEVICE_IO
int _read(int fd, void *buf, int nbytes)
{
ARG_UNUSED(fd);
@ -238,10 +244,7 @@ int _close(int file) @@ -238,10 +244,7 @@ int _close(int file)
return -1;
}
__weak FUNC_ALIAS(_close, close, int);
#else
extern ssize_t write(int file, const char *buffer, size_t count);
#define _write write
#endif
#endif /* CONFIG_POSIX_DEVICE_IO */
#ifndef CONFIG_POSIX_FD_MGMT
int _lseek(int file, int ptr, int dir)
@ -275,6 +278,7 @@ int _fstat(int file, struct stat *st) @@ -275,6 +278,7 @@ int _fstat(int file, struct stat *st)
return 0;
}
__weak FUNC_ALIAS(_fstat, fstat, int);
#endif /* CONFIG_POSIX_FILE_SYSTEM */
__weak void _exit(int status)
{
@ -478,11 +482,6 @@ __weak FUNC_NORETURN void __chk_fail(void) @@ -478,11 +482,6 @@ __weak FUNC_NORETURN void __chk_fail(void)
}
#if CONFIG_XTENSA
extern int _read(int fd, char *buf, int nbytes);
extern int _open(const char *name, int mode);
extern int _close(int file);
extern int _lseek(int file, int ptr, int dir);
/* The Newlib in xtensa toolchain has a few missing functions for the
* reentrant versions of the syscalls.
*/

9
lib/os/Kconfig

@ -10,6 +10,15 @@ config FDTABLE @@ -10,6 +10,15 @@ config FDTABLE
for any I/O object implementing POSIX I/O semantics (i.e. read/write +
aux operations).
config ZVFS_OPEN_MAX
int "Maximum number of open file descriptors"
default 16 if WIFI_NM_WPA_SUPPLICANT
default 16 if POSIX_API
default 4
help
Maximum number of open file descriptors, this includes
files, sockets, special devices, etc.
config PRINTK_SYNC
bool "Serialize printk() calls"
default y if SMP && MP_MAX_NUM_CPUS > 1 && !(EFI_CONSOLE && LOG)

34
lib/os/fdtable.c

@ -31,12 +31,14 @@ struct fd_entry { @@ -31,12 +31,14 @@ struct fd_entry {
struct k_condvar cond;
};
#ifdef CONFIG_POSIX_API
#if defined(CONFIG_POSIX_DEVICE_IO)
static const struct fd_op_vtable stdinout_fd_op_vtable;
#endif
static struct fd_entry fdtable[CONFIG_POSIX_MAX_FDS] = {
#ifdef CONFIG_POSIX_API
BUILD_ASSERT(CONFIG_ZVFS_OPEN_MAX >= 3, "CONFIG_ZVFS_OPEN_MAX >= 3 for CONFIG_POSIX_DEVICE_IO");
#endif /* defined(CONFIG_POSIX_DEVICE_IO) */
static struct fd_entry fdtable[CONFIG_ZVFS_OPEN_MAX] = {
#if defined(CONFIG_POSIX_DEVICE_IO)
/*
* Predefine entries for stdin/stdout/stderr.
*/
@ -62,9 +64,7 @@ static struct fd_entry fdtable[CONFIG_POSIX_MAX_FDS] = { @@ -62,9 +64,7 @@ static struct fd_entry fdtable[CONFIG_POSIX_MAX_FDS] = {
.cond = Z_CONDVAR_INITIALIZER(fdtable[2].cond),
},
#else
{
0
},
{0},
#endif
};
@ -296,9 +296,7 @@ int z_alloc_fd(void *obj, const struct fd_op_vtable *vtable) @@ -296,9 +296,7 @@ int z_alloc_fd(void *obj, const struct fd_op_vtable *vtable)
return fd;
}
#ifdef CONFIG_POSIX_API
ssize_t read(int fd, void *buf, size_t sz)
ssize_t zvfs_read(int fd, void *buf, size_t sz)
{
ssize_t res;
@ -314,9 +312,8 @@ ssize_t read(int fd, void *buf, size_t sz) @@ -314,9 +312,8 @@ ssize_t read(int fd, void *buf, size_t sz)
return res;
}
FUNC_ALIAS(read, _read, ssize_t);
ssize_t write(int fd, const void *buf, size_t sz)
ssize_t zvfs_write(int fd, const void *buf, size_t sz)
{
ssize_t res;
@ -332,9 +329,8 @@ ssize_t write(int fd, const void *buf, size_t sz) @@ -332,9 +329,8 @@ ssize_t write(int fd, const void *buf, size_t sz)
return res;
}
FUNC_ALIAS(write, _write, ssize_t);
int close(int fd)
int zvfs_close(int fd)
{
int res;
@ -352,7 +348,6 @@ int close(int fd) @@ -352,7 +348,6 @@ int close(int fd)
return res;
}
FUNC_ALIAS(close, _close, int);
#ifdef CONFIG_POSIX_FSYNC
int fsync(int fd)
@ -372,8 +367,8 @@ off_t zvfs_lseek(int fd, off_t offset, int whence) @@ -372,8 +367,8 @@ off_t zvfs_lseek(int fd, off_t offset, int whence)
return -1;
}
return z_fdtable_call_ioctl(fdtable[fd].vtable, fdtable[fd].obj, ZFD_IOCTL_LSEEK,
offset, whence);
return z_fdtable_call_ioctl(fdtable[fd].vtable, fdtable[fd].obj, ZFD_IOCTL_LSEEK, offset,
whence);
}
int ioctl(int fd, unsigned long request, ...)
@ -406,6 +401,7 @@ int zvfs_fcntl(int fd, int cmd, va_list args) @@ -406,6 +401,7 @@ int zvfs_fcntl(int fd, int cmd, va_list args)
return res;
}
#if defined(CONFIG_POSIX_DEVICE_IO)
/*
* fd operations for stdio/stdout/stderr
*/
@ -420,7 +416,7 @@ static ssize_t stdinout_read_vmeth(void *obj, void *buffer, size_t count) @@ -420,7 +416,7 @@ static ssize_t stdinout_read_vmeth(void *obj, void *buffer, size_t count)
static ssize_t stdinout_write_vmeth(void *obj, const void *buffer, size_t count)
{
#if defined(CONFIG_BOARD_NATIVE_POSIX)
return write(1, buffer, count);
return zvfs_write(1, buffer, count);
#elif defined(CONFIG_NEWLIB_LIBC) || defined(CONFIG_ARCMWDT_LIBC)
return z_impl_zephyr_write_stdout(buffer, count);
#else
@ -441,4 +437,4 @@ static const struct fd_op_vtable stdinout_fd_op_vtable = { @@ -441,4 +437,4 @@ static const struct fd_op_vtable stdinout_fd_op_vtable = {
.ioctl = stdinout_ioctl_vmeth,
};
#endif /* CONFIG_POSIX_API */
#endif /* defined(CONFIG_POSIX_DEVICE_IO) */

6
lib/posix/options/CMakeLists.txt

@ -37,9 +37,13 @@ add_subdirectory_ifdef(CONFIG_GETOPT getopt) @@ -37,9 +37,13 @@ add_subdirectory_ifdef(CONFIG_GETOPT getopt)
zephyr_library_sources_ifdef(CONFIG_EVENTFD eventfd.c)
zephyr_library_sources_ifdef(CONFIG_FNMATCH fnmatch.c)
zephyr_library_sources_ifdef(CONFIG_GETENTROPY getentropy.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_API perror.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_ASYNCHRONOUS_IO aio.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_CONFSTR confstr.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_DEVICE_IO
# perror should be moved to the common libc
perror.c
device_io.c
)
zephyr_library_sources_ifdef(CONFIG_POSIX_ENV env.c)
zephyr_library_sources_ifdef(CONFIG_POSIX_FD_MGMT
fd_mgmt.c

2
lib/posix/options/Kconfig

@ -27,9 +27,9 @@ rsource "Kconfig.aio" @@ -27,9 +27,9 @@ rsource "Kconfig.aio"
rsource "Kconfig.barrier"
rsource "Kconfig.cond"
rsource "Kconfig.confstr"
rsource "Kconfig.device_io"
rsource "Kconfig.env"
rsource "Kconfig.eventfd"
rsource "Kconfig.fdtable"
rsource "Kconfig.fd_mgmt"
rsource "Kconfig.fnmatch"
rsource "Kconfig.fs"

20
lib/posix/options/Kconfig.deprecated

@ -37,6 +37,26 @@ config POSIX_LIMITS_RTSIG_MAX @@ -37,6 +37,26 @@ config POSIX_LIMITS_RTSIG_MAX
Please use CONFIG_POSIX_RTSIG_MAX instead.
config POSIX_MAX_FDS
int "Maximum number of open file descriptors [DEPRECATED]"
default POSIX_OPEN_MAX
help
This option is deprecated.
Please use CONFIG_POSIX_OPEN_MAX instead.
See also CONFIG_ZVFS_OPEN_MAX.
config POSIX_MAX_OPEN_FILES
int "Maximum number of open file descriptors [DEPRECATED]"
default POSIX_OPEN_MAX
help
This option is deprecated.
Please use CONFIG_POSIX_OPEN_MAX instead.
See also CONFIG_ZVFS_OPEN_MAX.
config TIMER
bool "Timer support [DEPRECATED]"
select DEPRECATED

57
lib/posix/options/Kconfig.device_io

@ -0,0 +1,57 @@ @@ -0,0 +1,57 @@
# Copyright (c) 2024 Tenstorrent AI ULC
#
# SPDX-License-Identifier: Apache-2.0
menu "POSIX device I/O"
config POSIX_DEVICE_IO
bool "POSIX device I/O [EXPERIMENTAL]"
default y if POSIX_API
select FDTABLE
select EXPERIMENTAL
help
Select 'y' here and Zephyr will provide an implementation of the POSIX_DEVICE_IO Option
Group such as FD_CLR(), FD_ISSET(), FD_SET(), FD_ZERO(), close(), fdopen(), fileno(), open(),
poll(), pread(), pselect(), pwrite(), read(), select(), and write().
For more informnation, please see
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_subprofiles.html
if POSIX_DEVICE_IO
# These options are intended to be used for compatibility with external POSIX
# implementations such as those in Newlib or Picolibc.
config POSIX_DEVICE_IO_ALIAS_CLOSE
bool
help
Select 'y' here and Zephyr will provide an alias for close() as _close().
config POSIX_DEVICE_IO_ALIAS_OPEN
bool
help
Select 'y' here and Zephyr will provide an alias for open() as _open().
config POSIX_DEVICE_IO_ALIAS_READ
bool
help
Select 'y' here and Zephyr will provide an alias for read() as _read().
config POSIX_DEVICE_IO_ALIAS_WRITE
bool
help
Select 'y' here and Zephyr will provide an alias for write() as _write().
endif # POSIX_DEVICE_IO
config POSIX_OPEN_MAX
int
default ZVFS_OPEN_MAX
help
The maximum number of files that a process can have open at one time. This option is not
directly user-configurable but can be adjusted via CONFIG_ZVFS_OPEN_MAX.
For more information, please see
https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html
endmenu

16
lib/posix/options/Kconfig.fdtable

@ -1,16 +0,0 @@ @@ -1,16 +0,0 @@
# Copyright (c) 2018 Linaro
#
# SPDX-License-Identifier: Apache-2.0
menu "File descriptor table options"
config POSIX_MAX_FDS
int "Maximum number of open file descriptors"
default 16 if WIFI_NM_WPA_SUPPLICANT
default 16 if POSIX_API
default 4
help
Maximum number of open file descriptors, this includes
files, sockets, special devices, etc.
endmenu # "File descriptor table options"

7
lib/posix/options/Kconfig.fs

@ -12,13 +12,6 @@ menuconfig POSIX_FS @@ -12,13 +12,6 @@ menuconfig POSIX_FS
if POSIX_FS
config POSIX_MAX_OPEN_FILES
int "Maximum number of open file descriptors"
default 16
help
Maximum number of open files. Note that this setting
is additionally bounded by CONFIG_POSIX_MAX_FDS.
config POSIX_FSYNC
bool "Support for fsync()"
default y

64
lib/posix/options/device_io.c

@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
/*
* Copyright (c) 2024, Tenstorrent AI ULC
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stddef.h>
#include <stdint.h>
#include <zephyr/posix/poll.h>
#include <zephyr/posix/unistd.h>
#include <zephyr/posix/sys/select.h>
#include <zephyr/posix/sys/socket.h>
/* prototypes for external, not-yet-public, functions in fdtable.c or fs.c */
int zvfs_close(int fd);
int zvfs_open(const char *name, int flags);
ssize_t zvfs_read(int fd, void *buf, size_t sz);
ssize_t zvfs_write(int fd, const void *buf, size_t sz);
int close(int fd)
{
return zvfs_close(fd);
}
#ifdef CONFIG_POSIX_DEVICE_IO_ALIAS_CLOSE
FUNC_ALIAS(close, _close, int);
#endif
int open(const char *name, int flags, ...)
{
/* FIXME: necessarily need to check for O_CREAT and unpack ... if set */
return zvfs_open(name, flags);
}
#ifdef CONFIG_POSIX_DEVICE_IO_ALIAS_OPEN
FUNC_ALIAS(open, _open, int);
#endif
int poll(struct pollfd *fds, int nfds, int timeout)
{
/* TODO: create zvfs_poll() and dispatch to subsystems based on file type */
return zsock_poll(fds, nfds, timeout);
}
ssize_t read(int fd, void *buf, size_t sz)
{
return zvfs_read(fd, buf, sz);
}
#ifdef CONFIG_POSIX_DEVICE_IO_ALIAS_READ
FUNC_ALIAS(read, _read, ssize_t);
#endif
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
{
/* TODO: create zvfs_select() and dispatch to subsystems based on file type */
return zsock_select(nfds, readfds, writefds, exceptfds, (struct zsock_timeval *)timeout);
}
ssize_t write(int fd, const void *buf, size_t sz)
{
return zvfs_write(fd, buf, sz);
}
#ifdef CONFIG_POSIX_DEVICE_IO_ALIAS_WRITE
FUNC_ALIAS(write, _write, ssize_t);
#endif

15
lib/posix/options/fs.c

@ -26,7 +26,7 @@ struct posix_fs_desc { @@ -26,7 +26,7 @@ struct posix_fs_desc {
bool used;
};
static struct posix_fs_desc desc_array[CONFIG_POSIX_MAX_OPEN_FILES];
static struct posix_fs_desc desc_array[CONFIG_POSIX_OPEN_MAX];
static struct fs_dirent fdirent;
static struct dirent pdirent;
@ -39,7 +39,7 @@ static struct posix_fs_desc *posix_fs_alloc_obj(bool is_dir) @@ -39,7 +39,7 @@ static struct posix_fs_desc *posix_fs_alloc_obj(bool is_dir)
struct posix_fs_desc *ptr = NULL;
unsigned int key = irq_lock();
for (i = 0; i < CONFIG_POSIX_MAX_OPEN_FILES; i++) {
for (i = 0; i < CONFIG_POSIX_OPEN_MAX; i++) {
if (desc_array[i].used == false) {
ptr = &desc_array[i];
ptr->used = true;
@ -80,12 +80,7 @@ static int posix_mode_to_zephyr(int mf) @@ -80,12 +80,7 @@ static int posix_mode_to_zephyr(int mf)
return mode;
}
/**
* @brief Open a file.
*
* See IEEE 1003.1
*/
int open(const char *name, int flags, ...)
int zvfs_open(const char *name, int flags)
{
int rc, fd;
struct posix_fs_desc *ptr = NULL;
@ -123,10 +118,6 @@ int open(const char *name, int flags, ...) @@ -123,10 +118,6 @@ int open(const char *name, int flags, ...)
return fd;
}
#if !defined(CONFIG_NEWLIB_LIBC) && !defined(CONFIG_PICOLIBC)
FUNC_ALIAS(open, _open, int);
#endif
static int fs_close_vmeth(void *obj)
{
struct posix_fs_desc *ptr = obj;

12
lib/posix/options/net.c

@ -13,8 +13,6 @@ @@ -13,8 +13,6 @@
#include <zephyr/posix/arpa/inet.h>
#include <zephyr/posix/netinet/in.h>
#include <zephyr/posix/net/if.h>
#include <zephyr/posix/poll.h>
#include <zephyr/posix/sys/select.h>
#include <zephyr/posix/sys/socket.h>
/* From arpa/inet.h */
@ -355,11 +353,6 @@ int listen(int sock, int backlog) @@ -355,11 +353,6 @@ int listen(int sock, int backlog)
return zsock_listen(sock, backlog);
}
int poll(struct pollfd *fds, int nfds, int timeout)
{
return zsock_poll(fds, nfds, timeout);
}
ssize_t recv(int sock, void *buf, size_t max_len, int flags)
{
return zsock_recv(sock, buf, max_len, flags);
@ -376,11 +369,6 @@ ssize_t recvmsg(int sock, struct msghdr *msg, int flags) @@ -376,11 +369,6 @@ ssize_t recvmsg(int sock, struct msghdr *msg, int flags)
return zsock_recvmsg(sock, msg, flags);
}
int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
{
return zsock_select(nfds, readfds, writefds, exceptfds, (struct zsock_timeval *)timeout);
}
ssize_t send(int sock, const void *buf, size_t len, int flags)
{
return zsock_send(sock, buf, len, flags);

2
modules/hostap/Kconfig

@ -41,7 +41,7 @@ config WIFI_NM_WPA_SUPPLICANT_WQ_PRIO @@ -41,7 +41,7 @@ config WIFI_NM_WPA_SUPPLICANT_WQ_PRIO
int "Thread priority of wpa_supplicant iface workqueue"
default 7
# Currently we default POSIX_MAX_FDS to 16 in lib/posix/Kconfig
# Currently we default ZVFS_OPEN_MAX to 16 in lib/posix/Kconfig
# l2_packet - 1
# ctrl_iface - 2 * socketpairs = 4(local and global)
# z_wpa_event_sock - 1 socketpair = 2

4
samples/modules/thrift/hello/client/prj.conf

@ -28,7 +28,7 @@ CONFIG_NET_TCP=y @@ -28,7 +28,7 @@ CONFIG_NET_TCP=y
CONFIG_NET_IPV6=n
CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=6
CONFIG_ZVFS_OPEN_MAX=6
CONFIG_NET_CONNECTION_MANAGER=y
# Kernel options
@ -61,7 +61,7 @@ CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2" @@ -61,7 +61,7 @@ CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2"
# Number of socket descriptors might need adjusting
# if there are more than 1 handlers defined.
CONFIG_POSIX_MAX_FDS=16
CONFIG_ZVFS_OPEN_MAX=16
# Some platforms require relatively large stack sizes.
# This can be tuned per-board.

2
samples/modules/thrift/hello/server/prj.conf

@ -51,7 +51,7 @@ CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2" @@ -51,7 +51,7 @@ CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2"
# Number of socket descriptors might need adjusting
# if there are more than 1 handlers defined.
CONFIG_POSIX_MAX_FDS=16
CONFIG_ZVFS_OPEN_MAX=16
# Some platforms require relatively large stack sizes.
# This can be tuned per-board.

2
samples/net/mqtt_sn_publisher/prj.conf

@ -5,7 +5,7 @@ CONFIG_NET_IPV4=y @@ -5,7 +5,7 @@ CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=n
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_API=y
CONFIG_POSIX_MAX_FDS=6
CONFIG_ZVFS_OPEN_MAX=6
CONFIG_NET_CONNECTION_MANAGER=y
# Kernel options

2
samples/net/sockets/dumb_http_server_mt/prj.conf

@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
CONFIG_TEST_RANDOM_GENERATOR=y
# POSIX options
CONFIG_POSIX_MAX_FDS=20
CONFIG_ZVFS_OPEN_MAX=20
CONFIG_POSIX_API=y
# Networking config

2
samples/net/sockets/echo_client/overlay-tls.conf

@ -12,4 +12,4 @@ CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=2048 @@ -12,4 +12,4 @@ CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=2048
CONFIG_NET_SOCKETS_SOCKOPT_TLS=y
CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=4
CONFIG_NET_SOCKETS_ENABLE_DTLS=y
CONFIG_POSIX_MAX_FDS=8
CONFIG_ZVFS_OPEN_MAX=8

2
samples/net/sockets/echo_server/overlay-tls.conf

@ -13,4 +13,4 @@ CONFIG_NET_SOCKETS_SOCKOPT_TLS=y @@ -13,4 +13,4 @@ CONFIG_NET_SOCKETS_SOCKOPT_TLS=y
CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=6
CONFIG_NET_SOCKETS_ENABLE_DTLS=y
CONFIG_NET_SOCKETS_DTLS_TIMEOUT=30000
CONFIG_POSIX_MAX_FDS=16
CONFIG_ZVFS_OPEN_MAX=16

4
samples/net/sockets/echo_server/prj.conf

@ -6,7 +6,7 @@ CONFIG_NET_IPV6=y @@ -6,7 +6,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_API=y
CONFIG_POSIX_MAX_FDS=6
CONFIG_ZVFS_OPEN_MAX=6
CONFIG_NET_CONNECTION_MANAGER=y
# Kernel options
@ -48,7 +48,7 @@ CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2" @@ -48,7 +48,7 @@ CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2"
# Number of socket descriptors might need adjusting
# if there are more than 1 handlers defined.
CONFIG_POSIX_MAX_FDS=12
CONFIG_ZVFS_OPEN_MAX=12
# How many client can connect to echo-server simultaneously
CONFIG_NET_SAMPLE_NUM_HANDLERS=1

2
samples/net/sockets/echo_service/prj.conf

@ -10,7 +10,7 @@ CONFIG_NET_IPV6=y @@ -10,7 +10,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_IPV4_MAPPING_TO_IPV6=y
CONFIG_POSIX_MAX_FDS=10
CONFIG_ZVFS_OPEN_MAX=10
CONFIG_NET_MAX_CONN=5
CONFIG_NET_SOCKETS_SERVICE=y
CONFIG_NET_SOCKETS_POLL_MAX=20

2
samples/net/sockets/http_server/prj.conf

@ -5,7 +5,7 @@ CONFIG_LOG=y @@ -5,7 +5,7 @@ CONFIG_LOG=y
CONFIG_ENTROPY_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_INIT_STACKS=y
CONFIG_POSIX_MAX_FDS=32
CONFIG_ZVFS_OPEN_MAX=32
CONFIG_POSIX_API=y
CONFIG_FDTABLE=y
CONFIG_NET_SOCKETS_POLL_MAX=32

2
samples/net/sockets/net_mgmt/prj.conf

@ -6,7 +6,7 @@ CONFIG_NET_IPV6=y @@ -6,7 +6,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_API=y
CONFIG_POSIX_MAX_FDS=6
CONFIG_ZVFS_OPEN_MAX=6
CONFIG_NET_SOCKETS_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y

2
samples/net/sockets/packet/prj.conf

@ -7,7 +7,7 @@ CONFIG_NET_IPV4=n @@ -7,7 +7,7 @@ CONFIG_NET_IPV4=n
CONFIG_NET_MAX_CONTEXTS=10
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_API=y
CONFIG_POSIX_MAX_FDS=6
CONFIG_ZVFS_OPEN_MAX=6
CONFIG_NET_CONTEXT_RCVTIMEO=y
CONFIG_NET_MGMT=y
CONFIG_NET_MGMT_EVENT=y

2
samples/net/zperf/prj.conf

@ -20,7 +20,7 @@ CONFIG_NET_MAX_CONTEXTS=5 @@ -20,7 +20,7 @@ CONFIG_NET_MAX_CONTEXTS=5
CONFIG_NET_TC_TX_COUNT=1
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POLL_MAX=9
CONFIG_POSIX_MAX_FDS=8
CONFIG_ZVFS_OPEN_MAX=8
CONFIG_POSIX_API=y
CONFIG_INIT_STACKS=y

2
samples/subsys/video/tcpserversink/prj.conf

@ -3,7 +3,7 @@ CONFIG_NETWORKING=y @@ -3,7 +3,7 @@ CONFIG_NETWORKING=y
CONFIG_NET_TCP=y
CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=6
CONFIG_ZVFS_OPEN_MAX=6
CONFIG_POSIX_API=y
# Kernel options

4
subsys/net/lib/sockets/socket_obj_core.c

@ -20,8 +20,8 @@ static K_MUTEX_DEFINE(sock_obj_mutex); @@ -20,8 +20,8 @@ static K_MUTEX_DEFINE(sock_obj_mutex);
/* Allocate some extra socket objects so that we can track
* closed sockets and get some historical statistics.
*/
static struct sock_obj sock_objects[CONFIG_POSIX_MAX_FDS * 2] = {
[0 ... ((CONFIG_POSIX_MAX_FDS * 2) - 1)] = {
static struct sock_obj sock_objects[CONFIG_ZVFS_OPEN_MAX * 2] = {
[0 ... ((CONFIG_ZVFS_OPEN_MAX * 2) - 1)] = {
.fd = -1,
.init_done = false,
}

2
tests/modules/thrift/ThriftTest/overlay-tls.conf

@ -14,7 +14,7 @@ CONFIG_THRIFT_SSL_SOCKET=y @@ -14,7 +14,7 @@ CONFIG_THRIFT_SSL_SOCKET=y
# tcp sockets (client, server): 2
# tls sockets (client, server): 2
# socketpairs for cancellation (accept, client, server): 6
CONFIG_POSIX_MAX_FDS=15
CONFIG_ZVFS_OPEN_MAX=15
# TLS configuration
CONFIG_MBEDTLS=y

2
tests/modules/thrift/ThriftTest/prj.conf

@ -51,7 +51,7 @@ CONFIG_NET_PKT_RX_COUNT=20 @@ -51,7 +51,7 @@ CONFIG_NET_PKT_RX_COUNT=20
# stdin, stdout, stderr: 3
# socketpair for channel: 2
# eventfd for cancellation: 1
CONFIG_POSIX_MAX_FDS=6
CONFIG_ZVFS_OPEN_MAX=6
# Network address config
CONFIG_NET_IPV4=y

2
tests/net/lib/dns_resolve/prj.conf

@ -30,4 +30,4 @@ CONFIG_ZTEST=y @@ -30,4 +30,4 @@ CONFIG_ZTEST=y
CONFIG_MAIN_STACK_SIZE=1344
CONFIG_NET_SOCKETS_POLL_MAX=9
CONFIG_POSIX_MAX_FDS=8
CONFIG_ZVFS_OPEN_MAX=8

2
tests/net/lib/http_server/crime/prj.conf

@ -9,7 +9,7 @@ CONFIG_ENTROPY_GENERATOR=y @@ -9,7 +9,7 @@ CONFIG_ENTROPY_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_ZTEST_STACK_SIZE=1024
CONFIG_POSIX_MAX_FDS=10
CONFIG_ZVFS_OPEN_MAX=10
CONFIG_REQUIRES_FULL_LIBC=y
CONFIG_EVENTFD_MAX=10
CONFIG_NET_MAX_CONTEXTS=10

2
tests/net/lib/http_server/prototype/prj.conf

@ -7,7 +7,7 @@ CONFIG_POSIX_API=y @@ -7,7 +7,7 @@ CONFIG_POSIX_API=y
CONFIG_ENTROPY_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y
CONFIG_POSIX_MAX_FDS=10
CONFIG_ZVFS_OPEN_MAX=10
CONFIG_REQUIRES_FULL_LIBC=y
CONFIG_EVENTFD_MAX=10
CONFIG_NET_MAX_CONTEXTS=10

4
tests/net/lib/http_server/tls/prj.conf

@ -37,9 +37,9 @@ CONFIG_NET_BUF_TX_COUNT=128 @@ -37,9 +37,9 @@ CONFIG_NET_BUF_TX_COUNT=128
CONFIG_NET_BUF_RX_COUNT=128
CONFIG_NET_PKT_TX_COUNT=16
CONFIG_NET_PKT_RX_COUNT=16
CONFIG_POSIX_MAX_FDS=32
CONFIG_ZVFS_OPEN_MAX=32
CONFIG_NET_SOCKETS_POLL_MAX=32
CONFIG_POSIX_MAX_FDS=32
CONFIG_ZVFS_OPEN_MAX=32
CONFIG_REQUIRES_FULL_LIBC=y
CONFIG_EVENTFD_MAX=10
CONFIG_NET_MAX_CONTEXTS=10

2
tests/net/pm/prj.conf

@ -7,7 +7,7 @@ CONFIG_NET_L2_ETHERNET=n @@ -7,7 +7,7 @@ CONFIG_NET_L2_ETHERNET=n
CONFIG_NET_UDP=y
CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=2
CONFIG_ZVFS_OPEN_MAX=2
CONFIG_ZTEST_STACK_SIZE=2048
CONFIG_MAIN_STACK_SIZE=2048
CONFIG_NET_LOG=y

2
tests/net/socket/af_packet/prj.conf

@ -6,7 +6,7 @@ CONFIG_NET_UDP=y @@ -6,7 +6,7 @@ CONFIG_NET_UDP=y
CONFIG_NET_TCP=n
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_PACKET=y
CONFIG_POSIX_MAX_FDS=8
CONFIG_ZVFS_OPEN_MAX=8
CONFIG_NET_IPV6_DAD=n
CONFIG_NET_IPV6_MLD=n

2
tests/net/socket/af_packet_ipproto_raw/prj.conf

@ -6,7 +6,7 @@ CONFIG_NET_UDP=n @@ -6,7 +6,7 @@ CONFIG_NET_UDP=n
CONFIG_NET_TCP=n
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_PACKET=y
CONFIG_POSIX_MAX_FDS=8
CONFIG_ZVFS_OPEN_MAX=8
CONFIG_NET_SOCKETS_LOG_LEVEL_DBG=y
CONFIG_NET_CORE_LOG_LEVEL_DBG=y

2
tests/net/socket/poll/prj.conf

@ -5,7 +5,7 @@ CONFIG_NET_IPV6=y @@ -5,7 +5,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_UDP=y
CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=10
CONFIG_ZVFS_OPEN_MAX=10
CONFIG_NET_PKT_TX_COUNT=8
CONFIG_NET_PKT_RX_COUNT=8
CONFIG_NET_MAX_CONN=5

2
tests/net/socket/reuseaddr_reuseport/prj.conf

@ -28,7 +28,7 @@ CONFIG_NET_CONTEXT_REUSEPORT=y @@ -28,7 +28,7 @@ CONFIG_NET_CONTEXT_REUSEPORT=y
CONFIG_NET_HOSTNAME_ENABLE=y
CONFIG_NET_HOSTNAME="ztest_hostname"
CONFIG_POSIX_MAX_FDS=8
CONFIG_ZVFS_OPEN_MAX=8
CONFIG_NET_MAX_CONN=10
CONFIG_NET_MAX_CONTEXTS=10

2
tests/net/socket/select/prj.conf

@ -10,7 +10,7 @@ CONFIG_NET_IPV4=n @@ -10,7 +10,7 @@ CONFIG_NET_IPV4=n
CONFIG_NET_IPV6=y
CONFIG_NET_SOCKETS=y
# Defines fd_set size
CONFIG_POSIX_MAX_FDS=33
CONFIG_ZVFS_OPEN_MAX=33
# Network driver config
CONFIG_TEST_RANDOM_GENERATOR=y

2
tests/net/socket/select/src/main.c

@ -34,7 +34,7 @@ ZTEST_USER(net_socket_select, test_fd_set) @@ -34,7 +34,7 @@ ZTEST_USER(net_socket_select, test_fd_set)
{
zsock_fd_set set;
/* Relies on specific value of CONFIG_POSIX_MAX_FDS in prj.conf */
/* Relies on specific value of CONFIG_ZVFS_OPEN_MAX in prj.conf */
zassert_equal(sizeof(set.bitset), sizeof(uint32_t) * 2, "");
ZSOCK_FD_ZERO(&set);

2
tests/net/socket/service/prj.conf

@ -5,7 +5,7 @@ CONFIG_NET_IPV6=y @@ -5,7 +5,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_UDP=y
CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=10
CONFIG_ZVFS_OPEN_MAX=10
CONFIG_NET_PKT_TX_COUNT=8
CONFIG_NET_PKT_RX_COUNT=8
CONFIG_NET_MAX_CONN=5

2
tests/net/socket/socketpair/prj.conf

@ -7,7 +7,7 @@ CONFIG_NET_IPV4=y @@ -7,7 +7,7 @@ CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETPAIR=y
CONFIG_NET_SOCKETPAIR_BUFFER_SIZE=64
CONFIG_POSIX_MAX_FDS=10
CONFIG_ZVFS_OPEN_MAX=10
# Network driver config
CONFIG_TEST_RANDOM_GENERATOR=y

2
tests/net/socket/tcp/prj.conf

@ -11,7 +11,7 @@ CONFIG_NET_IPV6=y @@ -11,7 +11,7 @@ CONFIG_NET_IPV6=y
CONFIG_NET_IPV6_ND=n
CONFIG_NET_TCP=y
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=10
CONFIG_ZVFS_OPEN_MAX=10
# Network driver config
CONFIG_NET_DRIVERS=y

2
tests/net/socket/tcp/src/main.c

@ -2491,7 +2491,7 @@ static void after(void *arg) @@ -2491,7 +2491,7 @@ static void after(void *arg)
{
ARG_UNUSED(arg);
for (int i = 0; i < CONFIG_POSIX_MAX_FDS; ++i) {
for (int i = 0; i < CONFIG_ZVFS_OPEN_MAX; ++i) {
(void)zsock_close(i);
}
}

2
tests/net/socket/tls/prj.conf

@ -19,7 +19,7 @@ CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=4 @@ -19,7 +19,7 @@ CONFIG_NET_SOCKETS_TLS_MAX_CONTEXTS=4
CONFIG_NET_CONTEXT_RCVTIMEO=y
CONFIG_NET_CONTEXT_SNDTIMEO=y
CONFIG_NET_CONTEXT_RCVBUF=y
CONFIG_POSIX_MAX_FDS=20
CONFIG_ZVFS_OPEN_MAX=20
# Keep timings short for the test
CONFIG_NET_TCP_TIME_WAIT_DELAY=10

2
tests/net/socket/tls_ext/prj.conf

@ -29,7 +29,7 @@ CONFIG_NET_BUF_TX_COUNT=64 @@ -29,7 +29,7 @@ CONFIG_NET_BUF_TX_COUNT=64
CONFIG_NET_PKT_TX_COUNT=64
CONFIG_NET_BUF_RX_COUNT=64
CONFIG_NET_PKT_RX_COUNT=64
CONFIG_POSIX_MAX_FDS=10
CONFIG_ZVFS_OPEN_MAX=10
# Stack sizes
CONFIG_MAIN_STACK_SIZE=2048

2
tests/net/socket/udp/prj.conf

@ -7,7 +7,7 @@ CONFIG_NET_IPV4=y @@ -7,7 +7,7 @@ CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=y
CONFIG_NET_UDP=y
CONFIG_NET_SOCKETS=y
CONFIG_POSIX_MAX_FDS=10
CONFIG_ZVFS_OPEN_MAX=10
CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3
CONFIG_NET_IPV6_DAD=n
CONFIG_NET_IPV6_MLD=n

2
tests/net/socket/udp/src/main.c

@ -2532,7 +2532,7 @@ static void after(void *arg) @@ -2532,7 +2532,7 @@ static void after(void *arg)
{
ARG_UNUSED(arg);
for (int i = 0; i < CONFIG_POSIX_MAX_FDS; ++i) {
for (int i = 0; i < CONFIG_ZVFS_OPEN_MAX; ++i) {
(void)zsock_close(i);
}
}

2
tests/posix/fs/src/test_fs_file.c

@ -290,7 +290,7 @@ ZTEST(posix_fs_file_test, test_fs_unlink) @@ -290,7 +290,7 @@ ZTEST(posix_fs_file_test, test_fs_unlink)
ZTEST(posix_fs_file_test, test_fs_fd_leak)
{
const int reps =
MAX(CONFIG_POSIX_MAX_OPEN_FILES, CONFIG_POSIX_MAX_FDS) + 5;
MAX(CONFIG_POSIX_OPEN_MAX, CONFIG_ZVFS_OPEN_MAX) + 5;
for (int i = 0; i < reps; i++) {
if (i > 0) {

Loading…
Cancel
Save