Commit Graph

112 Commits

Author SHA1 Message Date
Yanfeng Liu
c577abe222 docs/os: fix typos
This fixes a few typos in conventions.rst and libc/index.rst.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-04-21 11:06:46 +08:00
Zhe Weng
f3b34c84c2 net/nat: Support IPv6 Masquerading (NAT66)
Notes:
1. This version of NAT66 is a stateful one like NAT44, corresponding to Linux's MASQUERADE target of ip6tables.  We can support stateless NAT66 & NPTv6 later by slightly modify the address & port selection logic (maybe just match the rules and skip the entry find).
2. We're using same flag `IFF_NAT` for both NAT44 & NAT66 to make control easier.  Which means, if we enable NAT, both NAT44 & NAT66 will be enabled.  If we don't want one of them, we can just disable that one in Kconfig.
3. Maybe we can accelerate the checksum adjustment by pre-calculate a difference of checksum, and apply it to each packet, instead of calling `net_chksum_adjust` each time.  Just a thought, maybe do it later.
4. IP fragment segments on NAT66 connections are not supported yet.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2024-04-11 22:23:29 +08:00
Zhe Weng
f2ff5cee03 net/nat: Make some IPv4 NAT functions as common
To prepare for future IPv6 NAT functions.
- Rename common ipv4_nat_xxx to nat_xxx
- Move some common definitions into header

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2024-04-11 22:23:29 +08:00
Zhe Weng
a1a09f271f net/nat: Support Symmetric NAT
The symmetric NAT limits one external port to be used with only one peer ip:port.

Note:
1. To avoid using too much #ifdef, we're always passing peer_ip and peer_port as arguments, but won't use them under full cone NAT, let the compiler optimize them.
2. We need to find port binding without peer ip:port, so don't add peer ip:port into hash key.
3. Symmetric NAT needs to *select another external port if a port is used by any other NAT entry*, this behavior is exactly same as Full Cone NAT, so we don't need to change anything related to `ipv4_nat_port_inuse`.

Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2024-04-07 23:57:55 +08:00
Zhe Weng
9ab0d8cce6 Documentation: Add docs for lower-half of netdriver
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2024-04-07 10:17:13 -03:00
Tiago Medicci Serrano
e287ed9090 documentation: implement on-demand paging for RISC-V devices
It documents how the on-demand paging was implemented for RISC-V
devices and how it can be extended to other architectures.
2024-03-05 09:45:49 +08:00
Yanfeng Liu
3bd35487f0 docs/comments: add simple document and fix typo
This patch adds simple document for the shared memory file system.
with typos fix in a other places.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-03-03 01:55:07 +08:00
Michał Łyszczek
84a2cab886 drivers/analog/hx711.c: Add driver for hx711 adc
Signed-off-by: Michał Łyszczek <michal.lyszczek@bofc.pl>
2024-02-26 19:16:51 -03:00
Zhe Weng
1eaeef5251 Documentation: Add documentation for packet sockets
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2024-02-23 08:32:49 +01:00
Zhe Weng
da536bed9c Documentation: Move nat.rst and netdev.rst to net/
Signed-off-by: Zhe Weng <wengzhe@xiaomi.com>
2024-02-23 08:32:49 +01:00
Saurav Pal
93d03d0418 fs: Add VFS docs
This commit adds VFS docmentation, and details about the VFS interface.

Signed-off-by: Saurav Pal <resyfer.dev@gmail.com>
2024-02-20 18:28:09 -08:00
Yanfeng Liu
81d3e123cb docs/rpmsgfs: initial docs on RPMsg file system usage.
This patch adds steps about configuring and using the RPMsg file system
with simple example.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-02-20 18:25:18 -08:00
Yanfeng Liu
0e55e461a5 docs/tmpfs: add initial document
This adds initial document for using TMPFS based on my short experience,
hoping to save people's time on guessing how to use.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-02-15 17:49:15 +08:00
Saurav Pal
36ea2929f0 docs/fs/vfat: Improve VFAT documentation
Improved documentation of File Allocation Table (FAT) or VFAT.

Signed-off-by: Saurav Pal <resyfer.dev@gmail.com>
2024-02-05 03:43:41 -08:00
Yanfeng Liu
c3aab93e5f usb: document revision and typo fixing
This slightly revised the USB host documentation and fixed typos
encountered in the document and some source files.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-01-18 21:09:20 -08:00
Yanfeng Liu
3c327efd2f docs/comments: fix some typos
Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-01-15 13:22:13 +08:00
Ville Juven
e39ef8563e semaphore/_SEM_XX: Remove the _SEM redirection macros as unnecessary 2023-11-27 04:52:54 -08:00
Nathan Hartman
26e4dd5638 Documentation: Fix various typos 2023-11-23 16:38:19 -08:00
raiden00pl
4bad6048f0 drivers/foc: add support for FOC power-stage driver
There are ICs available on the market that integrate various power inverter
features. The driver for such a device must be tightly coupled to a FOC device
as using it as a separate device doesn't make sense.
2023-11-18 17:07:20 -08:00
raiden00pl
1c6e5cc0c4 Documentation: migrate "Work Queue Deadlocks" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/Work+Queue+Deadlocks
2023-11-06 18:42:17 -03:00
raiden00pl
2d8c4e6645 Documentation: migrate "SLIP Configuration" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/SLIP+Configuration
2023-11-06 18:42:17 -03:00
raiden00pl
8a8111c2fc Documentation: migrate "CONFIG_NET_GUARDSIZE" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/CONFIG_NET_GUARDSIZE
2023-11-06 18:42:17 -03:00
raiden00pl
1f9e17f5c7 Documentation: add SystemView configuration instructions 2023-11-06 18:42:17 -03:00
raiden00pl
de564d38e9 Documentation: migrate "Wide Font Support" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/Wide+Font+Support
2023-11-05 12:11:14 +08:00
raiden00pl
63558cf72f Documentation: migrate "NuttX Graphics Subsystem (NX)" from wiki
link to wiki: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629474
2023-11-05 12:11:14 +08:00
raiden00pl
b7f94fbf22 Documentation: various cosmetic changes 2023-10-30 20:29:54 +08:00
raiden00pl
64be5c6958 Documentation: update organization.rst 2023-10-30 20:29:54 +08:00
Alan Carvalho de Assis
468e9fcde5 Documentation: Fix typos
I used codespell to find typos in the documentation.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2023-10-29 10:35:51 +08:00
raiden00pl
8f7be6ce27 Documentation: move nxwidgets to applications as it is apps-side lib 2023-10-27 13:21:40 -03:00
raiden00pl
579a35dc68 Documentation: fix ugly formating around some inline literals 2023-10-27 13:21:40 -03:00
raiden00pl
770df6d820 Documentation: remove readme references 2023-10-27 13:21:40 -03:00
raiden00pl
d72c6802c1 Documentation: add dummy pages for missing filesystems and drivers 2023-10-27 13:21:40 -03:00
raiden00pl
870139e45f Documentation: move socketcan.rst to net/ 2023-10-27 13:21:40 -03:00
raiden00pl
8090fb9d5c Documentation: add dummy pages for missing top directories
crypto, openamp, video and wireless
2023-10-27 13:21:40 -03:00
raiden00pl
9c4f042c57 Documentation: add missing directories in net 2023-10-27 13:21:40 -03:00
raiden00pl
408441bf15 Documentation: initialize cmake doc 2023-10-27 13:21:40 -03:00
raiden00pl
82e260740a Documentation: cosmetics for unionfs.rst 2023-10-27 13:21:40 -03:00
raiden00pl
56529d2944 Documentation: migrate the rest boards
- migrated /README are removed from /boards

- there are a lot of READMEs that should be further converted to rst.
  At the moment they are moved to Documentation/platforms and included in rst files
2023-10-26 18:13:34 -03:00
raiden00pl
443e900188 Documentation: migrate the rest of drivers readmes 2023-10-26 20:02:03 +08:00
raiden00pl
d98ae9d3e4 Documentation: cosmetics changes
- various style fixes
- limit the line length to about 80 characters to improve readability in terminal-based IDEs
2023-10-26 20:01:21 +08:00
raiden00pl
9bef53bbdd Documentation: migrate /drivers 2023-10-26 00:08:54 +08:00
raiden00pl
8e40cfd1b6 Documentation: migrate /arch 2023-10-26 00:08:54 +08:00
raiden00pl
8a330ca0bc Documentation: migrate /tools 2023-10-26 00:08:54 +08:00
raiden00pl
64b924d18c Documentation: migrate /syscall 2023-10-26 00:08:54 +08:00
raiden00pl
00d14665d1 Documentation: migrate /mm 2023-10-26 00:08:54 +08:00
raiden00pl
ebcf8f0d16 Documentation: migrate /net 2023-10-26 00:08:54 +08:00
raiden00pl
61cdd105ef Documentation: migrate /libs 2023-10-26 00:08:54 +08:00
raiden00pl
6448135f65 Documentation: migrate /fs 2023-10-26 00:08:54 +08:00
raiden00pl
1822b1c37f Documentation: migrate /audio 2023-10-26 00:08:54 +08:00
anjiahao
ae9d9054af zipfs:Add Documentation for zipfs
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
2023-09-27 01:06:04 +08:00