Supported Features - mtcp-stack/mtcp GitHub Wiki
(This document is under construction.)
Features highlighted in bold will be implemented next.
Supported Features
- ARP (arp.c)
- ICMP (icmp.c, partial): only responding to ICMP echo message
- Routing: Static only (ip_out.c)
- Event system: mtcp_epoll (eventpoll.c)
- Non-blocking socket functions (api.c, core.c)
- Support for Intel XL710 adapters. (dpdk_module.c)
- Increase support for # of cores to > 16. (mtcp.h)
- mTCP apps should communicate across multiple hops (beyond gateways) (config.c, ip_out.c)
Supported TCP Features
- Congestion control: New Reno (tcp_in/out.c)
- Fast retransmission (tcp_in/out.c)
- Retransmission timeout
- Timestamp option (tcp_in/out.c)
- Window scale option (tcp_in/out.c)
- Priority packet queueing for control packets
- TCP checksum offload (tcp_out.c)
- Multiple listening ports (tcp_in.c)
Unsupported Features
- UDP
- DNS
- Virtualization support
- FreeBSD version
- DHCP
- IP fragmentation (solve it with dpdk's [ip frag & reassembly lib (https://doc.dpdk.org/guides/prog_guide/ip_fragment_reassembly_lib.html)
- Blocking socket functions (api.c, core.c)
- Support for
eventfd
system call - mTCP sendfile (mtcp_sendfile() is essential for large file transfers)
- Support for AF_XDP sockets
- Support for IPv6
Unsupported TCP Features
- SACK
- DSACK
- FACK
- Challenge ACK
- SYN cookies
- FastOPEN
- F-RTO
- MTU discovery
- Keepalive
- ER-TCP
- TCP segmentation offload (tcp_out.c: FlushTCPSendingBuffer())
- Nagle's algorithm