|
|
 |
| NetF1 |
| High Performance IPv4 /
IP v6 stack and Virtual Routers |
|
NetF1
is a high performance, feature rich and
hardware-acceleration capable embedded TCP/IP stack
implementation with an included virtual routing framework.
It includes a complete implementation of multi-instance
capable TCP, UDP, IP, IPv6, ICMP, and IGMP designed
specifically for use in low-resource embedded
environments, where unused stack components can be scaled
out or replaced with hardware equivalents. With full
support for host and IPv4 / IPv6 router mode, NetF1 offers
a superset of capabilities provided by many other
host-only or router-only stacks including unnumbered
interface support and interface identification for
send/receive. This extensive feature-set does not come at
the expense of performance either -- higher performance,
binary compatibility with existing drivers and
API-compatibility with existing socket based network
applications are just a few reasons where NetF1 outpaces
its peers. Further, it also includes the ability to
optionally create highly multi-threaded multiple isolated
and managed virtual "routers" in a single physical system
thereby lending itself to use in embedded environments
that need to separate out network backplane communication,
or in ISP equipment that needs to support multiple routing
protocols for multiple customers.
|
|
|
|
|
|
|
|
|
|
|
|
NetF1 is a robust, lean, flexible and high octane IPv4 / IPv6
network stack implementation for embedded devices. It
includes a complete implementation of all popular RFCs related to the
TCP/IP suite. NetF1 can be configured to work in
end-host mode or as an IPv4 or IPv6 router. In addition,
it also provides a virtual routing framework, which
allows the creation of multiple isolated and managed
virtual "routers" in a single physical system.
NetF1 implements all standard IPV4 protocols: TCP, UDP,
IP, ICMP, IGMP etc. It also boasts advanced IPv6
features including ICMP6, Multicasting, Router
solicitations (IPV6 host), Router advertisements (IPV6
router), Neighbor Discovery Algorithm Site
Renumbering/Link Address change processing etc. and
integrates with TeamF1's V-IPSecure IPsec and IKE
implementation to add standards-based security.NetF1
also includes V4 to V6 Transition Support in the form of
a dual-mode stack and with tunneling.
Besides being a feature-rich, highly concurrent and
multi-instance capable network stack, NetF1 is binary
compatible with existing END drivers and does not
require driver source code to be recompiled or even
available.
NetF1's Virtual Routing Capabilities allow multiple
instances of router mode stack (“VR”). Third-party
protocols including OSPF, BGP and MPLS can run
seamlessly within the virtual routing framework provided
by NetF1. Virtual Router traffic is isolated between
instances and controlled by independent set of control
protocols. |
|
 |
Features |
 |
 |
 |
|
 |
Lean, High Performance IPv4 and IPv6 |
|
 |
Faster than native OS IPv4 stack and popular
IPv6 add-ons. |
|
 |
Highly concurrent and multi-instance capable. |
|
 |
Includes standard TCP/IP protocols. |
|
 |
Tested for protocol compliance and
interoperability. |
|
 |
Full IPv4 and IPv6 Routing Support. |
|
 |
Virtual Routing Capabilities. |
|
 |
Binary compatible with existing
END drivers. |
|
 |
Configurable via sysctl
facility. |
|
 |
Built-in Debugging Support. |
|
 |
Support for big and little
endian CPUs including x86, MIPS, ARM, XScale,
PPC, and others. |
|
 |
Royalty-free, source
distribution. |
|
|
 |
 |
 |
 |
|
|
|
|
 |
Other advanced features include fast
buffering and memory partition support to isolate NetF1
functionality from other tasks' resource requirements. In router
mode, NetF1 also features improved routing performance with
RTCache.
Control and configuration of the stack is possible via many
different interfaces - compile-time parameters can be configured
in from the Tornado development environment, or in configuration
source code files for command-line builds. Run-time
configuration of stack variables is enabled through a flexible
BSD-style sysctl interface.
Besides, the features of an advanced network stack, NetF1 has
special enhancements for embedded use. It is designed for
hardware acceleration, and its modular architecture allows
individual pieces of functionality that are provided in software
form to be swapped out and replaced with their hardware
accelerated equivalents through a thin driver interface.
Further, support for unnumbered interfaces and interface
identification for send/receive allow complex embedded systems
to have multiple internal interfaces that are unaffected by
external routing protocols, as well as allows for better
management of the device by being able to choose specific
interfaces for specific network transactions (such as ones
across an ethernet backplane for management or redundancy).
Extensive debugging support and an instrumented trace facility
to gain visibility into the stack's workings, as well as a
comprehensive set of “show” routines in all modules round off
NetF1's extensive feature-set.
NetF1 has OS-optimized support for multi-tasking, memory
partitions, and abstractions that are lean, yet fast. Given its ability to
scale out optional features and its special emphasis on low
resource environments, NetF1 provides the essential
functionality required by an embedded device to work either as a
high performance connected end station or router. |
|
Special Features |
|
 |
Supports Path
Maximum Transmission Unit (PMTU) discovery in IPv4 and
IPv6 modes |
|
 |
Hardware
acceleration capable - can offload compute-intensive
portions to ASICs, FPGAs or Network Processors |
|
 |
Built-in
support for deferred checksum calculations (for hardware
assist) and hardware based TCP segmentation |
|
 |
Includes
routing socket functionality |
|
 |
Supports
unnumbered interfaces (no limit) accessible via direct
calls, socket options or route table |
|
 |
Support for
bootloader integration including DHCP in bootloader |
|
 |
Supports
multi-instancing of the stack to create multiple virtual
routers on same system |
|
|
|
|
|
|