lib_xtcp: TCP/IP Library

FAVOURITE VERSION RELEASED COMMENTS DOCUMENTATION SOFTWARE
7.0.1 2025-12-08 VIEW HTML VIEW PDF ZIP
View older versions
7.0.0 2025-11-24 The library has migrated to use LwIP 2.2.1 and support for the older uIP TCP/IP stack has been removed. The lib_xtcp API has been updated to better align with a POSIX-style sockets interface. The example app now targets the xcore.ai XK-ETH-316-DUAL board, with hardware test support integrated into the library. ZIP ZIP
6.2.0 2025-07-18 Supports TCP and UDP protocols on the xcore architecture. The library has been updated to use the new SW build system and the MAC components in the new lib_ethernet, and includes an example of a simple web server application. ZIP ZIP
6.0.0rc2 2017-11-28 PDF ZIP
4.0.2rc1 2016-01-07 PDF ZIP
4.0.0rc1 2015-03-22 PDF ZIP
INFO

Summary

lib_xtcp is a library providing implementations of the Ethernet transport layer, designed to support host-to-host network communication by handling data exchange typically using TCP or UDP protocols. It provides a software defined Ethernet transport stack implementation that connects to and runs on the XMOS Ethernet library lib_ethernet to support layer-4 traffic over Ethernet via MII or RGMII, at 10/100/1000 Mb/s Ethernet data rates.

The library provides two alternative TCP/UDP/IP protocol stacks for XMOS devices. See the following section for further details.

TCP/IP Stack

The TCP/IP stack used is the third-party lwIP (lightweight IP) stack ported to the xcore architecture. The lwIP stack is designed to provide good throughput and also has support for TCP windowing. Throughput in excess of 50 Mbps can be achieved using RMII with this stack on xcore.ai devices.

Repository Submodule

Please note: the TCP/IP stack is included as a submodule, if cloning the repository please ensure to clone with --recurse-submodules or run git submodule update --init --recursive after cloning.

Features

  • TCP and UDP connection handling

  • Common API to TCP/IP stack, LwIP

  • TCP, UDP, DHCP, ICMP, IGMP

  • Low level, event based interface for efficient memory usage

  • Supports IPv4 only, not IPv6

Known issues

Development repo

Required tools

  • XMOS XTC Tools: 15.3.1

Required libraries (dependencies)

Support

This package is supported by XMOS Ltd. Issues can be raised against the software at http://www.xmos.com/support

Scroll to Top