mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-18 04:11:57 +00:00
The API name space for Bluetooth is bt_* and BT_* so it makes sense to align the Kconfig name space with this. The additional benefit is that this also makes the names shorter. It is also in line with what Linux uses for Bluetooth Kconfig entries. Some Bluetooth-related Networking Kconfig defines are renamed as well in order to be consistent, such as NET_L2_BLUETOOTH. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
293 lines
5.6 KiB
Plaintext
293 lines
5.6 KiB
Plaintext
Background
|
|
==========
|
|
|
|
This is a TODO list for networking related work.
|
|
|
|
- Priority scale: High, Medium and Low
|
|
|
|
- Complexity scale: C1, C2, C4 and C8.
|
|
The complexity scale is exponential, with complexity 1 being the
|
|
lowest complexity. Complexity is a function of both task 'complexity'
|
|
and task 'scope'.
|
|
|
|
|
|
IPv6
|
|
====
|
|
|
|
- Anycast address support
|
|
|
|
Priority: Low
|
|
Complexity: C1
|
|
|
|
Add support for Anycast addresses, RFC 3513
|
|
|
|
- ICMPv6 "Packet Too Big" support
|
|
|
|
Priority: Low
|
|
Complexity: C1
|
|
|
|
Add support for sending "Packet Too Big" error when
|
|
needed. RFC 4443
|
|
|
|
- IP-to-IP tunneling support
|
|
|
|
Priority: Low
|
|
Complexity: C4
|
|
|
|
Add support for tunneling IPv6 traffic. This requires IPv6 L2
|
|
driver that can encapsulate and decapsulate IPv6 traffic.
|
|
See RFC 2473 for details.
|
|
|
|
- DHCPv6 client support
|
|
|
|
Priority: Low
|
|
Complexity: C4
|
|
|
|
Add support for acting as a DHCPv6 in client role.
|
|
See RFC 3315 and 3646 for details.
|
|
|
|
|
|
IPv4
|
|
====
|
|
|
|
- Multicast join/leave support
|
|
|
|
Priority: Low
|
|
Complexity: C2
|
|
|
|
Add support for sending joining and leaving multicast group.
|
|
See RFC 3376 and 4604 for details.
|
|
|
|
|
|
6LoWPAN
|
|
=======
|
|
|
|
- Mesh Header compression and uncompression
|
|
|
|
Priority: Medium
|
|
Complexicity: C4
|
|
|
|
Add support for Mesh header compression and uncompression.
|
|
|
|
- Unicast-Prefix based IPv6 Multicast (dst) address compression
|
|
|
|
Priority: Medium
|
|
Complexicity: C2
|
|
|
|
See RFC 6282, Chapter 3.1.1, if M = 1 and DAC = 1.
|
|
|
|
- Multicast Address Mapping
|
|
|
|
Priority: Medium
|
|
Complexicity: C2
|
|
|
|
An IPv6 packet with a multicast destination address (DST),
|
|
consisting of sixteen octets DST[1] through DST[16], is
|
|
transmitted to the following 802.15.4 16-bit multicast address
|
|
(See RFC 4944, Chapter 9).
|
|
|
|
- Frame Delivery in a Link-Layer Mesh
|
|
|
|
Priority: Medium
|
|
Complexicity: C2
|
|
|
|
Defines how to effect delivery of layer 2 frames in a
|
|
mesh, given a target "Final Destination" link-layer address.
|
|
(See RFC 4944, Chapter 11).
|
|
|
|
- IPv6 Next Header Compression
|
|
|
|
Priority: Medium
|
|
Complexicity: C4
|
|
|
|
LOWPAN_IPHC elides the IPv6 Next Header field when the NH bit is set
|
|
to 1. This also indicates the use of 6LoWPAN next header compression,
|
|
LOWPAN_NHC (See RFC 6282, Chapter 4).
|
|
|
|
|
|
IEEE 802.15.4
|
|
=============
|
|
|
|
2011 version
|
|
------------
|
|
|
|
- CSMA-CA Radio protocol, time-slotted, support
|
|
|
|
Priority: Low
|
|
Complexity: C2
|
|
|
|
Current CSMA-CA radio protocol implementation does not support
|
|
time-slots.
|
|
|
|
- Management service: RFD level support
|
|
|
|
Priority: High
|
|
Complexity: C4
|
|
|
|
Support Management service to align with RFD requirements.
|
|
See Chapter 6.2
|
|
|
|
- Security support
|
|
|
|
Priority: Medium
|
|
Complexity: C4
|
|
|
|
Support security, as detailed in Chapter 7.
|
|
|
|
- Management service: FFD level support
|
|
|
|
Priority: Low
|
|
Complexity: C4
|
|
|
|
Support Management service to align with FFD requirements.
|
|
See Chapter 6.2
|
|
|
|
|
|
2012-2015 versions
|
|
------------------
|
|
|
|
- IE list support
|
|
|
|
Priority: Medium
|
|
Complexity: C2
|
|
|
|
Support newly added IE list which can be embedded into frames.
|
|
|
|
- Update existing Management commands
|
|
|
|
Priority: Medium
|
|
Complexity: C4
|
|
|
|
Behavioral changes as well as improvements need to be applied
|
|
to existing Management commands.
|
|
|
|
- TSCH Radio protocol support
|
|
|
|
Priority: Medium
|
|
Complexity: C2
|
|
|
|
Add TSCH radio protocol as the latest radio protocol improvement.
|
|
|
|
- Multipurpose frame support
|
|
|
|
Priority: Low
|
|
Complexity: C2
|
|
|
|
Add the means to parse or create Multipurpose frames.
|
|
|
|
- LLDN frame support
|
|
|
|
Priority: Low
|
|
Complexity: C2
|
|
|
|
Add the means to parse or create LLDN frames.
|
|
Is this needed however, since it requires true RT capabilities?
|
|
|
|
|
|
Bluetooth
|
|
=========
|
|
|
|
- Enable sample support
|
|
|
|
Priority: High
|
|
Complexity: C1
|
|
|
|
Enable samples to use CONFIG_NET_L2_BT.
|
|
|
|
IP-based services
|
|
=================
|
|
|
|
- Simple Network Time Protocol
|
|
|
|
Priority: Low
|
|
Complexity: C4
|
|
|
|
Create SNTP client functionality so that applications can use
|
|
SNTP to query current time.
|
|
|
|
- Basic HTTP server support
|
|
|
|
Priority: Low
|
|
Complexity: C4
|
|
|
|
Create a simple HTTP server for demo / diagnostic purposes.
|
|
|
|
- IPSO (IP Smart Object) support
|
|
|
|
Priority: Low
|
|
Complexity: C8
|
|
|
|
Create support for IPSO.
|
|
|
|
- LWM2M support
|
|
|
|
Priority: Low
|
|
Complexity: C4
|
|
|
|
Create support for OMA LWM2M protocol.
|
|
|
|
- Simple Network Management Protocol support
|
|
|
|
Priority: Low
|
|
Complexity: C8
|
|
|
|
Create support for SNMP for managing the node.
|
|
See RFC 1902 and 2863 for details.
|
|
|
|
|
|
Documentation
|
|
=============
|
|
|
|
- Network device driver documentation
|
|
|
|
Priority: Medium
|
|
Complexity: C2
|
|
|
|
Create documentation for the developer how to create networking
|
|
device drivers using the new IP stack.
|
|
|
|
|
|
Testing
|
|
=======
|
|
|
|
Here are some generic guidelines for network testing.
|
|
|
|
- Unit tests
|
|
|
|
Priority: High
|
|
Complexity: <unknown>
|
|
|
|
Each new networking feature should have proper unit
|
|
test created. These tests should be located under the
|
|
tests/net directory. The tests should be integrated
|
|
to the Continuous Integration (CI) infrastructure so
|
|
that they are run automatically.
|
|
|
|
- End-to-end networking tests
|
|
|
|
Priority: High
|
|
Complexity: C8
|
|
|
|
Create / port testing infrastructure for conformance
|
|
testing. For example TAHI framework for IPv6 could be
|
|
used to test IPv6 functionality, see www.ipv6ready.org
|
|
for details.
|
|
This entry should be split more to include various
|
|
network testing frameworks.
|
|
|
|
|
|
CAN
|
|
===
|
|
|
|
CAN (Controller Area Network) is a networking technology
|
|
which is used in automation, embedded devices, and
|
|
automotive fields.
|
|
|
|
- Implement CAN support
|
|
|
|
Priority: Medium
|
|
Complexity: C8
|
|
|
|
This is a placeholder for CAN support and should be
|
|
split into smaller pieces.
|