incubator-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
alloca.h
assert.h
crc8.h
crc16.h
crc32.h
crc64.h
ctype.h
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
dsp.h libs/libc/unistd/lib_getcwd.c: remove stray sched_unlock(). Also fixes several typos. 2019-09-20 06:23:48 -06:00
elf.h ELF64 support (#220) 2020-02-07 17:10:23 -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
endian.h
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
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
inttypes.h
libgen.h
limits.h
locale.h
lzf.h Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
mqueue.h
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
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
sched.h Run all .c and .h files in PR235 through tools/nxstyle. 2020-02-09 07:34:24 -06:00
semaphore.h
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
stdbool.h
stddef.h
stdint.h
stdio.h Replace #include <semaphore.h> to #include <nuttx/semaphore.h> 2020-02-01 08:27:30 -06:00
stdlib.h
stdnoreturn.h
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
termios.h
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
wctype.h