SEARCH LOGIN MAILING LIST SITE MAP HOME
 
 

 

Username:
Password:
6WINDGate FAQ

Multicore Packet Processing Forum
 

 


Overview

This document covers Frequently Asked Questions about 6WIND and the 6WINDGate software. If you do not find the answer to your question in this document, please send an email to support at 6wind.com.

Company Information

Where are 6WIND's offices located?

6WIND Headquarters are situated 30 min from Paris, France. 6WIND has also offices in California, China (Beijing) and South Korea.

The location of our offices can be found here.

What is your business model?

6WIND is an embedded software company. The company supplies its 6WINDGate packet processing software under license to OEMs. The license includes an upfront development fee and per-unit royalties.

A company profile is available here.

What countries do you sell in?

6WIND sells worldwide either directly or through local resellers.

Do you have resellers?

6WIND has resellers in different countries including the US, Israel, Europe and China. 6WIND resellers are listed here.

What is your ecosystem?

6WIND is proud to partner with industry-leading companies worldwide who provide products that are complementary to our own software. These partners include suppliers of processors, operating systems, board-level products and systems. We encourage our customers to explore the products available from our ecosystem partners while coordinating a complete system solution based around 6WINDGate.

A list of our partners can be found here.

Do you have regional support?

We provide worldwide technical support.

Do you provide services?

Yes. 6WIND provides services around its 6WINDGate technology. The 6WIND professional services are described here.

Licensing

What is a 6WINDGate profile?

Details about 6WINDGate profiles are available here. A Product Brief for each 6WINDGate profile can also be found here.

Do you sell source or binaries?

We sell source code.

What is the scope of a 6WINDGate license?

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.

I don't need all the features available in 6WINDGate. Can I license only a subset of features?

Yes, the 6WINDGate product is modular. For instance, you can use your own Control Plane modules and / or select a limited number of modules.

How do I extend an existing license?

Your 6WINDGate license is granted without any time limitation. 6WINDGate updates are delivered as long as you have a valid maintenance contract.

What's your support/maintenance model?

We provide maintenance services under an annual contract. Some specific support services can also be provided according to specific customers' requirements (Designated Support Engineer, Technical Account Manager, extended maintenance services ...).

Do you provide training?

Yes. The standard 6WINDGate training class is a 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. 6WIND also provides a 3-day session focused on 6WINDGate HA for engineers who are already familiar with 6WINDGate concepts.

Our standard training can also be customized upon request to help you to kick-off your project.

What are the differences between 6WINDGate Standard Edition and Carrier Grade Edition?

The Carrier Grade Edition includes 6WINDGate High Availability modules as well as some modules that support very large provider configurations.

Does 6WINDGate include any GPL software?

6WINDGate software is a mix of software under GPL license and 6WIND license. Modules covered by GPL license are mainly:

  • Unicast Routing Control Plane modules; 6WIND is one of the companies maintaining Quagga Open Source project.
  • Linux networking stack,
  • A few standard Linux tools.

The 6WINDGate software license agreement includes an appendix listing the specific license that applies to each software module.

6WINDGate implements cryptography. Is 6WIND authorized to export such a technology?

Yes, 6WIND has all the required authorisations to export cryptography to all countries that are not under embargo. We have a dedicated document that details our export license.

6WINDGate Applications

Who are your main customers?

6WIND licenses its products to tier-1 customers all around the world. A list of our main customers is available here.

What are the main applications of 6WINDGate?

6WINDGate accelerates packet processing for a myriad of applications including wireless infrastructure for 3G, WiMAX, LTE, enterprise and provider routers, security appliances, IPTV, content inspection, IMS ...

What is the impact of your architecture on my existing Linux applications? Do I need to rewrite them?

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.

How can 6WINDGate help me in building my LTE and WiMAX infrastructure equipment?

Please refer to our Telecoms Infrastructure page on our Web site. Applications Notes are also available here.

Has your 6WINDGate software already been integrated with telecom signalling protocols?

Yes. Our customers have integrated 6WINDGate with Aricent, CCPU (Trillium) and Marben signalling protocols.

How can 6WINDGate help me in building my security appliance?

Please refer to our security page on our Web site. Applications Notes are also available here.

6WINDGate Architecture

Do you have a high-level presentation about your software architecture?

Yes. Our 6WINDGate Architecture Overview document can be downloaded here.

What does "Synchronization of Control Plane, Linux networking stack and Fast Path" exactly mean?

In a standard Linux architecture, the Control Plane updates the configuration of the Linux networking stack for both static and dynamic configurations. When using a Fast Path, it also has to be synchronized with the same information to have a consistent system. 6WINDGate architecture has been designed to make this synchronization fully transparent.

What is the "Exception Mechanism"?

In 6WINDGate Fast Path-based (EDS and SDS) solutions, the Fast Path receives all incoming packets in the system. Its goal it 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 Slow Path or the Control Plane. Then, thanks to the continuous synchronization mechanism, the computed information in Linux will be automatically configured in Fast Path, so that the next packet of the same flow can be processed in 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.

How can I choose between 6WINDGate ADS, EDS and SDS profiles?

To help you, 6WIND provides you with:

  • Evaluation versions for 6WINDGate ADS, EDS and SDS that are available after signing a Software Evaluation License Agreement,
  • Detailed performance tests based on parameters such as number of cores, packet length ... for 6WINDGate ADS, EDS and SDS versions that are available after signing a NDA.

These tools can help you to select the best software architecture and our support team can also help to choose the optimised solution.

I don't understand how 6WINDGate EDS can be more efficient than 6WINDGate SDS?

If we take the example of a 2-core configuration, the 6WINDGate EDS Fast Path can benefit from the processing power of the 2 cores (running in SMP mode), while the 6WINDGate SDS Fast Path will only run on 1 core, as the other is dedicated to Linux. So, even if 6WINDGate SDS provides higher performance per core, in cases where Slow Path and Control Plane do not consume too much bandwidth, 6WINDGate EDS may provide a better solution. For more than 4 cores, 6WINDGate SDS scales better.

Which part of your 6WINDGate software is generic and which part is processor-dependent?

The majority of our 6WINDGate software is generic thanks to Hardware Abstraction Layers provided for all supported hardware platforms and providing generic, high-level APIs in the Control Plane, Slow Path and Fast Path. 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.

Do you support other Operating Systems than Linux?

No, we do not support other Operating Systems than Linux. Please note that the Fast Path for 6WINDGate SDS runs outside the OS and can be used in other environments.

What is OCF?

OCF (Open Cryptography Framework) is a standard Control Plane and Slow Path API used by software to interface crypto engines. The 6WINDGate uses this API to ease the portability of security software on different platforms using either built-in crypto engines (multicore processors such as Cavium Octeon, NetLogic XLR or Freescale QorIQ) or external accelerators (x86 with PCI external accelerators).

Thanks to the OCF API, your applications (for instance SSL) can transparently benefit from crypto engines; independently of the underlying hardware.

6WINDGate Features

6WINDGate Features

Where can I find detailed information about features supported by each 6WINDGate module?

Detailed Data Sheets for each 6WINDGate module are available upon request.

Do you have a detailed roadmap?

Yes. A detailed quarterly roadmap is available upon request and after signing a NDA.

Fast Path

How can I define how many cores are running the Fast Path and how many cores are running Linux when I use 6WINDGate SDS?

The way cores are shared between the Fast path and Linux is fully configurable and defined at boot time.

What has to be done to integrate your Fast Path modules together?

Nothing has to be done as 6WIND provides a complete and integrated solution. Fast Path modules are integrated together and integrated with the Linux Networking Stack and Control Plane.

Have you tried to run your Fast Path in kernel mode?

Yes, this solution is implemented in 6WINDGate EDS. This mode shows excellent performance compared to a standard Linux architecture and a scalable increase of performance according to the number of cores.

My IDPS or firewall needs reassembled packets; can the Fast Path fragment or reassemble my IP packets (whatever UDP, TCP, etc.)?

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.

Some 6WINDGate features are not available in the Fast Path yet. How will I upgrade my system in the future?

You can start with 6WINDGate as it is today. Thanks to 6WINDGate's flexible architecture, features that are not available in the Fast Path will be processed in the Linux networking stack using the Exception Mechanism.

As soon as the required 6WINDGate Fast Path module is available, your performance will be automatically improved without making any modification to the Control plane, Linux networking stack or Management plane. New Fast Path modules can be purchased as extensions of your existing license.

Linux Networking Stack

Which operating systems do you support?

We support the Linux operating system.

Which versions of the Linux kernel do you support?

6WINDGate 2.x supports Linux kernel versions from 2.6.14 to 2.6.24. 6WINDGate 3.x supports the latest versions of the Linux kernel starting with 2.6.27.

Which Linux distributions do you support?

We support reference Linux distributions provided by multicore processor vendors, Open Source Linux distributions, as well as commercial Linux distributions such as Wind River Linux. Support of other distributions including your own is possible upon request.

Is the 6WINDGate Linux networking stack compatible with socket applications?

Although the 6WINDGate Linux networking stack replaces the networking stack provided by the reference Linux distribution, it preserves standard Linux APIs (such as skbuff, netdevices, Netfilter, Netlink, socket API, etc.) so that your existing kernel modules or userland applications do not need to be modified.

How long does it take to port 6WINDGate to a new Linux kernel?

There is no generic answer to this question as it depends on numerous parameters, such as Linux kernel version, BSP availability, etc.

However, 6WIND has a strong experience porting the 6WINDGate software on top of various Linux distributions (from 2.6.15 to 2.6.34 kernels) and hardware architectures (including Cavium Octeon, Netlogic XLR/XLS, Freescale QorIQ, Intel Architecture, etc.). Please contact 6WIND's Customer Support and Services team who will evaluate your your project and your requirements.

What is the difference between 6WINDGate ADS, EDS and SDS Linux networking stacks?

The 6WINDGate EDS and SDS Linux networking stacks include the 6WINDGate ADS Linux stack plus the Cache Manager module that ensures Continuous Synchronization between Slow Path and Fast Path. This architecture avoids the need for any change to Linux Control Plane or Slow Path modules when used with the 6WINDGate Fast Path.

(Note that the Cache Manager module has nothing to do with the hardware memory cache manager on the processor.)

Have you improved your 6WINDGate Linux Stack compared to a standard Linux Stack for multi-processing environment?

Yes. The 6WINDGate Linux networking stack is implemented without any giant lock during the packet processing, so that the kernel can process multiple packets at the same time (up to one per core) in SMP mode.

However, a Linux-based architecture is complex and still requires locking in certain cases.

What is VNB?

VNB (Virtual Networking Blocks) was initially developed as an in-kernel networking subsystem that follows the UNIX principle of achieving power and flexibility through combinations of simple modules.

The VNB technology has various applications at each level of the software architecture. It is well-suited for especially for:

  • Protocol encapsulation,
  • Feature performance optimization by separation of Linux kernel/Fast Path packet processing from the Control Plane,
  • Assembly of several protocols in order to provide global solutions,
  • Driver integration;

and does not require any modification to the Linux networking stack.

Is VNB available in the Fast Path?

Yes. 6WIND has ported the VNB framework at the Fast Path level to bring similar benefits for the integration of Fast Path Modules. Doing so, the same source code for a VNB module can be used within the 6WINDGate ADS Data Plane or 6WINDGate EDS/SDS Fast Path.

Could you give me an example describing the benefits of VNB?

You can find an example in section 7.2 of 6WINDGate Architecture Overview document that can be downloaded here.

Where can I find the list of the available VNB modules?

The list of the available VNB modules can be found in the 6WINDGate SAD VNB document available upon request.

Control Plane

What is the Cache Manager?

The Cache Manager is a Control Plane software module that performs Continuous Synchronization between Slow Path and Fast Path. It listens to Linux Netlink notifications resulting from configuration of the Slow Path by the Control Plane Modules (ARP and NDP entries, L3 routing tables, Security Associations, etc.) and synchronizes the Fast Path accordingly.

Thanks to the Cache Manager, no change is required to Control Plane Modules when they are used with the 6WINDGate Fast Path. The Cache Manager is hardware independent.

Which routing protocols do you support?

We support RIP, RIPng, OSPFv2, OSPFv3 and BGP as well as SMR (Static Monitored Route) and BFD (Bidirectional Forwarding Detection).

Do you support Virtual Routing?

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.

Which versions of IKE do you support?

Both IKEv1 and IKEv2 are supported.

Can the 6WINDGate Fast Path modules be used with non 6WINDGate routing daemons (OSPF, BGP, etc.) and non 6WINDGate IKE?

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.

Do you support IKE VR?

IKEv2 VR is under development and will be available soon.

On a same core, can the crypto engines be shared between different applications in Linux and kernel or Fast Path modules (IPsec)?

Yes, thanks to the OCF API, your SSL application (or others) can benefit from the hardware crypto engines. The OCF layer will manage concurrent access from userland applications and from the Linux kernel or the Fast Path.

Management System

What are the benefits of using XML in management systems?

A detailed analysis of the benefits using XML in management systems can be found in a white paper available here.

Could you describe the process for integrating the management of a third party module with your XML-based management system?

A white paper is available here. As an example, it describes how to integrate OpenVPN software with our XML-based management system.

Do you provide CLI and Web Management?

Yes. 6WIND delivers complete CLI and Web tools for integrated 6WINDGate features. The 6WINDGate CLI Configuration Guides as well as Web pages examples are available here.

Can I monitor 6WINDGate features with SNMP?

Yes. 6WINDGate implements an SNMP agent. You can find the list of supported MIBs here.

Thanks to the 6WINDGate FPS (Fast Path Statistics) module, responsible for gathering Fast Path statistics and aggregating them with Slow Path statistics, SNMP queries remain consistent for the whole system even when a Fast Path is used, transparently for the SNMP agent.

How can I integrate my existing management system with the 6WINDGate XML-based management system?

The 6WINDGate management architecture is very flexible and can provide different solutions for smooth integration of the 6WIND XML-based management system with an existing one:

  • You can call the 6WINDGate management system from yours to integrate the management of new features brought by 6WINDGate,
  • You can extend the 6WINDGate management system to call yours,
  • You can interface the XMS Configuration Manager with your own client and configure 6WINDGate features directly in XML; we provide all the necessary software documentation for that purpose.

The 6WIND Service and Support team can help you to choose the best solution according to your requirements.

Distributed Architectures

Does 6WINDGate work as well on a dual multi-core processor architecture?

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 a 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 Slow Path and Fast Path.

In such an architecture, the Fast Path 1CP - 1FP module is required and allows to synchronize the Slow Path 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.

Can I manage more than one Fast Path with a single Control Plane?

Yes. You can manage N Fast Paths with a single Control Plane module using the 1CP - N FP Fast Path module.

High-Availability (HA) Support

Do you have a high-level presentation about your HA software architecture?

Yes. The 6WINDGate HA Architecture Overview document can be downloaded from our Web site here.

What are the main components of your HA solution?

The 6WINDGate HA solution includes:

  • Graceful Restart extensions (Linux stack & Control Plane)
  • HA Daemon Monitoring System (Control Plane) that monitors 6WINDGate daemons
  • HA Control Plane Synchronization Daemon for different protocols (ARP/NDP, routing, IPsec, firewall / NAT ...

How can your 6WINDGate HA modules be integrated with an HA framework?

Please refer to section 5 of the 6WINDGate HA Architecture Overview document that can be downloaded here.

Can you give some customer examples showing how your 6WINDGate HA modules can be used?

6WINDGate HA modules are used in LTE infrastructure equipment and Large Scale NATs.

Are HA modules available in 6WINDGate Standard Edition?

No, 6WINDGate HA modules are only available in the 6WINDGate Carrier Grade Edition.

Performance and Scalability

What is the level of performance that can be achieved with 6WINDGate compared to standard Linux?

6WINDGate SDS typically increases packet processing performance between 5 to 10 times compared to standard Linux. The exact value depends on different parameters. For a more precise answer, detailed performance test results on reference platforms can be provided.

How does your Fast Path IP forwarding scale?

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.

What is the memory consumption per route?

Each route consumes 64 Bytes. So, the total amount of memory used by tables holding 50,000 routes is 24 MBytes.

How is IPsec forwarding performance affected by the number of Security Associations (SA) and by the number of selectors (SPD entries)?

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.

Is there a maximum number of IPsec SA or SP?

The theoretical limit for the size of the SAD and SPD is the amount of RAM available in the system. However, we have successfully validated up to 40K SAs and SPs.

What is the memory consumption per SA and SP?

A SA takes 640 bytes and an SP takes 128 bytes.

How many NAT sessions do you support?

With our standard Fast Path access NAT, the 6WINDGate is able to manage up to 100K sessions.

For Large Scale NATs, a NAT using the Fast Path LSN / CGN NAT module and the Carrier Grade Linux networking stack is able to manage up to 18 Million NAT sessions.

How many IKE sessions do you support in the Control Plane?

We are able to manage 20K IKE sessions in the Control Plane.

Why are 6WINDGate performance numbers lower than processor benchmarks?

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 detailed Application Note about this topic is available here.

I don't need all the Fast Path features provided by 6WINDGate. Can I disable them to increase performance?

Yes. 6WIND provide compilation options to disable features you don't need.

Which tools do you use to optimize the performances of 6WINDGate on a processor?

The majority of our 6WINDGate software is generic. However, the use of processor specific resources such as Ethernet drivers, hardware queues for QoS, 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.

Do you have detailed performance test results?

Yes. Detailed performance test results for reference hardware platforms are available upon request and after signing a NDA.

What is the size of your 6WINDGate code?

The 6WINDGate Linux networking stack comprises around 300K Physical Source Lines of Code (SLOC) and the 6WINDGate Fast Path is around 62K SLOC.

However, the 6WINDGate solution is highly modular and the code that will be effectively used depends on your specific requirements.

Processor and Board Support

Cavium Octeon

Which Cavium boards do you support?

First of all 6WINDGate supports all Cavium Octeon evaluation boards.

We also support Cavium boards from the following board providers: Advantech, Emerson, GE Intelligent Platforms, Interphase, Narinet, Radisys ... You will find the updated list of 6WIND partners here.

Which software from Cavium do I need to run 6WINDGate?

You need the Cavium Octeon SDK. Other software and toolkits from Cavium can be integrated with 6WINDGate but they not mandatory. We periodically update 6WINDGate to support the latest versions of the SDK.

How can I debug 6WINDGate software running on Cavium Octeon?

Linux userland and kernel software can be debugged using standard Linux tools, as well as Simple Executive debugging tools provided by Cavium. 6WIND provides the 6WINDGate Virtual Fast Path, a tool that makes it possible to run and debug the Fast Path as a Linux userland application on x86.

Which hardware resources from Cavium Octeon processor does 6WINDGate use?

We take advantage of POW, FPA, hardware helpers (checksum, etc.), timers and crypto coprocessors.

We have Software Design Documents describing our Fast Path architecture & components. They focus on the generic part and also provide board-specific details like the use Cavium Octeon hardware resources.

Are data structures designed for the 128 byte cache line of Cavium Octeon?

Yes. We take care to align data structures and also make use of the prefetch mechanism.

Do 6WINDGate security features use the integrated Octeon crypto coprocessors?

Yes. All versions of 6WINDGate use the integrated Octeon crypto coprocessors, from Control Plane (through the transparent integration of SSL with the OCF API), Slow Path or Fast Path.

How are the QoS features of the Cavium Octeon chip used for implementing DiffServ?

For the Fast Path, we rely on the queuing mechanism of the Octeon and the support of RED.

Do you support the Cavium Octeon II processor?

Support for the Cavium Octeon II is planned in our roadmap.

Freescale QorIQ™

Which Freescale multicore processors do you support?

We support the PowerQUICC III MPC8572E and QorIQ P4080 Communications Processors.

Which Freescale boards do you support?

The 6WINDGate supports the Freescale MPC8572 DS and P4080 DS evaluation boards.

We also support Freescale QorIQ boards from the market-leading board providers. You will find the updated list of 6WIND partners here.

Which software from Freescale do I need to run 6WINDGate?

The 6WINDGate requires the Freescale LTIB 2.0 SDK (for the reference Linux distribution, GNU toolchain and LWE).

How can I debug 6WINDGate software running on Freescale processors?

Linux userland and kernel software can be debugged using standard Linux tools. 6WIND also provides the 6WINDGate Virtual Fast Path, a tool that makes it possible to run and debug the Fast Path as a Linux userland application on x86.

Do 6WINDGate security features use Freescale QorIQ built-in crypto coprocessors?

Yes. All versions of 6WINDGate use the integrated Freescale QorIQ crypto coprocessors, from the Control Plane (through the transparent integration of SSL with the OCF API), Slow Path or Fast Path.

Which hardware resources from Freescale processors does 6WINDGate use?

We take advantage of the DPAA infrastructure (FMAM/QMAN/BMAN) with push-mode and HW assist features (stashing, warming, SEC engine).

Intel Multicore

Which Intel multicore processors do you support?

We support Intel32 generic x86 and Clovertown, Intel64 Intel Xeon 5500 series (Nehalem/Jasper Forest, 4 cores), Intel Xeon 5600 series (Westmere, 6 cores), Sandy Bridge (8 cores).

Which boards and Ethernet NICs do you support?

We support e1000 (Ophir and Zoar) NICs on Intel32 Clovertown with Bensley boards, and IGB 82576 (1GB, Kawela) and IXGB 82599 (10GB, Niantic) NICs on Intel64 series with S5500 (Hanlan Creek) boards.

How can I debug 6WINDGate software running on Intel multicore processors?

Linux userland and kernel software can be debugged using standard Linux tools. 6WIND also provides the 6WINDGate Virtual Fast Path, a tool that makes it possible to run and debug the Fast Path as a Linux userland application on x86.

Intel provides the VTune™ Performance Analyzer to analyze and improve Fast Path application performance.

Do 6WINDGate security features use Intel built-in crypto accelerators?

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 OCF API), Slow Path or Fast Path.

Which hardware resources from Intel processors does 6WINDGate use?

We take advantage from hyperthreading, NUMA, stashing, PCIe bulking, RAM topology (channel/rank).

Do you support the Intel QuickAssist technology?

The support of QuickAssist is under development and will be available soon.

NetLogic

Which NetLogic boards do you support?

First of all 6WINDGate supports all NetLogic XLR and XLS evaluation boards.

We also support NetLogic-based boards from the following board providers: CCPU, JumpGen... You will find the updated list of 6WIND partners here.

Which software from NetLogic do I need to run 6WINDGate?

You need the NetLogic XLR/XLS SDK. Other software and toolkits from NetLogic can be integrated with 6WINDGate but are not mandatory. We periodically update 6WINDGate to support the latest versions of the Netlogic SDK.

How can I debug 6WINDGate software running on NetLogic XLR / XLS?

Linux userland and kernel software can be debugged using standard Linux tools, as well as the NetOS GDB debugger. 6WIND provides the 6WINDGate Virtual Fast Path, a tool that makes it possible to run and debug the Fast Path as a Linux userland application on x86.

Which hardware resources from the NetLogic XLR / XLS processor does 6WINDGate SDS use?

We take advantage of the FMN, the PDE and the parser featured by the Network accelerators, as well as the Security Acceleration Engines.

We have Software Design Documents describing our Fast Path architecture and components. They focus on the generic part and also provide board-specific details like the use of NetLogic XLR hardware resources.

Do 6WINDGate security features make use of the integrated NetLogic XLR / XLS crypto cores?

Yes. All versions of 6WINDGate use the integrated NetLogic XLR crypto cores, from Control Plane (through the transparent integration of SSL with the OCF API), Slow Path or Fast Path.

Do you support the NetLogic XLP processor?

Support for NetLogic XLP is planned in our roadmap.

Development Process

Evaluation

How can I evaluate 6WINDGate software?

Evaluation versions in binary form for all platforms supported by 6WINDGate are available after signing a Software Evaluation License Agreement.

Integration and Debug Environment

Can I use standard Linux tools to compile, develop and debug software when using 6WINDGate?

Yes. As the 6WINDGate preserves standard Linux APIs, Linux userland and kernel software can be debugged using usual, standard Linux tools.

How can I debug Fast Path software?

Debugging tools provided by processor vendors for their Multicore Executive Environment can be used with the 6WINDGate Fast Path. 6WIND provides the 6WINDGate Virtual Fast Path, a tool that makes it possible to run and debug the Fast Path as a Linux userland application on x86.

Can I use tcpdump for the Fast Path?

Yes. The 6WINDGate features a Flow Inspection / Packet Capture Fast Path module that provides the Berkeley Packet Filtering functionality in the Fast Path, allowing to monitor Fast Path traffic from the Control Plane.

Which documents do you provide to develop a custom module in the 6WINDGate architecture?

The 6WINDGate documentation includes:

  • SADs (Software Architecture Documents) describing general functionalities and architecture of each 6WINDGate module,
  • SDDs (Software Design Documents) describing detailed implementation of each 6WINDGate module,
  • the 6WINDGate Developer's guide, describing the 6WINDGate development environment.

Our Customer Support and Services team can also help at different steps of your development (architecture design, performance optimization, code review...).

What is Virtual Fast Path?

The 6WINDGate Virtual Fast Path is a tool that makes it possible to run the Fast Path as a Linux userland application. This tool is available on x86 platforms. gcc and GNU tools can be used. For instance, the Fast Path can be interrupted and restarted as a regular process thanks to gdb. It greatly helps the first steps of development before the integration on the final hardware.

I'm using the Wind River Linux development environment. How does it work with 6WINDGate?

We provide the patches and scripts to integrate the 6WINDGate Linux networking stack on top of Wind River Linux, but we do not integrate the 6WINDGate Control Plane or Fast Path in the Wind River Linux development framework. This is left to our customers as part of the integration of their own applications.

How long does it take to validate 6WINDGate on my hardware platform?

6WINDGate is validated on reference hardware, including evaluation boards and off-the-shelf commercial platforms. 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.

How should I proceed to integrate my own Control Plane module with the 6WINDGate SDS stack?

As the 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 Slow Path 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.

Documentation

Which documents I should read first to understand the main concepts of your software architecture?

Our 6WINDGate Architecture Overview document is ideal for understanding the main concepts of our software architecture. It can be downloaded here.

Could you explain which documents you provide with your 6WINDGate software?

The 6WINDGate is provided with a complete documentation of more than 2000 pages that includes:

  • Reading Guide
  • Module Data Sheets
  • 6WINDGate Architecture Overview
  • SAD (Software Architecture Documents)
  • SDD (Software Design Documents)
  • Developer's guide
  • User's Guide for the CLI

6WIND – Packet processing software for multicore networking and telecom systems (Linux) - ©2010 6WIND. All Rights Reserved.