Overview


TCP/IP Stack is a TCP/IP protocol stack for embedded systems. It provides the BSD Socket Interface to enable effective utilization of software assets and human resources for POSIX software such as Linux. TCP/IP Stack provides a large number of protocols*, including protocols for security and routing. It delivers substantial functionality and performance not only on multimedia or portable digital devices, but also on higher-level, advanced network devices.

* Some protocols are available as options.

 

BSD socket interface

BSD socket is provided as the application interface. This makes it easy to reuse the network applications of POSIX software, including Linux. POSIX software engineer resources can also be used for application development.



Best-class performance in the industry

Optimized high-performance networking
Field-proven results in high-speed, multi-session video streaming products. 
Checksum offloading support enables faster speeds at the hardware level. 




Supports IP multicast function

Supports an IP multicast sending and receiving function, which enables the same data to be sent to multiple specified destinations at the same time. This is effective for distributing large-sized media data such as video or audio.



Adjustable memory size

TCP/IP Stack has a function selection switch for adjusting the overall code size. If the DHCP client, DNS client, IP multicast, or AutoIP function is not needed, this function selection switch can be used to specify the unused function during system configuration so that the function module is not embedded. The code is adjusted to the minimum required size to prevent wasteful memory consumption.



Supports various platforms


TCP/IP Stack componentizes source code dependent on the target system, such as the operating system, CPU, or NIC (Network Interface Card), as environment-dependent parts. In addition, TCP/IP Stack is coded in C language. As a result, TCP/IP Stack has excellent portability, making it easy to support various platforms. TCP/IP Stack is configured to run on eT-Kernel and PrKERNELv4 as standard. On eT-Kernel, it runs on various profiles such as eT-Kernel Multi-Core Edition and eT-Kernel/POSIX.

When eT-Kernel is used, TCP/IP Stack can be implemented either as a library or as a T-Kernel subsystem. (Refer to T-Engine's Software Architecture Configuration for more information about subsystems.) Socket API is provided as the interface even when TCP/IP Stack is implemented as a T-Kernel subsystem. When implemented as a T-Kernel subsystem, TCP/IP Stack can also be used from a loadable system program or process application. Loadable drivers can be added dynamically to TCP/IP Stack.



Various protocols provided as standard

TCP/IP Stack implements the following protocols as standard.

  • DHCP client / DNS client / FTP client / FTP server / TELNET server

  • TCP/UDP

  • IPv4/ARP/ICMP/IGMP/AutoIP, etc.




Many available optional protocols

The functions needed for use in the application can be selected.  Dual stack for IPv4/IPv6 is also available.


Optional products Protocol
TCP/IP Stack Dual IPv4/IPv6 dual stack
TCP/IP Stack PPP PPP
TCP/IP Stack Mail SMTP, POP3
TCP/IP Stack HTTPD HTTP server, HTTP server/SSL(https server), HTML compiler
TCP/IP Stack SNTP SNTP client
TCP/IP Stack SNMP SNMPv1/v2/v3 Agent
TCP/IP Stack SSL SSL
TCP/IP Stack other pptionsDNS server, DHCP server, IPSec, IKE library, RIPv1/v2, NAT, PPPoE etc

* These optional protocols are released as required. The product configuration may be changed. Please contact us for details such as the release date.




Sample drivers and sample applications

A device driver that supports the network controller used in the system must be created for TCP/IP Stack. The following source code is included as standard as a sample for this device driver. In addition, sample source code for various applications are included as standard.

 • Device driver for Ethernet
  o RZ/A1 built-in Ethernet controller
  o Zynq-7000 built-in Ethernet controller
  o CycloneVSoC built-in Ethernet controller
  o i.MX6 built-in Ethernet controller
 •FTP sample application (server/client)
 •TELNET sample application (server)

In addition to the samples included as standard, a wide range of controllers with a successful record of operation are available. Please feel free to contact us for details.

 • Motorola 5282c3
 • Intel 8255x
 • SMSC LAN91C111
 • SMSC LAN9118
 • Marvell WLAN
 • MPC8272/48, MPC8349 built-in Ethernet controller, etc.




Source code provided

 TCP/IP Stack is provided as source code.



Maintenance service and customization service

The following maintenance service is provided. The maintenance service enables developers to use TCP/IP Stack with peace of mind.

 • Response to email inquiries regarding the product
 •  Minor version upgrades

In addition, a customization service is available for supporting TCP/IP Stack in different environments, such as a custom real-time operating system or hardware.

TCP/IP Stack Architecture




RFC Support in TCP/IP Stack Series

ProtocolRFCTitle
General1122Requirements for Internet Hosts
TCP793Transmission Control Protocol
1323TCP Extensions for High Performance
2414Increasing TCP's Initial Window (Obsoleted by RFC3390)
2581TCP Congestion Control
UDP768User Datagram Protocol
IP791Internet Protocol
894A Standard for the Transmission of IP
919Broadcasting Internet Datagrams
922Broadcasting Internet datagrams in the presence of subnets
950Internet Standard Subnetting Procedure
1042Standard for the transmission of IP
1112Host Extensions for IP Multicasting (IGMP)
2269DOCSIS Cable Device MIB
2563DHCP Option to Disable Stateless Auto-Configuration in IPv4 Clients
ARP826Ethernet Address Resolution Protocol
ICMP792Internet Control Message Protocol
1191Path MTU discovery
Ethernet894Standard for the Transmission of IP Datagrams over Ethernet Networks
1042A Standard for the Transmission of IP Datagrams over IEEE 802 Networks
PPP1661Point-to-Point Protocol
1662PPP in HDLC-like Framing
1144Compressing TCP/IP headers for low-speed serial links [VJ Compression]
1332The PPP Internet protocol Control Protocol (IPCP)
1877PPP Internet Protocol Control Protocol Extensions for Name Server Addresses (Options 129, 131 supported)
1994PPP Challenge Handshake Authentication Protocol (CHAP)
ECHO862Echo Protocol
DNS1034Domain names - concepts and facilities
1035Domain Names - Implementation and Specification
DHCP1541Dynamic Host Configuration Protocol (Obsoleted by RFC2131)
2131Dynamic Host Configuration Protocol
2132DHCP Options and BOOTP Vendor Extensions
3046DHCP Relay Agent Information Option
BOOTP951Bootstrap Protocol
FTP959File Transfer Protocol
TELNET854Telnet Protocol
Mail821Simple Mail Transfer Protocol
822STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGESPost Office Protocol - Version 3
1869SMTP Service Extensions
1939Post Office Protocol - Version 3
2045Multipurpose Internet Mail Extensions (MIME)
Part One: Format of Internet Message Bodies
2046Multipurpose Internet Mail Extensions (MIME)
Part Two: Media Types
2047MIME (Multipurpose Internet Mail Extensions)
Part Three: Message Header Extensions for Non-ASCII Text
2048Multipurpose Internet Mail Extensions (MIME)
Part Four: Registration Procedures)
2049Multipurpose Internet Mail Extensions (MIME)
Part Five: Conformance Criteria and Examples
HTTP1866Hypertext Markup Language - 2.0
1867Form-based File Upload in HTML
1945Hypertext Transfer Protocol -- HTTP/1.0
2616Hypertext Transfer Protocol -- HTTP/1.1


Operating environment

Successful operation has been demonstrated on the following operating systems.