2087 Commits

Author SHA1 Message Date
Rick Macklem
60f67a1f37 Add the MSG_TLSAPPDATA flag to indicate "return ENXIO" for non-application TLS data records.
The kernel RPC cannot process non-application data records when
using TLS. It must to an upcall to a userspace daemon that will
call SSL_read() to process them.

This patch adds a new flag called MSG_TLSAPPDATA that the kernel
RPC can use to tell sorecieve() to return ENXIO instead of a non-application
data record, when that is what is at the top of the receive queue.
I put the code in #ifdef KERN_TLS/#endif, although it will build without
that, so that it is recognized as only useful when KERN_TLS is enabled.
The alternative to doing this is to have the kernel RPC re-queue the
non-application data message after receiving it, but that seems more
complicated and might introduce message ordering issues when there
are multiple non-application data records one after another.

I do not know what, if any, changes will be required to support TLS1.3.

Reviewed by:	glebius
Differential Revision:	https://reviews.freebsd.org/D25923
2022-07-07 14:22:54 +02:00
Sebastian Huber
731ec09ae0 CONTRIBUTING.rst: Add FreeBSD baseline update hints 2022-07-07 14:22:54 +02:00
Sebastian Huber
9a88b07c33 user-space: Request FreeBSD bitset API
This is required for recent Newlib versions.

Update #4667.
2022-06-30 17:40:33 +02:00
Sebastian Huber
c5c5a199c6 if_lpe.c: Use interface transmit
This avoids the need for a transmit task and transmit interrupts.
2022-06-24 07:33:29 +02:00
Sebastian Huber
1056349b4e if_lpe.c: Move transmit initialization
Move the transmit initialization out of the transmit task to be able to
remove the transmit task in the next patch.
2022-06-24 07:32:50 +02:00
Sebastian Huber
ff4c60af7a if_lpe.c: Port to LibBSD 2022-06-24 07:32:50 +02:00
Sebastian Huber
2722615130 if_lpe.c: Import legacy LPC Ethernet driver
The standard FreeBSD MII support causes severe problems on the LPC3200
chip family.  If an Ethernet module register is accessed while there is
no clock from the PHY, the chip completely locks up and only an external
watchdog can recover from this state.  The legacy driver had a custom
PHY management code which helped to avoid such issues.  The if_lpe.c
driver is no longer maintained by FreeBSD.
2022-06-24 07:32:50 +02:00
Sebastian Huber
3f0f73956d build: Ensure mandatory compiler/linker flags
Make sure the flags are present in all build configurations.
2022-06-23 10:46:17 +02:00
Sebastian Huber
117e0cdafd README.rst: Remove RTEMS_POSIX_API from BSP config 2022-06-22 17:35:50 +02:00
Sebastian Huber
c935f1def2 build: Do not require RTEMS_POSIX_API 2022-06-22 17:25:12 +02:00
Sebastian Huber
da3551ad94 netstat: Do not use signals 2022-06-22 17:25:12 +02:00
Sebastian Huber
60986c25e0 wlanstats: Do not use signals 2022-06-22 17:25:12 +02:00
Sebastian Huber
c178af7dfa ping6: Do not use signals 2022-06-22 17:25:12 +02:00
Sebastian Huber
04564e61c6 ping: Do not use signals 2022-06-22 17:25:12 +02:00
Sebastian Huber
86d6b72349 openssl: Do not use signals 2022-06-22 17:25:12 +02:00
Sebastian Huber
204790a525 wpa: Use CONFIG_ELOOP_KQUEUE
This avoids issues with the fd_set size.
2022-06-22 17:25:12 +02:00
Sebastian Huber
ef338b80c0 wpa: Do not use signals 2022-06-22 17:25:12 +02:00
Sebastian Huber
44e06dada2 ipsec-tools: Do not use signals 2022-06-22 17:25:12 +02:00
Sebastian Huber
31e3906ed4 racoon: Do not rely on <sys/types.h> 2022-06-22 17:25:12 +02:00
Sebastian Huber
0761774abd Revert white space changes 2022-06-22 17:25:12 +02:00
Chris Johns
c56a34f547 freebsd/nfsv4: Fix misaligned 64bit user dirent write 2022-06-20 13:04:11 +10:00
Sebastian Huber
26963fa0cd nfs01: Fix warnings 2022-06-10 08:06:42 +02:00
Sebastian Huber
2e696c6232 CONTRIBUTING.rst: Warn about white space changes 2022-06-09 08:40:16 +02:00
Sebastian Huber
dba9346b43 uma_core.c: Fix use of uninitialized variable
Update #4475.
2022-06-08 15:16:36 +02:00
Christian Mauderer
c9b4bed650 if_ffec: Allow PHY that is connected to other FFEC
The i.MX6UL (and some others from the i.MX family) have shared MDIO
lines for multiple FFECs. This patch allows to use the MDIO interface
from another Ethernet controller.

Note that you have to make sure that the FFECs are initialized in the
right order. Normally that can be done via FDT.
2022-06-07 09:08:04 +02:00
Christian Mauderer
2a6a230e65 if_ffec: Reduce buffer size
Typical embedded systems don't have that much memory. Reduce the buffer
size to something more sensible for the usual type of application.
2022-06-07 09:08:00 +02:00
Sebastian Huber
ed25b390fc Use rtems_task_exit() 2022-06-01 10:34:36 +02:00
Sebastian Huber
61f646d9b9 if_atsam: Recover from receive freezes
Under unknown conditions the receive path ended up in a frozen state.
In this state, the DMA and driver descriptor head were equal and all
receive descriptors had the used bit set.  So, the DMA was unable to
store received frames.  However, the receive daemon was never woken up
to refill the receive buffers.  It seems that the RXUBR interrupt can be
used to recover from this state.

Update #4652.
2022-06-01 09:57:56 +02:00
Sebastian Huber
8588e9542e if_atsam: Shorten sysctl names
Update #4652.
2022-06-01 09:57:53 +02:00
Sebastian Huber
bd56cb2e59 if_atsam: Add tx/rx desc sysctls
Update #4652.
2022-06-01 09:57:50 +02:00
Sebastian Huber
683bae95b3 if_atsam: Add register sysctls
Update #4652.
2022-06-01 09:57:47 +02:00
Sebastian Huber
07e282034c if_atsam: Allow stats reset via sysctl
Update #4652.
2022-06-01 09:57:28 +02:00
Sebastian Huber
593f7c1003 libbsd.txt: Move issues and TODO 2022-05-25 08:06:57 +02:00
Sebastian Huber
bb92546987 libbsd.txt: Move system control hints
Generalize hint.
2022-05-25 08:06:57 +02:00
Sebastian Huber
0a1a47c11f libbsd.txt: Move initialization details 2022-05-25 08:06:57 +02:00
Sebastian Huber
41496dab56 libbsd.txt: Move IPsec description 2022-05-25 08:06:57 +02:00
Sebastian Huber
f2583218dd libbsd.txt: Move WLAN description 2022-05-25 08:06:57 +02:00
Sebastian Huber
5a97d50361 libbsd.txt: Move PF description 2022-05-25 08:06:57 +02:00
Sebastian Huber
8e278327be libbsd.txt: Move ported kernel features
Remove obsolete file listing.
2022-05-25 08:06:57 +02:00
Sebastian Huber
76e7a9e84d libbsd.txt: Move Qemu notes 2022-05-25 08:06:57 +02:00
Sebastian Huber
0283481dab libbsd.txt: Move network interface driver hints 2022-05-25 08:06:57 +02:00
Sebastian Huber
b375969a2f libbsd.txt: Move features
Add more features and commands.
2022-05-25 08:06:57 +02:00
Sebastian Huber
1c0c1a738b libbsd.txt: Move initialization description 2022-05-25 08:06:57 +02:00
Sebastian Huber
23636df5cb libbsd.txt: Move configuration of network tests 2022-05-25 08:06:57 +02:00
Sebastian Huber
6db1763972 libbsd.txt: Remove installation overview
This is already covered by README.md
2022-05-25 08:06:57 +02:00
Sebastian Huber
31bd0d7047 libbsd.txt: Move BSP related content 2022-05-25 08:06:57 +02:00
Sebastian Huber
00365c0789 libbsd.txt: Move introduction content 2022-05-25 08:06:57 +02:00
Sebastian Huber
9fa59f717e CONTRIBUTING.rst: Use LibBSD 2022-05-25 08:06:57 +02:00
Sebastian Huber
63228df30d Convert *.md files to reST
The reST format is used by the standard RTEMS documentation.
2022-05-25 08:06:56 +02:00
Sebastian Huber
564ea9eddf README.md: Move SMP Requirements section 2022-05-25 08:06:36 +02:00