- Customizability: Data structures on every layer of the network stack should be customizable, such as socket sets, routers, network interfaces (e.g. Ethernet, loopback), and physical devices;
- Portability:
cutenet
should be able to run as an embedded component, an OS subsystem or a user application library; - Performance: The network stack should be as fast as possible;
- Packet serialization & deserialization
- Physical devices
- Network interfaces
- Ethernet interfaces
- Loopback interfaces
- IEEE.802.154 interfaces
- Network IP processing & dispatching
- IPv4 fragmentation & reassembly
- Multicast groups
- Network routers
- Network router trait
- Static network routers
- Dynamic network routers (based on TRIEs)
- Network sockets
- Raw sockets
- TCP sockets
- UDP sockets
- Network socket sets