nuttx/include
Gregory Nutt 3c0b49448a Network Loopback Driver: A configuration option to control packet size.
Historically, the loopback driver used the largest packet size of all enabled link layer protocols.  This permitted packets to be forward via the loopbak device with no major loss of performance.  However, in experimenting with configurations where no other link layer protocols were enabled, this means the loopback packet size was set to the smallest possible size, to the SLIP minimum of 296 bytes.  This resulted in terrible loopback performance.

    This commit adds an option to increase the loopback packet size with the option CONFIG_NET_LOOPBACK_PACKETSIZE.

    The loopback driver packet buffer should be quite large.  The larger the loopback packet buffer, the better will be TCP performance of the loopback transfers.  The Linux loopback device historically used packet buffers of size 16Kb, but that was increased in recent Linux versions to 64Kb.  Those sizes may be excessive for resource constrained MCUs, however.

    The network still enforces the lower limit that is the maximum packet size of all enabled link layer protocols.  But this new option permits the loopback packet size to be increased from that.

    * net/Kconfig:  Adds CONFIG_NET_LOOPBACK_PKTSIZE option
    * include/nuttx/net/netconfig.h:  Assures that the packet size that is used is at least as large as the largest packet size of other link layer protocols.
    * drivers/net/loopback.c:  Use that larger packet size.
    * boards/sim/sim/sim/configs/tcploop/defconfig:  Set the loopback packet size to 1500
2020-02-10 22:17:32 -03:00
..
arpa Remove psock_send and sockfd_socket from net/socket/socket.h 2020-01-31 13:45:15 -06:00
cxx include/cxx/ctime: Remove gititimer and setitimer. These are prototyped in sys/time.h, not time.h. Alternatively, ctime could include sys/time.h. Those APIs should also be in the std namespace. 2019-11-13 14:01:25 -06:00
net Remove psock_send and sockfd_socket from net/socket/socket.h 2020-01-31 13:45:15 -06:00
netinet include/netinet/arp.h: Previous network changes broke the build test (#193) 2020-01-31 21:23:15 +01:00
netpacket Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
nuttx Network Loopback Driver: A configuration option to control packet size. 2020-02-10 22:17:32 -03:00
sys Run all .c and .h files in PR235 through tools/nxstyle. 2020-02-09 07:34:24 -06:00
.gitignore Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
aio.h sched/signal and related changes to other OS subsystems. 2019-01-27 09:28:59 -06:00
alloca.h include/alloca.h: Add alloca.h. Included limited implmentation of alloc() that is only available for GCC versions 3 and above. 2019-04-04 11:04:08 -06:00
assert.h assert: Don't define static_assert in C++ 2016-06-21 07:17:29 -04:00
crc8.h libs/libc/misc/lib_crc8ccitt.c: Adds implementation of CRC8-CCITT. 2018-10-27 16:29:32 -06:00
crc16.h
crc32.h
crc64.h include/crc64.h: fix warning: integer constant is too large for its type 2018-08-27 05:47:59 -06:00
ctype.h Costmetic changes 2016-10-24 16:18:30 -06:00
debug.h Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
dirent.h libs/libc/dirent/: Added alphasort, scandir and DT_* defines 2019-07-31 07:53:14 -06:00
dlfcn.h include/: Correct naming of standard header file. Should be dlfcn.h, not dllfcn.h. I am surprised no one ever noticed before now. 2019-02-09 14:09:28 -06:00
dsp.h libs/libc/unistd/lib_getcwd.c: remove stray sched_unlock(). Also fixes several typos. 2019-09-20 06:23:48 -06:00
elf32.h ELF64 support (#220) 2020-02-07 17:10:23 -06:00
elf64.h ELF64 support (#220) 2020-02-07 17:10:23 -06:00
elf.h ELF64 support (#220) 2020-02-07 17:10:23 -06:00
endian.h Fix typographical error in endian.h and resource.h 2018-11-09 09:05:48 -06:00
errno.h libs/libc/unistd: Stubs for setuid and setgid. Added stubbed implementations of setuid and setgid. These functions are essentially stubs pretending that NuttX supported users and groups and that the only configured user and group in the system were both 'root' with a uid and a gid of 0, respectively. The intent is not to provide meaningful new features, but to ease porting of foreign source code to NuttX. 2019-08-06 07:17:23 -06:00
fcntl.h This commit brings in an inital port of the SPIFFS flash file system into NuttX. The file system is still untested at this point (and subject to some additional review). It is, however, marked EXPERIMENTAL should this should not cause a problem for anyone. 2018-09-24 18:05:09 -06:00
fixedmath.h include/fixedmath.h: Regarding the single precision float to/from fixed point conversions in fixedmath.h, I believe the floating point literals should be appended with the letter 'f' to avoid (expensive) conversions from single to double precision, and thereby also avoid (expensive if done in SW) double point arithmetic (which is what is happening upon inspection of my disassembly). 2019-07-11 15:13:02 -06:00
grp.h libc/grp: Added stubbed implementations of getgrgid, getgrgid_r, getgrnam, getgrnam_r, and initgroups. These functions are essentially stubs pretending that NuttX supported groups and that the only configured group in the system was 'root' with gid 0. The intend is not to provide meaningful new features, but to ease porting of foreign source code to NuttX. 2019-08-03 08:23:04 -06:00
hex2bin.h Squashed commit of the following: 2019-06-26 14:37:19 -06:00
inttypes.h C library: Add strtoimax and strtoumax. 2017-02-16 15:12:37 -06:00
libgen.h In dlopen(), use the basename of the file as the module name 2017-01-22 16:01:03 -06:00
limits.h include/limits.h: Remove the duplicate TMP_MAX definitions. The standard require TMP_MAX define in stdio.h. 2019-03-26 09:18:14 -06:00
locale.h locale.h: Add a bogus definition of locale_t 2017-05-12 10:13:18 -06:00
lzf.h Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
mqueue.h nuttx/sched/mqueue: Change 'int prio' to 'unsigned int prio'. According to open group specification, priority field in mq_* functions should have unsigned type: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/mqueue.h.html 2019-02-15 19:18:55 -06:00
netdb.h libs/libc/netdb: Implemented the netdb functions getnameinfo(), getservbyport(), and getservbyport_r(). 2019-06-30 15:12:34 -06:00
nxflat.h
poll.h drivers/serial/serial.c: Limit the number of times that the poll semaphore is incrmented. 2019-06-13 16:23:04 -06:00
pthread.h sched/pthread, Documentation: fix pthread_key_delete, pthread_self and pthread_yield documentation and some comments. 2019-10-17 11:04:17 -06:00
pwd.h libc/pwd: Added stubbed implementations 2019-08-04 07:18:58 -06:00
queue.h include/queue.h: Add dq_tail marco 2018-08-27 05:57:53 -06:00
sched.h Run all .c and .h files in PR235 through tools/nxstyle. 2020-02-09 07:34:24 -06:00
semaphore.h sem_open() should return SEM_FAILED on any failures. This is change change in the POSIX specification since the original sem_open() was written so many years ago. 2017-09-08 10:14:51 -06:00
signal.h sched/signal: Add support for SIGPIPE. SIGPIPE uses SIG_SIGPIPE_ACTION which terminates process by default. It also could be ignored. 2019-10-17 11:29:39 -06:00
spawn.h Squashed commit of the following: 2019-04-29 14:52:05 -06:00
stdbool.h include/stdbool.h: Define bool only when __cplusplus isn't defined. 2019-01-27 11:25:00 -06:00
stddef.h nclude/sys/types: Move wint_t and wctype_t from wchar.h to types.h. This change is compatible as before since wchar.h include types.h indirectly. This fixes a compilation error with newlib's math.h: 'unknown type name wint_t' 2018-08-27 06:26:37 -06:00
stdint.h include/limits.h and include/sys/types.h: Fix warning about 'SIZE_MAX' redefined. include/nuttx/usb/audio.h: Fix warnings due to '-' used whete '_' intended. 2018-08-28 06:41:57 -06:00
stdio.h Replace #include <semaphore.h> to #include <nuttx/semaphore.h> 2020-02-01 08:27:30 -06:00
stdlib.h apps/system/system/system.c: Add 'const' to make function prototype compatible with OpenGroup.org requirement 2018-08-23 06:40:59 -06:00
stdnoreturn.h stdnoreturn.h: remove C++11 dependency. Applies to C too. 2017-10-02 07:38:43 -06:00
string.h libs/libc/string/Make.defs: Need to include build support for files needed when CHAR_BIT != 8. 2019-11-04 16:02:50 -06:00
strings.h Fix wait loop and void cast (#24) 2020-01-02 10:54:43 -06:00
syscall.h
syslog.h Per OpenGroup.org, syslog -- and, hence, nonstandard vsyslog, and debug wrappers -- does not return a value. Rename _vsyslog to nx_vsyslog. Use internal nx_vsyslog in the few cases where a return value is required. 2018-03-04 08:07:07 -06:00
termios.h Merged in masayuki2009/nuttx.nuttx/termios_branch (pull request #655) 2018-06-12 14:05:39 +00:00
threads.h
time.h Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
unistd.h include/sys/time.h, libs/libc/unistd, sched/timer: Implement alarm(), setitimer() and getitimer() APIs. 2019-11-13 08:10:16 -06:00
wchar.h nclude/sys/types: Move wint_t and wctype_t from wchar.h to types.h. This change is compatible as before since wchar.h include types.h indirectly. This fixes a compilation error with newlib's math.h: 'unknown type name wint_t' 2018-08-27 06:26:37 -06:00
wctype.h wctype.h needs extern C 2017-02-17 09:48:55 -06:00