Browse categories
Find the answer you’re looking for
Licensing
Yes, 6WIND has all the required authorizations to export cryptography to all countries that are not under embargo. We have a dedicated document that details our export license.
6WINDGate software is a mix of software under GPL or other open source licenses and 6WIND license. Software under open source license included in 6WINDGate is listed in the Publicly Available Software document available with every 6WINDGate release.
Yes. 6WIND provides services around its 6WINDGate technology including architecture design, specific support and software development.
Yes. We provide worldwide technical support.
Yes. The standard 6WINDGate training class is a 3 to 5-day training that can be provided at 6WIND or in your premises for a maximum of 10 people. Training is highly recommended to understand 6WINDGate concepts as early as possible in your development process. Our standard training can also be customized upon request to help you to kick-off your project.
We provide maintenance services under an annual contract. Some specific support services can also be provided according to specific customers’ requirements (Technical Account Manager, extended maintenance services, long term support …).
Your 6WINDGate license is granted without any time limitation. 6WINDGate software updates are delivered as long as you have a valid maintenance contract.
A 6WINDGate license is granted for a processor, a Linux distribution and a set of modules to develop a product or a range of products. The scope of the license can be extended when needed.
6WIND sells its 6WINDGate packet processing software through a source code licensing model. The license includes an upfront development fee and per-unit royalties.
We sell source code with our 6WINDGate packet processing software.
Applications
Our customers have integrated 6WINDGate with Aricent, Inside Secure, RadiSys (Trillium), Marben, Mocana and Metaswitch signaling protocols.
One of the key advantages of the 6WINDGate architecture is that Linux APIs are preserved. So, if your application uses standard Linux APIs, you will not have to modify your existing application to take advantage of 6WINDGate’s packet processing.
6WINDGate accelerates packet processing for a myriad of applications including mobile infrastructure, network security, data center optimization, network function virtualization (NFV) and software-defined networking (SDN) architectures.
6WIND licenses its products to tier-1 customers all around the world including OEMs and network builders. A list of our main customers is available here.
Architecture
No, we do not support other Operating Systems than Linux.
Except the TCP/UDP Termination IPv4 fast path module and its IPv6 extension that requires a specific integration with the application, all other 6WINDGate fast path modules support the synchronization mechanism with Linux.
In 6WINDGate fast path-based solutions, the fast path receives all incoming packets in the system. Its goal is to provide very high packet processing performance. Therefore, it does not process complex, time consuming packets that represent only a small fraction of the overall traffic. For example, packets that require a state machine to compute forwarding information (such as ARP or routing protocols) are not processed in the fast path.
When an incoming packet is too complex to be processed by the fast path, it is sent to Linux as an exception packet, to be processed by the Linux networking stack or the control plane. Then, thanks to the continuous synchronization mechanism, the computed information in Linux will be automatically configured in the fast path, so that the next packet of the same flow can be processed in the fast path.
This Exception mechanism, combined with the Continuous Synchronization of Linux and the fast path, enables 6WINDGate to process any kind of packet and ensures the consistency of the whole system.
In a standard Linux architecture, the control plane updates the Linux networking stack for both static and dynamic configurations. When using a fast path like in 6WINDGate, it has also to be synchronized with the same information to have a consistent system. 6WINDGate architecture has been designed to make this synchronization fully transparent.
The 6WINDGate packet processing software runs on dedicated cores, isolated from the Linux operating system. This software consists of a high performance networking stack, the fast path, designed to provide the highest throughput and the lowest latency. Packet processing is offloaded from the Linux operating system.
Overview
A detailed quarterly roadmap is available upon request and after signing a NDA.
Yes. It can be found here.
The complete list of supported modules is available on the 6WINDGate software modules page on our Web site. Detailed data sheets for each 6WINDGate module are available upon request.
Fast Path
The 6WINDGate fast path comes with a fragmentation / reassembly module for both IPv4 and IPv6 that allows fragmentation / reassembly processing to be offloaded from the Linux networking stack.
Nothing has to be done as 6WIND provides a complete and integrated solution. Fast path modules are integrated together and integrated with the Linux stack and control plane.
Thanks to the FPN-SDK, most of our 6WINDGate fast path software is generic. However, the use of processor specific resources such as hardware queues for QoS is processor-dependent. 6WIND also implements some specific low-level optimizations to make the most out of the processor.
Yes. 6WIND is the founder of the dpdk.org open source project. 6WIND is one of the main contributors to the project. 6WINDGate uses DPDK for Intel and IBM Power architectures and the FPN-SDK for the two architectures is interfacing DPDK.
The 6WINDGate FPN-SDK is the execution environment for the fast path modules. The FPN-SDK is hardware-dependent and is identified by the hardware architecture. We currently support Intel, Cavium, and IBM Power architectures. The support of Mellanox NPS and Kalray MPPA processors is planned in our road map.
The FPN-SDK includes:
- The generic abstraction APIs used to implement fast path modules independently from the underlying hardware with zero-overhead, using the services of the processor SDK.
- The exception mechanism between Linux and the fast path.
Linux Networking Stack
The 6WINDGate fast path comes with a fragmentation / reassembly module for both IPv4 and IPv6 that allows fragmentation / reassembly processing to be offloaded from the Linux networking stack.
Nothing has to be done as 6WIND provides a complete and integrated solution. Fast path modules are integrated together and integrated with the Linux stack and control plane.
Thanks to the FPN-SDK, most of our 6WINDGate fast path software is generic. However, the use of processor specific resources such as hardware queues for QoS is processor-dependent. 6WIND also implements some specific low-level optimizations to make the most out of the processor.
Yes. 6WIND is the founder of the dpdk.org open source project. 6WIND is one of the main contributors to the project. 6WINDGate uses DPDK for Intel and IBM Power architectures and the FPN-SDK for the two architectures is interfacing DPDK.
The 6WINDGate FPN-SDK is the execution environment for the fast path modules. The FPN-SDK is hardware-dependent and is identified by the hardware architecture. We currently support Intel, Cavium, and IBM Power architectures. The support of Mellanox NPS and Kalray MPPA processors is planned in our road map.
The FPN-SDK includes:
- The generic abstraction APIs used to implement fast path modules independently from the underlying hardware with zero-overhead, using the services of the processor SDK.
- The exception mechanism between Linux and the fast path.
Control Plane
Yes. Routing and IKE software that is able to configure Linux kernel routing or IPsec information will transparently benefit from the 6WINDGate fast path thanks to the Continuous Synchronization mechanism.
Both IKEv1 and IKEv2 are supported. 6WIND has improved both versions of IKE to support a large number of IKE sessions.
Yes. Virtual Routing is supported for RIP, RIPng, OSPFv2, OSPFv3 and BGP. Control plane Virtual Routing has been integrated and validated with the fast path forwarding module that also supports Virtual Routing.
We support RIP, RIPng, OSPFv2, OSPFv3 and BGP as well as SMR (Static Monitored Route) and BFD (Bidirectional Forwarding Detection).
Management System
The 6WINDGate management architecture is very flexible and can provide different solutions for smooth integration of 6WINDGate with an existing management system:
- Call the 6WINDGate management system from yours to integrate the management of new features brought by 6WINDGate, using NETCONF or the CLI
- Use direct Linux calls
- Extend the 6WINDGate management system to call yours
The 6WIND Service and Support team can help you to choose the best solution according to your requirements.
Yes. 6WINDGate provides a NETCONF/YANG API for configuration and monitoring of 6WINDGate. Our YANG schemas are publicly available and our CLI is an example of NETCONF client, built directly from the YANG models.
Note that pure Linux-based configuration is supported as well.
Yes. Thanks to the transparent synchronization mechanism, SNMP queries remain consistent for the whole system even when a fast path is used, transparently for the SNMP agent.
Yes, a command-line interface is provided to interact with 6WINDGate. It can be used to configure, monitor and troubleshoot. It provides help and completion, as well as the management of configuration files to save and restore a complete and consistent configuration in one command.
The CLI is actually a NETCONF client that communicates with 6WINDGate’s YANG-based configuration engine.
Note that pure Linux-based configuration is supported as well.
Yes. Thanks to the transparent synchronization mechanism, Linux + 6WINDGate is Linux. Configuring a VLAN, a route, a filtering rule, etc. supported by Linux is done exactly the same way when configuring Linux + 6WINDGate. Standard tools like tcpdump, ethtools or graphical Linux tools like Grafana can all be used unmodified with Linux + 6WINDGate.
Distributed Architectures
Yes.
In case of a single multicore architecture, synchronization between the Linux networking stack and the fast path is handled through a shared memory. In dual multi core processor architecture, Linux is running on one processor, while the fast path is running on the other one. There is no shared memory between Linux networking stack and fast path.
In such architecture, the fast path 1CP – 1FP module is required and allows synchronizing the Linux networking stack with the remote fast path through a network connection between the two processors.
As a result, the 6WINDGate architecture can be equally deployed over:
- shared cores of a single multicore processor,
- two different multicore processors (one core being allocated to Linux and the other one to the fast path),
- one multicore processor running the fast path and another, possibly non-multicore, processor running Linux.
High-Availability (HA) Support
The 6WINDGate HA solution includes:
- Virtual Border Router Redundancy Protocol
- HA Daemon Monitoring System (control plane) that monitors 6WINDGate daemons
- HA control plane Synchronization Daemon for different protocols (ARP/NDP, routing, IPsec, firewall / NAT, etc.)
You can find the list of 6WINDGate HA modules on the 6WINDGate software modules page on our Web site.
Can you give some customer examples showing how your 6WINDGate HA modules can be used?
6WINDGate HA modules are used in LTE infrastructure equipment.
Performance and Scalability
Yes. Detailed performance test results for reference hardware platforms are available upon request and after signing a NDA.
The majority of our 6WINDGate software is generic. However, the use of processor specific resources such as Ethernet drivers, crypto-engines is processor-dependent. To implement some specific low-level optimizations to make the best use of the processor, 6WIND uses cycle-level simulators (when available) to optimize the number of cycles. Performance counters of the processor and profiling tools can also be used to measure processing time.
Yes. 6WIND provides compilation options to disable features you don’t need.
The purpose of processor benchmarks is to demonstrate the raw performance of the processor. Benchmarking software is generally limited to a single feature with hard-coded parameters. 6WIND provides a complete solution with several features, all protocol options and integration with the control plane. 6WINDGate software is much more complex than benchmarking software and performance cannot be directly compared.
A SA takes 640 bytes and an SP takes 128 bytes.
SA lookup in the fast path is based on a 16-bit hash table so that the number of SA does not significantly impact performance.
With regards to the number of selectors, a threshold enables switching from linear search to a trie-based look-up algorithm, depending on the number of entries in the SPD. This enables adjusting the balance between lookup performance and memory usage.
Detailed performance test results showing that the number of processed IPsec packets per second is directly proportional to number of cores are available.
Each route consumes 64 Bytes. So, the total amount of memory used by tables holding 50,000 routes is 24 MBytes.
IP forwarding performance is not affected by the number of routes as IP lookup is implemented using a configurable M-trie algorithm, so that any packet is processed within a fixed number of memory accesses. There is no additional memory allocation when processing a flow.
Detailed performance test results showing that the number of forwarded packets linearly increases proportionally to the number of cores are available.
6WINDGate typically increases packet processing performance between 5 to 40 times compared to standard Linux. The exact value depends on different parameters (which protocol is accelerated, packet size, hardware platform…). For a more precise answer, detailed performance test results on reference platforms can be provided.
Intel Multicore
We take advantage from hyperthreading, NUMA, stashing, PCIe bulking, RAM topology (channel/rank).
Yes. All versions of 6WINDGate use the AES New Instructions set of Intel processors or external crypto accelerator boards, from Control Plane (through the transparent integration of SSL with the integrated OpenSSL crypto engine), Linux networking stack or fast path.
Yes.
Please refer to the 6WINDGate platform support page on our Web site.
Please refer to the 6WINDGate platform support page on our Web site.
ARM
We support Armv8 CPU core including the Qualcomm Centriq 2400 Processor.
Yes.
Integration and Debug Environment
As 6WINDGate preserves standard Linux APIs, interfacing a third party control plane module (routing, security key exchange for instance) is straightforward and does not require any modification of the source code in most cases. Moreover, the Exception and Continuous Synchronization mechanisms take care of synchronizing the fast path with the information that are configured in the Linux networking stack by your control plane module, so that your system transparently benefits from fast path performance.
For instance, third-party routing and IKE daemons have already been successfully integrated by 6WIND’s customers.
6WINDGate is validated on reference hardware, including evaluation boards and off-the-shelf commercial platforms. Please refer to the 6WINDGate platform support page on our Web site.
We are used to porting the 6WINDGate software on various boards, provided either by OEM board manufacturers or customers. Validation of 6WINDGate is matter of a few weeks (assuming of course a Linux BSP for the board is available and provides a shell command line).
We are open to let your engineers do the job with our support or to provide services at your option.
Yes. 6WINDGate features a Flow Inspection / Packet Capture fast path module that provides the Berkeley Packet Filtering functionality in the fast path. It allows the monitoring of the fast path traffic from the control plane.
When DPDK is used (Intel, IBM Power), the fast path is a Linux userland application that can be debugged using standard tools such as strace, gdb, etc. When a specific executive environment is used (Cavium), debugging tools provided by processor vendors are supported.
Yes. As 6WINDGate preserves standard Linux APIs, Linux userland and kernel software can be debugged using usual, standard Linux tools.
Documentation
6WINDGate is provided with a complete documentation of more than 2000 pages that includes:
- Release Notes
- Reading Guide
- Module Data Sheets
- User Guide for the CLI
- Documentation for each 6WINDGate module, including overview, usage, troubleshooting and design.