TCP/IP Protocol Stack with Phase 2 Certification
- 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 over various physical medium such as Gigabit Ethernet, Wi-Fi, Zigbee 6LoWPAN and others. Includes clients for DNS and DHCPv6.
- IPv6 and ICMPv6: RFC 2460, 2461, 2462, 2463, 2464, 2465, 2466, 3513, 3879, 4294 and more
- UDP: RFC 768
- TCP: RFC 793, 2018, 2581, 3782, 4821 and more
- DHCPv6 client: RFC 3315
- DNS client: RFC 1035, 1034, 3152, 3363, 3490, 3596
- TargetIPSec adds support for Internet Protocol Security, which provides network policy based host to host authentication, privacy or both. Includes a shell interface or programmatic API to add Security Policies (SP). If desired, manual Security Associations (SA) can be configured instead of using the default Internet Key Exchange, or IKE.
- 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.
- setsockopt() IPV6_DONTFRAG and IPV6_UNICAST_HOPS options can change the IPv6 fragmentation policy and maximum hops default values on a per socket basis.
- getaddrinfo()/getnameinfo() allow applications to utilize 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 User Services. The optional 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 TargetXFSTM, 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.
TLS/SSL for Security. TargetTCP has optional SSL 3.0/TLS 1.0/1.1 protocol support. FTP over TLS, Telnet over TLS and HTTPS support included while TLS client or server security can be applied to any stream protocol with a single API call. There is no separate application interface for using TLS; it is handled transparently to the application in the standard sockets API. All calls (recv(), send(), etc.) use plain text while behind the scenes and over the network travel TLS packets. This is the only TLS integration allowing custom application protocols to be secured with little or no change to the legacy application.
SNMPv3 for Management. Secure network management with SNMPv3 is available with complete MIB-II integration for TargetTCP. A powerful MIB to source code generator can be used to speed designing or migrating the device functionality. SNMPv3 adds security and versatility by making core management functions accessible as RowStatus columns. Interface SNMP to Telnet shell commands and/or TargetWeb's HTML forms and use the same underlying management functions for a reliable and redundant management scheme across network protocols.
- Compact and configurable. Applications typically require approximately 60 KB of code from the TargetTCP IPv6 library and can be configured to use as little as 64 KB of RAM data.
- Shipped with five sample applications: an RFC868 time client, a chargen, discard, a echo client, a chargen, discard, and echo server, an HTML client that cycles through a list of URLs, downloading each site's home page and a network benchmark application that calculates throughput and CPU utilization's for various network streams.
- 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 Linux port is available for virtual, embedded or desktop Linux development or evaluation.
- Integrated with CrossStep™, 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.