BittWare-logo
  • Products
    • FPGA Accelerator Cards & Modules
    • TeraBox FPGA Servers
    • Customized Solutions
  • Solutions
    • Browse All Solutions
    • Siama PROVA-C 100G Testing
  • Applications
    • Compute
    • Network
    • Storage
    • Sensor Processing
  • Resources
    • Webinars
    • Articles and White Papers
    • Videos
    • Sample Applications
  • Tools & IP
    • Development Tools
    • OpenCL
    • IP Cores
    • High-Speed Capture/Recorder​
  • Support
  • About
    • Contact BittWare
    • About BittWare
    • News and Events
    • Quality Management
    • Sales Channels
    • Careers
  • 中文 (繁體)
    • English
    • 日本語
    • 中文 (简体)
    • 한국어
    • Español
  • FPGA Accelerator Cards & Modules
  • TeraBox FPGA Servers
  • Customized Solutions
  • Applications
    • Compute
    • Network
    • Storage
    • Sensor Processing
  • Resources
    • Publications/Videos/Apps
    • Webinars
    • High-Speed Capture/Recorder​
  • Tools & IP
    • Development Tools
    • OpenCL
    • IP Cores
  • About
    • About BittWare
    • News and Events
    • Quality Management
    • Sales Channels
    • Careers
  • Support
  • Contact
  •  中文 (繁體)
    •  English
    •  日本語
    •  中文 (简体)
    •  한국어
    •  Español

Introduction to BittWare's StreamSurge 100G Networking Example

Introduction

BittWare offers StreamSurge, a 100G network load testing application for BittWare’s XUP-P3R accelerator card. StreamSurge is offered for free as a pre-compiled bitstream to XUP-P3R owners, turning the card into a simple network test solution for only the cost of the hardware. Click here to get the App Note for StreamSurge.

Why FPGAs for Network Test?

Software solutions already exist for network protocol testing at any bandwidth and for load testing up to 10 GbE. But at 25G and higher even the latest multi-core Intel Xeon CPUs can’t keep up—you needed dedicated network acceleration hardware.

With GPUs not a fit for packet processing, the choice narrows down to NIC ASIC or FPGA solutions. The advantage of ASIC-based appliances is they offer 25-100 Gbps with many features for extensive testing. However, dedicated 100G appliances are quite expensive—they can be many times the cost of a single FPGA card.

In addition, an FPGA-based solution can be designed with just the functions that are required for the user’s needs at a much lower cost.

BittWare’s Motivation for Building StreamSurge

At BittWare, we have two distinct use cases internally for 100G network load testing:

  • Overnight, continuous integration test runs for product development
  • Manufacturing test on the factory floor

Both of these cases require multiple 100G testers running simultaneously. While ASIC testers exist for these tests, we would need to buy several at a very high cost per unit (five times or more the price of a XUP-P3R card).

Our solution was to narrow down the features needed for our testing and, using SmartNIC Shell as a starting point, we built StreamSurge.

How it Works

Because we began with SmartNIC Shell, we already had in place the gaskets and other “plumbing” in order to manipulate packets in the FPGA. In addition, we used the DPDK data mover to interface with host applications. This saved us significant time and let our team focus on what was unique in this SmartNIC application: network load testing.

For testing we needed to either create a packet generator inside the FPGA or provide a means to play back or stream packets using the FPGA but with packets from another source. We chose this second path, but enabled both playback or streaming. For playback, the user first captures packets to a PCAP file from a software or ASIC source. StreamSurge then can play back the PCAP file at line rate from a buffer.

For streaming, we utilize the industry standard DPDK host interface. This makes the XUP-P3R appear as a regular NIC card to packet generator software, with timestamps on both transmit and receive. On the XUP-P3R there’s a large DRAM buffer with these features:

  • Adds ability to pause transmit while the transmit buffer fills up
  • Adds ability to loop the transmit buffer for infinitely long load tests
  • Adds ability to change interframe gap (IFG) on transmit
  • Adds the ability to apply transmit timestamps to the packet payload to enable latency and jitter measurements

To interface with StreamSurge we have created the “streamcli” DPDK application. This command-line tool controls all the hardware functions described above. In addition, it can receive packets into PCAP files, transmit PCAP files, and can fill the packet buffer with patterns based upon IETF RFC 2544 and ITU-T Y.1564 test mythologies

We have a video showing StreamSurge in action with two XUP-P3R cards, synchronized to GPS atomic clocks and set to measure latency of equipment between the cards.

Conclusion

For network packet processing, BittWare’s FPGA solutions can help where CPUs are limited in performance and ASIC-based solutions either aren’t available, are not feasible or are too expensive for the desired application. In this case ASIC-based appliances exist with enough features, but the equipment cost limits what can be done for continuous integration test or manufacturing testing.

Instead the BittWare XUP-P3R card provides a suitable solution for network test at 100 Gb/s. For card owners, StreamSurge is free as a bitstream (compatible with a limited subset of chip/card configurations) on the BittWare Developer website.

We have more details on StreamSurge available as a free App Note download; get it today through the form below!

Get the App Note


Instant PDF Download

What you see on this page is the introduction for this App Note. There’s a lot more detail in the full App Note, and best of all it’s FREE to download! Fill in the form and you’ll get immediate access to a PDF version of the full App Note.

  • This field is for validation purposes and should be left unchanged.

Where to next?

RTL to HLS White Paper

Comparing FPGA RTL to HLS C/C++ using a Networking Example

XUP-P3R

Learn about the FPGA board we used.

Back to Resources

Browse more of our learning resources.

Computational Storage: Bringing Acceleration Closer to Data

Available NOW On Demand!

Watch the recording (including Q&A) to learn about FPGA acceleration for NVMe storage; case studies and a new product announcement!

Watch now!

Computational Storage: Bringing Acceleration Closer to Data

Available NOW On Demand!

Watch the recording (including Q&A) to learn about FPGA acceleration for NVMe storage; case studies and a new product announcement!

Watch now!

Products

  • FPGA Cards/Modules
  • TeraBox FPGA Servers
  • Customized Solutions

Applications

  • Compute
  • Network
  • Storage
  • Sensor Processing

Resources

  • Publications/Videos/Apps
  • Webinars
  • High-Speed Capture/Recorder

Tools & IP

  • Development Tools
  • OpenCL
  • IP Cores

About

  • About BittWare
  • News and Events
  • Quality Management
  • Sales Channels
  • Careers

Support

Contact

Follow Us

  • LinkedIn
  • Twitter
  • YouTube
  • Facebook
© Copyright 2021 Privacy Policy | Code of Conduct Cookie Settings
45 South Main Street, Concord, NH 03301 603-406-6200 • Contact