nuttx/include/nuttx/net
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
..
arp.h Merged in dagar/nuttx/pr-arp_whitespace (pull request #780) 2018-12-09 20:12:10 +00:00
bluetooth.h Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
dns.h Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
enc28j60.h Standardization of some function headers. 2018-03-13 09:52:27 -06:00
encx24j600.h Standardization of some function headers. 2018-03-13 09:52:27 -06:00
ethernet.h Fix "with with" typos 2020-01-27 08:46:46 +01:00
ftmac100.h Standardization of some function headers. 2018-03-13 09:52:27 -06:00
gmii.h Clean up and review of header files for conformance to standards 2015-06-12 19:26:01 -06:00
icmp.h Remove psock_send and sockfd_socket from net/socket/socket.h 2020-01-31 13:45:15 -06:00
icmpv6.h Remove psock_send and sockfd_socket from net/socket/socket.h 2020-01-31 13:45:15 -06:00
ieee802154.h Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
igmp.h include/nuttx/net/igmp.h: fix build break by previous network changes (#196) 2020-02-01 11:31:23 +00:00
ioctl.h Remove dup definition in nuttx/net/arp.h and include/nuttx/net/ioctl.h 2018-11-09 13:59:45 -06:00
ip.h Add FAR for pointer type for socket header files 2020-01-31 13:45:15 -06:00
ipopt.h Squashed commit of the following: 2018-11-01 15:19:47 -06:00
ipv6ext.h Remove psock_send and sockfd_socket from net/socket/socket.h 2020-01-31 13:45:15 -06:00
lan91c111.h include/nuttx/net/w5500.h: Header file for the WIZnet S5500 Ethernet chip. Still missing register bit definitions. Driver will follow. 2019-12-08 09:57:42 -06:00
loopback.h Remove NETDEV_LOOPBACK option, NET_LOOPBACK is enough 2020-02-02 08:25:06 -06:00
mii.h Kinetis renamed TJA1100 to TJA110X registers 2020-02-07 10:04:48 +01:00
mld.h Squashed commit of the following: 2018-11-11 11:38:29 -06:00
neighbor.h network: simplify the timeout process logic 2020-01-11 08:24:49 -06:00
net.h Remove psock_send and sockfd_socket from net/socket/socket.h 2020-01-31 13:45:15 -06:00
netconfig.h Network Loopback Driver: A configuration option to control packet size. 2020-02-10 22:17:32 -03:00
netdev.h Add FAR for pointer type for socket header files 2020-01-31 13:45:15 -06:00
netlink.h net/netlink: Add some comments about 'Input Parameters' 2019-11-19 20:46:43 -06:00
netstats.h net/mld: Fix a few compilation problems that cropped up in a different network configuration. Fix a logic error in setting the 'Other Querier Present' timer. Various cosmetic improvements. 2018-11-07 18:21:21 -06:00
phy.h drivers/net/phy_notify.c: Use IFNAMSIZ for interface name size 2020-02-02 11:02:39 -06:00
pkt.h Standardization of some function headers. 2018-03-13 09:52:27 -06:00
radiodev.h Fix some typos. Also minor update to stm32f7/nucleo-144/README.txt and stm32l4/nucleo-l496zg/README.txt board documentation. 2019-09-05 08:12:50 -06:00
rfc6775.h libc: Add support for readv() and write(). Also includes some cosmetic changes to some unrelated files. 2017-11-11 11:44:14 -06:00
rpmsg.h This commit brings in the drivers needed to support OpenAMP. These changes were ported from https://github.com/FishsemiCode/nuttx. The current state: Most drivers do now compile but are not yet verfied. 2019-11-02 11:30:33 -06:00
rpmsgdrv.h include/nuttx/net/w5500.h: Header file for the WIZnet S5500 Ethernet chip. Still missing register bit definitions. Driver will follow. 2019-12-08 09:57:42 -06:00
sixlowpan.h Revert "include/nuttx/net/sixlowpan.h: Fix endian-ness problem in SIXLOWPAN_IS_IID_8BIT_COMPRESSABLE() macro definition. This macro checks whether we can compress the IID to 8 bits." 2019-05-08 06:28:53 -06:00
slip.h Remove duplicated NET_SLIP option from drivers/net/Kconfig 2020-02-02 08:24:50 -06:00
tcp.h Fix the wrong IPv6 TCP MSS calculation 2020-01-31 13:45:15 -06:00
telnet.h Standardization of some function headers. 2018-03-13 09:52:27 -06:00
tun.h Refine the preprocessor conditional guard style (#190) 2020-01-31 19:07:39 +01:00
udp.h Fix use of undefined pp-token #errror, other typos. 2019-09-19 18:19:18 -06:00
usrsock.h net/usrsock: Add the listen/accept/getpeername/ioctl support 2018-08-26 15:15:48 -06:00
w5500.h include/nuttx/net/w5500.h: Finishes off register bitfield definitions. Driver will follow. 2019-12-08 10:53:52 -06:00