ThreadX docsThreadX docs
ThreadX
ThreadX Modules
NetX Duo
FileX
GUIX
USBX
TraceX
LevelX
ThreadX
ThreadX Modules
NetX Duo
FileX
GUIX
USBX
TraceX
LevelX
  • NetX Duo Documentation

    • Understand NetX Duo
    • NetX Duo documentation
    • Chapter 1 - Introduction to NetX Duo
    • Chapter 2 - Installation and Use of NetX Duo
    • Chapter 3 - Functional Components of NetX Duo
    • Chapter 4 - Description of NetX Duo Services
    • Chapter 5 - NetX Duo Network Drivers
    • Appendix A - NetX Duo Services
    • Appendix B - NetX Duo Constants
    • Appendix C - NetX Duo Data Types
    • Appendix D - NetX Duo BSD-Compatible Socket API
    • Appendix E - NetX Duo ASCII Character Codes
    • Auto-IP

      • Chapter 1 - Introduction to NetX Duo AutoIP
      • Chapter 2 - Installation and use of NetX Duo AutoIP
      • Chapter 3 - Description of NetX Duo AutoIP services
    • BSD

      • Chapter 1 - Introduction to NetX Duo BSD
      • Chapter 2 - Installation and use of NetX Duo BSD
      • Chapter 3 - NetX Duo BSD Services
    • Crypto

      • Chapter 1 - Introduction to NetX Duo Crypto
      • Chapter 2 - Installation and use of NetX Duo Crypto
      • Chapter 3 - Functional description of NetX Duo Crypto
      • Chapter 4 - NetX Duo Crypto API description
      • Appendix - NetX Duo Crypto CAVS test
    • DHCP Client

      • Chapter 1 - Introduction to the NetX Duo DHCP Client
      • Chapter 2 - Installation and use of NetX Duo DHCP Client
      • Chapter 3 - Description of NetX Duo DHCP Client services
      • Appendix A - Description of the Restore state feature for NetX Duo DHCP Client services
    • DHCP Server

      • Chapter 1 - Introduction to NetX Duo DHCP Server
      • Chapter 2 - Installation and Use of the NetX Duo DHCP Server
      • Chapter 3 - Description of NetX Duo DHCP server services
    • DHCPv6 Client

      • Chapter 1 - Introduction to NetX Duo DHCPv6 Client
      • Chapter 2 - Installation and use of NetX Duo DHCPv6 Client
      • Chapter 3 - NetX Duo DHCPv6 configuration options
      • Chapter 4 - NetX Duo DHCPv6 Client services
      • Appendix A - Description of the Restore State Feature for NetX Duo DHCPv6 Client
    • DHCPv6 Server

      • Chapter 1 - Introduction to NetX Duo DHCPv6 server
      • Chapter 2 - Installation and use of NetX Duo DHCPv6 server
      • Chapter 3 - NetX Duo DHCPv6 server configuration options
      • Chapter 4 - NetX Duo DHCPv6 server services
      • Appendix A – NetX Duo DHCPv6 option codes
      • Appendix B - NetX Duo DHCPv6 server status codes
      • Appendix C - NetX Duo DHCPv6 unique identifiers (DUIDs)
      • Appendix D - NetX Duo Advanced DHCPv6 server example
    • DNS

      • Chapter 1 - Introduction to the NetX Duo DNS Client
      • Chapter 2 - Installation and Use of NetX Duo DNS Client
      • Chapter 3 - Description of NetX Duo DNS Client Services
    • FTP

      • Chapter 1 - Introduction to NetX Duo FTP
      • Chapter 2 - Installation and use of FTP
      • Chapter 3 - Description of FTP services
    • HTTP

      • Chapter 1 - Introduction to NetX Duo HTTP
      • Chapter 2 - Installation and Use of NetX Duo HTTP
      • Chapter 3 - Description of NetX Duo HTTP Services
    • iperf

      • Chapter 1 - Introduction to NetX Duo Iperf
      • Chapter 2 - Installing and using NetX Duo Iperf
      • Chapter 3 - Running the UDP Transmit Test
    • mDNS

      • Chapter 1 - Introduction to NetX Duo mDNS/DNS-SD
      • Chapter 2 - Installation and use of mDNS
      • Chapter 3 - Description of internal service cache
      • Chapter 4 - Description of mDNS services
    • mqtt

      • Chapter 1 - Introduction to NetX Duo MQTT
      • Chapter 2 - Installation and use of NetX Duo MQTT client
      • Chapter 3 - Description of NetX Duo MQTT Client Services
    • NAT

      • Chapter 1 - An introduction to Network Address Translation
      • Chapter 2 - Installation and use of NAT
      • Chapter 3 - NAT configuration options
      • Chapter 4 - Description of NAT services
    • POP3 Client

      • Chapter 1 - Introduction to NetX Duo POP3
      • Chapter 2 - Installation and use of NetX Duo POP3 Client
      • Chapter 3 - Description of POP3 Client services
    • PPP

      • Chapter 1 - Introduction to the NetX Duo Point-to-Point Protocol (PPP)
      • Chapter 2 - Installation and use of NetX Duo Point-to-Point Protocol (PPP)
      • Chapter 3 - Description of NetX Duo Point-to-Point Protocol (PPP) services
    • PTP Client

      • Chapter 1 - Introduction to NetX Duo PTP Client
      • Chapter 2 - Installation and Use of NetX Duo PTP Client
      • Chapter 3 - Description of NetX Duo PTP Client Services
    • rtp

      • Chapter 1 - Introduction to the NetX Duo RTP Sender
      • Chapter 2 - Installation and use of NetX Duo RTP Sender
      • Chapter 3 - Description of NetX Duo RTP Sender Services
    • rtsp

      • Chapter 1 - Introduction to the NetX Duo RTSP Server
      • Chapter 2 - Installation and use of NetX Duo RTSP Server
      • Chapter 3 - Description of NetX Duo RTSP Server Services
    • Secure DTLS

      • Chapter 1 - Introduction to NetX Duo Secure DTLS
      • Chapter 2 - Installation and use of NetX Duo Secure DTLS
      • Chapter 3 - Functional description of NetX Duo Secure DTLS
      • Chapter 4 - Description of NetX Duo Secure DTLS services
      • Appendix A - NetX Duo Secure DTLS return/error codes
    • Secure TLS

      • Chapter 1 - Introduction to NetX Duo Secure
      • Chapter 2 - Installation and use of NetX Duo Secure
      • Chapter 3 - Functional description of NetX Duo Secure
      • Chapter 4 - Description of NetX Duo Secure services
      • Appendix A - NetX Duo Secure return/error codes
    • SMTP Client

      • Chapter 1 - Introduction to NetX Duo SMTP client
      • Chapter 2 - Installation and use of NetX Duo SMTP client
      • Chapter 3 - Client description of SMTP Client services
    • snmp

      • Chapter 1 - Introduction to NetX Duo SNMP
      • Chapter 2 - Installation and use of the NetX Duo SNMP agent
      • Chapter 3 - Description of NetX Duo SNMP agent services
    • sntp client

      • Chapter 1 - Introduction to NetX Duo SNTP
      • Chapter 2 - Installation and Use of NetX Duo SNTP Client
      • Chapter 3 - Description of NetX Duo SNTP Client Services
      • Appendix A - NetX Duo SNTP Fatal Error Codes
    • telnet

      • Chapter 1 - Introduction to NetX Duo Telnet
      • Chapter 2 - Installation and use of NetX Duo Telnet
      • Chapter 3 - Description of NetX Duo Telnet services
    • TFTP

      • Chapter 1 - Introduction to NetX Duo TFTP
      • Chapter 2 - Installation and use of NetX Duo TFTP
      • Chapter 3 - Description of NetX Duo TFTP services
    • Web HTTP

      • Chapter 1 - Introduction to HTTP and HTTPS
      • Chapter 2 - Installation and use of HTTP and HTTPS
      • Chapter 3 - Description of HTTP services
    • About the NetX Duo User Guide

Overview of NetX Duo

NetX Duo embedded TCP/IP network stack is Eclipse Foundation's advanced, industrial grade dual IPv4 and IPv6 TCP/IP network stack that is designed specifically for deeply embedded, real-time, and IoT applications. NetX Duo provides embedded applications with core network protocols such as IPv4, IPv6, TCP, and UDP as well as a complete suite of additional, higher-level add-on protocols. NetX Duo offers security via additional add-on security products, including NetX Duo Secure IPsec and NetX Duo Secure SSL/TLS/DTLS. All of this combined with a small footprint, fast execution, and superior ease-of-use make NetX Duo the ideal choice for the most demanding embedded IoT applications.

API protocols

MQTT

  • Messaging Queue Telemetry Transport (MQTT)
  • Minimal 2.7 KB FLASH

Auto IP

  • Automatic IPv4 address assignment
  • Minimal 1.2 KB, 300 bytes of RAM

HTTP, HTTPS

NetX Duo supports the following HTTP/HTTPS protocols.

HTTP 1.0

  • Hypertext Transfer Protocol(HTTP)
  • Minimal 2.8 KB to 4.8 KB FLASH / 0.4 KB to 1.0 KB RAM
  • Client and server support

HTTP/HTTPS 1.1

  • Hypertext Transfer Protocol(HTTP)
  • Minimal 3.0 KB to 9.5 KB FLASH / 0.5 KB to 2 KB RAM
  • Client and server support
  • Multiple incoming client sessions
  • Plain text and encrypted HTTPS
  • Persistent connection support
  • Multipart file upload
  • Fully integrated with NetX Duo Secure TLS

SMTP

  • Simple Mall Transfer Protocol (SMTP)
  • Minimal 4.1 KB and 0.6 KB RAM footprint
  • Client support

DHCP

  • Dynamic Host Configuration Protocol (DHCP)
  • Minimal 3.6 KB to 4.6 KB FLASH, 2.7 KB RAM footprint
  • Client and server support
  • IPv4 and IPv6 support

NAT

  • Network Address Translation (NAT)
  • Minimal 3.5K6 and 0.6 KB RAM footprint
  • IPv4 address support
  • NAT is only available with NetX Duo

SNMP

  • Simple Network Management Protocol (SNMP)
  • Minimal 10.9 KB and 2.6 KB RAM footprint
  • Agent support for VI, V2, and V3

DNS, mDNS, DNS-SD

  • Domain Name System (DNS)
  • Multicast Domain Name System (mDNS)
  • DNS-based service discovery (DNS-SD)
  • DNS Minimal 2.4 KB to 3 KB FLASH, 1 KB RAM footprint
  • Client support
  • mDNS and DNS-SD are only available with NetX Duo

POP3

  • Post Office Protocol Version 3 (POP3)
  • Minimal 8.1 KB and 1.4 KB RAM footprint
  • Client support

TELNET

  • Minimal 0.5 KB and 0.3 KB RAM footprint
  • Client and server support
  • Intuitive Telnet APIs: *nxtelnet**

FTP, TFTP

  • File Transfer Protocol (FTP)
  • Trivial File Transfer Protocol (TFTP)
  • FTP Minimal 1.8 KB to 7.2 KB FLASH, 0.6 KB to 2.1 KB RAM footprint
  • TFTP Minimal 1.7 KB to 2.4 KB FLASH, 0.3 KB to 1.8 KB RAM footprint
  • Client and server support
  • Intuitive FTP and TFTP APIs: *nxftp** or nxtftp***

PPP, PPPoE

  • Point-to-PoInt Protocol (PPP)

  • Point-to-Point Protocol over Ethernet (PPPoE)

  • Minimal 7.1 KB and 3.8 KB RAM footprint

  • Intuitive PPP APIs: *nxppp**

  • PPPoE is only available with NetX Duo

SNTP

  • Simple Network Time Protocol (SNTP)
  • Minimal 4 KB and 0.5 KB RAM
  • Client support
  • Intuitive SNTP APIs: *nxsntp**

Legacy code support

  • Optional BSD layer for porting legacy socket code

IGMP

  • Internet Group Management Protocol (IGMP)
  • Minimal 2.5 KB FLASH
  • IPv4 multicast group support
  • IXIA IxANVL validated
  • Optional IGMP statistics
  • System-level trace via ThreadX
  • Intuitive IGMP APIs: *nxigmp**

NetX Duo Secure DTLS

  • Datagram Transport Layer Security (DTLS) 1.0 and 1.2
  • Minimal 11 KB FLASH
  • Fast, software RSA 2048-bit key size ~1-second @120MHz
  • Streamlined X.509 Implementation
  • Fully integrated with NetX Duo UDP sockets
  • Hardware Crypto Support
  • Software Crypto Support: RSA (all key sizes), AES, DES/3DES, ECC, HMAC, MD5, SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
  • Elliptic Curve Cryptography (ECC) with ECDSA (signing) and ECDH (encryption), including P-curves 192/224/256/384/521
  • Encrypted Key Support (hardware dependent)

NetX Duo Secure TLS

  • Transport Layer Security (TLS) 1.0, 1.1, and 1.2
  • Minimal 8.8 KB FLASH
  • Fast, software RSA 2048-bit key size ~1-second @120MHz
  • Streamlined X.509 Implementation
  • Fully integrated with NetX Duo TCP sockets
  • Hardware Crypto Support
  • Software Crypto Support: RSA (all key sizes), AES, DES/3DES, ECC, HMAC, MD5, SHA-1, SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
  • Elliptic Curve Cryptography (ECC) with ECDSA (signing) and ECDH (encryption), including P-curves 192/224/256/384/521
  • Encrypted Key Support (hardware dependent)

ICMP

  • Internet Control Message Protocol (ICMP)
  • Minimal 2.5 KB FLASH
  • IPv4 and IPv6 support
  • IXIA IxANVL validated
  • Ping request and ping response
  • Optional thread suspension on ping requests
  • Optional timeout on all suspension
  • Optional ICMP statistics
  • System-level trace via TraceX
  • Intuitive ICMP APIs: *nxicmp**

UDP

  • User Datagram Protocol (UDP)
  • Minimal 2.5 KB FLASH, 124 sockets bytes of RAM per socket
  • Fast, near wirespeed UDP packet processing:
    • RX 95 Mbps on 100 Mbps Ethernet, MCU @100MHz, 14% MCU utilization
    • TX 94 Mbps on 100 Mbps Ethernet, MCU @100MHz, 10% MCU utilization
  • UDP Fast Path™ technology
  • No limits on the number of UDP
  • IXIA IxANVL validated
  • Optional suspension on socket receive
  • Optional timeout on all suspension
  • Optional UDP statistics
  • System-level trace via TraceX
  • Intuitive UDP APIs: *nxudp**

TCP

  • Transmission Control Protocol (TCP)
  • Minimal 10.5K8 to 12.5 KB FLASH, 280 bytes of RAM per socket
  • Fast, near wlrespeed TCP packet processing:
    • RX 93 Mbps on 100 Mbps Ethernet, MCU @100MHz, 20% MCU utilization
    • TX 94 Mbps on 100 Mbps Ethernet, MCU @100MHz, 27% MCU utilization
  • Reliable connection
  • No limits on the number of TCP sockets
  • IXIA IxANVL validated
  • Optional suspension on socket receive/transmit
  • Optional timeout on all suspension
  • Optional TCP statistics
  • System-level trace via TraceX
  • Intuitive TCP APIs: *nxtcp**

ARP/RARP

  • Address Resolution Protocol (ARP)
  • Reverse Address Resolution Protocol (RARP)
  • Minimal 1.7 KB FLASH, RAM size
  • Dynamic resolution of 32-blt IPv4 and 48-blt MAC addresses
  • IXIA IxANVL validated
  • Flexible, user-defined ARP cache
  • Gratuitous ARP support
  • Optional ARP/RARP statistics determined by application
  • System-level trace via TraceX
  • Intuitive ARP/RARP APIs: *nxarp*, nxrarp**

IPv4 & IPv6

  • Internet Protocol (IP)
  • Minimal 3.5 KB to 8.5 KB FLASH, 2 KB to 3 KB RAM footprint
  • Piconet architecture
  • Fast, near wirespeed performance
  • Multiple interface support
  • Multihomed support
  • Static routing support
  • IP fragmentation/reassembly support
  • IPv4 and IPv6 address support
  • IXIA IxANVL validated
  • Phase II IPv6 Ready Logo Certification
  • Optional IP statistics
  • Well defined, intuitive physical layer driver interface
  • System-level trace via TraceX
  • Intuitive IP layer APIs: *nxip*, nxdip*, nxdipv6**
  • Pre-certified by TUV and UL to IEC 61508 SIL 4

NetX Duo Secure IPSEC

  • Internet Protocol Security (IPSEC)
  • IP layer
  • Hardware crypto support
  • Software crypto support, including:
    • DES, 3DES
    • AES
    • HMAC-MD5
    • HMAC-SHA1
  • Internet Key Exchange (IKE) Version 2 support
  • Intuitive IPsec APIs: *nxipsec**
  • IPsec is only available with NetX Duo

Safe and secure

NetX Duo is secure. This security is provided through add-on security products, including IPsec, SSL, TLS, and DTLS. Also, the application has complete control over all external access to NetX Duo, making security risk determination much easier.

Eclipse ThreadX provides OEMs with components to secure communication and to create code and data isolation using underlying MCU/MPU hardware protection mechanisms. It is ultimately the responsibility of the device builder to ensure the device fully meets the evolving security requirements associated with its specific use case.

Interoperability verification

NetX Duo conforms to RFC standards and offers complete interoperability with devices for most vendors.

IPv6 Ready Logo

NetX Duo is one of the only embedded TCP/IP stacks to achieve the rigorous IPv6-Ready Logo certification, evidence that it has passed conformance and interoperability tests, administered and validated by the IPv6 Forum. NetX Duo also utilizes the industry standard IxANVL (Automated Network Validation Library) for the NetX Duo core TCP/IP protocol implementation.

Comprehensive IoT solution

NetX Duo has one of the most comprehensive TCP/IP networking for deeply embedded IoT applications. This support includes the following add-on protocol products.

  • MQTT
  • SSL/TLS/DTLS
  • AutoIP
  • DHCP
  • DNS
  • mDNS
  • DNS-SD
  • FTP
  • HTTP
  • NAT
  • POP3
  • PPP
  • PPPoE
  • PTP
  • RTP
  • RTSP
  • SMTP
  • SNMP v1/2/3
  • SNTP
  • Telnet
  • TFTP
  • Web HTTP
  • WebSocket

Advanced technology

NetX Duo is advanced technology that includes the following.

  • Piconet architecture
  • Automatic scaling
  • UDP Fast-Path Technology™
  • Flexible packet management
  • Zero-copy API and implementation
  • Multihomed support
  • Optional timeout on all suspension
  • Static routing support
  • IPsec
  • SSL/TLS/DTLS
  • TraceX system analysis support

Related services

NetX Duo provides the following additional services.

  • Azure IoT Middleware
  • Microsoft Defender for IoT
  • Device update for IoT Hub

Azure IoT Middleware

NetX Duo includes Azure IoT Middleware for Eclipse ThreadX, a platform-specific library that acts as a binding layer between Eclipse ThreadX and the Azure SDK for Embedded C to facilitate connectivity to Azure IoT services. The goals of Azure IoT Middleware are the following.

  • Provide the smart client interfaces (IoTHub_Client, DeviceProvisioning_Client) that developers need for their applications.
  • Orchestrate the interaction between the Embedded C SDK and the platform.
  • Provide Eclipse ThreadX platform initialization.
  • IoT Plug and Play support.
  • Security capabilities.
  • Resource limitation aware.
  • Protocol support.

NetX Duo Related Services

Microsoft Defender for IoT

The Microsoft Defender for IoT security module provides a comprehensive security solution for Eclipse ThreadX devices. The Security Module for Eclipse ThreadX offers malicious network activity detection, custom alert based device behavior baselining, and helps improve device security hygiene. Learn more about the Security Module for Eclipse ThreadX or get started with Configure Security Module for Eclipse ThreadX quickstart.

Device Update for IoT Hub

Azure Device Update for IoT Hub is a service that enables you to deploy over-the-air updates (OTA) for your IoT devices. The Device Update for IoT Hub module is the implementation of Device Update for IoT Hub Agent in NetX Duo. It provides simple APIs for device builders to integrate the Device Update capability in their application.

See the samples of key semiconductors evaluation boards that include the get started guides to learn configure, build and deploy the over-the-air (OTA) updates to the devices.

To learn more details about use, see Device Update for IoT Hub with Eclipse ThreadX.

Next steps

To learn more about NetX Duo, start with the NetX Duo User Guide.

Next
NetX Duo documentation