By default, pfkey allocates a 2MB buffer that is used for SPD entries.
This size is a good choice for a server system where a lot of clients
should be handled. But on our embedded systems, an application with that
much clients is unlikely and 2MB is a lot of space. So reduce that to
the default value of 128kB which should be enough for a small number of
ipsec connections.
See https://bugzilla.redhat.com/show_bug.cgi?id=607361 for more details
why the upstream project originally increased the size.
If someone really needs a bigger size, there is a option in the
configuration file of pfkey called `pfkey_buffer` that can overwrite
this value.
Closes#4621
The pppstart expected that a driver write would somehow magically
process all data passed to the write function. Because ppp disables all
buffering that originally has been in termios, that assumption is not
true for all but polled drivers.
With this patch, the pppstart now gets and processes the feedback that
is returned from the driver via rtems_termios_dequeue_characters.
Update #4493
There was a typo in the patch that added the HAVE_<LIBRARY> definition
that prevented "./waf configure" from succeeding. This adds the missing
character.
Conditionally compiled tests (consisting only of debugger01) were not
compiling as expected when libdebugger was present. This appears to have
occurred during the transition from header detection or due to an
intervening change in the waf internal libraries. The result of
check_cc() is the only location this information is reported, so library
checks now set HAVE_<LIBRARY> as appropriate when the library is found
so existing code for header configuration correctly recognize that a
library is present.
Since the epoch call callbacks may lock/unlock a mutex the callbacks must be
called from within thread context with thread dispatching enabled. Use thread
pinning to ensure that the calling thread stays on the right processor. Use
the interrupt server to ensure the thread context for the epoch drain.
Changed nfs_utime() to nfs_utimens(), changed the arguments to use
a timespec array instead of individual variables for access and
modified time.
Updates #4400
setkey uses pfkey_open to open a socket. But setkey doesn't close the
socket.
The libipsec functions are used only by user space applications (setkey
and racoon). Adding the wrapper for socket makes sure that the opened
socket is registered and closes if the application exits.
Fixes#4405
Possible data sources for SD driver:
- mmc_sd_switch():
- length: 64 byte;
- buffer on stack
- mmc_test_bus_width():
- length: 4 or 8 byte
- buffer in program memory or on stack
- mmc_app_send_scr():
- length: 8 byte
- buffer from device ivar structure
- mmc_app_sd_status():
- length: 64 byte
- buffer from device ivar structure
- mmc_send_ext_csd():
- length: MMC_EXTCSD_SIZE = 512
- buffer from device ivar structure
- rtems_bsd_mmcsd_disk_read_write():
- length: depends on read
- buffer from rtems_blkdev buffer -> already aligned
- mmcsd_ioctl_cmd():
- length: depends on call
- buffer malloced, not aligned -> patched in RTEMS
So the problematic buffers are only the ones up to 512 bytes. Copy these data
into a buffer to avoid that problem.
The TI driver has been moved to RTEMS so the driver can be removed
from libBSD.
The following files have been removed from libBSD and moved to
RTEMS.
1) ti/am335x/am335x_scm_padconf.c
2) ti/am335x/am335x_scm_padconf.h
3) ti/ti_pinmux.c
4) ti/ti_pinmux.h
Update #3784
With the previous fix, it could happen that the end of the packet hasn't
been flushed. For example assume the following addresses:
ds_addr: 0x81c804A
ds_len: 0x57
In that case the data ends at 0x81c80a1. But due to the rounding the
area from 0x81c8040 to 0x81c80a0 would have been flushed.
This fix now first calculates the start and end address, aligns these
addresses and then recalculates the len that has to be flushed.
Update #4180
Update the host frame interval after a device connection. Select also
the FS/LS PHY clock. It is not clear if this works on all platforms.
Update #3910.