TargetTCP-IPv6™, Blunk Microsystems' embedded TCP/IP protocol stack with IPv6, includes the following features:
- IPv6 Phase II Ready
ensures interoperability with all IPv6 devices. Multiple global IPv6 prefixes, Redirects, ICMPv6 Too Big initiated Fragmentation and other advanced IPv6 features are all supported.
- RFC-compliant with a full protocol suite. Supports IPv6, TCP (SACK), UDP, ICMPv6, Multicasting, Neighbor Discovery (ND), and Auto Configuration, Traceroute, Ethernet, PPP (with CHAP, CHAT, and PAP), and Wi-Fi. Includes servers for PPPoE, FTP, SNMPv2c, TFTP, and Telnet. Includes clients for FTP, PPPoE, DNS, DHCPv6, MLD, SMTP, and TFTP.
- IPSec is included and supports AH, ESP or both. Static keying support includes shell interface or programmatic API to configure Security Associations (SA) and Security Policies (SP). See the TargetIPsec for more information.
- Standard Berkeley sockets application program interface with enhancements:
- connect(), recv(), and send() timeouts can be set by setsockopt().
- MSG_WAITALL flag makes recv() block until all requested bytes have been received.
- setsockfunc() installs a socket callback function, supporting event driven programming and allowing a single task to service both socket and other events.
- getaddrinfo()/getnameinfo() allow applications to perform DNS lookups without regard to whether the result is IPv4 or IPv6.
- Supports RISC processors with no extra data copy within the Ethernet driver to align packets. The IP, TCP, and UDP headers are 4-byte aligned within the stack, allowing fast access to the 32-bit fields in these structures. Application data remains unaligned, eliminating an extra copy required by Berkeley derived implementations.
- Using the Berkeley sockets API, only one copy of application data is performed. This applies to inbound and outbound transfers using both UDP datagrams and TCP streams. A zero-copy API is provided that eliminates the copy associated with the sockets API.
- Supports TCP out-of-band data and urgent data mark. Both socket callback functions and select() are used to notify applications when a connected peer has entered urgent mode.
- Easy to administer. The auto configuration inherent in IPv6 should be used to find global addresses and gateways while the DHCP client is used to discover DNS server addresses. PPP connections can be configured to be a default gateway and to request a DNS server address from the remote peer.
- Integrated. The Telnet server is integrated with the TargetOS command line monitor, allowing full access to built-in commands and easy extensibility. The FTP server is integrated with TargetFFSTM, Blunk Microsystems' embedded flash file system. The TFTP client is integrated with the TargetOS runtime library, allowing access to remote files via fopen(), and with the TargetOS loader, which accepts both ELF and S-record formats.
- High Performance. No data copies are performed within the stack. Matching of IP fragment lists, ND address records, and TCP sockets is done with a fast hashing function. The 16-bit checksum for TCP and UDP is calculated in assembly language (for Power Architecture, ColdFire, and 68K). Access to the assembly language "add with carry" instruction enables the calculation to be done with fast 32-bit accesses.
- Clearly documented network driver interface supports concurrent use of multiple network interfaces. Ethernet and PPP drivers for the MCF5485/75, MCF5282, MCF5272, MC68360, MPC860, LAN91C111, DP83815, i82559, and other controllers are available separately. Blunk Microsystems provides low cost bids on custom drivers.
- Built-in TCP/IP protocol decoder. When enabled by a compile-time flag, a short summary of every received or transmitted packet is printed to stdout on an ongoing basis.
- Compact and configurable. Applications typically require approximately 30 KB of code from the TargetTCP IPv6 library and can be configured to use as little as 32 KB of RAM data.
- Shipped with eight sample applications: an RFC868 time client, a chargen, discard, a echo client, a chargen, discard, and echo server and an HTML client that cycles through a list of URLs, downloading each site's home page. Also included is a network benchmark application that calculates throughput and CPU utilizations as well as mDNS/DNS-SD client and server applications.
- Developed using TargetOSTM, Blunk Microsystems' real-time operating system, the source code is 100% ANSI C and is easily ported to both other real-time kernels and to polling environments that do not use a kernel. A pSOS port is provided for the Trimedia processor.
- Integrated with TargetTools™, the IDE for embedded development from Blunk Microsystems with an integrated compiler and kernel-aware debugger, visual code editor, search and replace tool, BDM for board bring-up, and fast Ethernet download.
- Royalty-free. Includes source code, User's Manual, sample applications, and one year of technical support.
- Porting document (PDF)
This document provides details on how you can port TargetTCP into your OS environment.