Why Netflow, What is it, and Why it’s Important to Security

Many of us have been working in technology so long that we’ve become jaded, and readily dismiss what appears as new, yet minor advancements. Back in the 1990s, we were focused on the emergence of the web server, web site creation, and the DOTCOM boom. We barely took notice when Cisco released a router utilizing a new technique called Netflow. It quickly flopped as a method of routing, and gave way to Express Forwarding, but as is often the case it didn’t die. The new IPFIX standard is essentially Netflow v10 since it followed Netflow v9. Regardless, why has a technology that failed so early on, gone through nine subsequent major version releases? Primarily because network administrators wanted to know how their infrastructure was being utilized. Netflow morphed into a network accounting mechanism. The real benefit though has come in the past five or so years as it has risen in importance as solutions to mitigate advanced persistent threats (APT) have become critical. Packet capture is fine, but the volume of data retained can be crushing, often all you need is the intelligence captured in a Netflow record. So what are Netflows and why are they important?

In simple terms, a Netflow is a record of a connection between two systems during a period of time. Essentially a path of collected digital foot prints showing every detail of the connection between two systems. Netflow records, in fact, are so trusted that they are admissible in court as evidence. So what is a Netflow record? While Netflow v9 or IPFIX, the formalized standard derived from it, is the latest these are both pretty complex to digest this early on so we’ll look at the most commonly used version Netflow v5. There are two parts to a Netflow v5 event, the flow header, and the flow record. The flow header contains mainly time stamp information specific to the record when the record was generated down to the nanosecond, as well as some basic info about what generated the record. The record is where the real data lives. It contains the source and destination IP addresses, next hop router address, SNMP interface data, number of packets in the flow, the total number of Layer 3 bytes in the flow, TCP/UDP source and destination ports, protocol type, service type, and a series of flags. Records are generated when a flow is finished, or periodically for persistent flows. Whatever is exporting the flow can be configured to generate records periodically for open flows. A flow is considered finished when a TCP session termination is received or if the flow exceeds a predetermined age since the last packet in the flow was received. So what can these flow records be used for?

Have you ever watched a crime drama, and seen the police pull the suspect’s vehicle E-ZPass toll records or onboard GPS history. They are looking at real world flow data to determine if the suspect could have been on the scene of the crime at the time it occurred. In the cyber world Netflow, data would be the equivalent. It will tell you when an attacker connected with your system, how they connected, and how much data they stole. It will not tell you what specifically they stole, but knowing the time, how it was taken, and how much was stolen is often enough of a clue to enable you to explore other system specific records or logs to determine exactly what was taken. Looking at patterns of Net flows in near-real time (remember when net flow records are created) is a new technique for catching attackers before they can make off with your enterprise’s crown jewels.

Netflow data can we used for a great many things from balancing loads across a cloud application or infrastructure to tracking cyber crime or cyber warfare in near-real time. So how might you use Netflow to look for a cyber attack? One method is to employ the dark space within your companies Internet and internal corporate address space to setup decoy systems. The decoys could be simple stand-alone RaspberryPi systems configured to run Apache, Nginx, Memcached, MySQL, etc… and loaded with useless dummy data. These systems should typically see NO traffic because they serve no purpose to your employees or customers. Mark my words though, once they exist they will soon be discovered and interrogated. By monitoring the Netflows into these systems you can then use that source data as the key to search all the flows into all your production systems and desktops. Also, you could pro-actively use the data from these systems to strengthen both your perimeter and endpoint defenses.

Another method would be to look for Netflow patterns within your enterprise that are indicative of a cyber attack. All of the common penetration testing tools can be profiled in such a way as to yield a unique pattern of Netflows that they generate into a system they are preparing to attack. Often these tools work like a common home burglar doing reconnaissance before a job.  If you can catch the burglar during his recon effort you can thwart his attack. Netflows provide you this data.

Cisco’s Approach to 25Gbps: Why It Matters

By John Ciarlone, Hummingbird Networks

Currently, there is something of a gap in network speeds.  More of a gulf, really.  For larger businesses looking to invest in high-speed networking, the major choices at the moment are either 10Gbps… or 100Gbps.  There is, obviously, a vast difference in price and implementation difficulty between these speeds, especially as 100Gbps is currently aimed only at the largest of enterprises and service-based providers.

So for larger enterprises whose needs were growing beyond what 10Gbps could offer, the options were limited.  Bundling services and hardware allows for speeds up to 40Gbps, but that involves significant redundancies and increased cabling requirements, reducing its cost-effectiveness.

However, a new collation has arisen, promoting 25Gbps chipsets, which can also be doubled to 50Gbps.  The 25 Gigabit Ethernet Consortium began in 2014 with Google, Microsoft, and Broadcom seeking new and better upgrade paths for their operations and their clients, and has quickly picked up steam.  With the new announcement that Cisco has joined in, along with Arista and Dell, 25Gbps seems to be a standard worth discussing.

25Gbps:  Your New Upgrade Path?
Cisco’s decision to join into the 25 Gigabit consortium signals that its time may have truly come, especially given Cisco’s new emphasis on software-defined networking (SDN) and SD-WAN.  25Gb speeds give virtualized software-based systems plenty of room to breathe, and the option to move up to 50Gb creates an obvious upgrade path from 10Gbps.

This is largely thanks to the new Broadcom Tomahawk chipset, which is designed specifically for SDN systems at 25, 50, or 100Gbpsspeeds.  It’s capable of up to 3.2Tbps in switching capacity, bringing 25Gbps speeds to every lane.  It can reduce cabling requirements by up to 75%, as compared to 40Gbps connections.

In fact, 100Gbps connections are simply four 25Gbps streams working in parallel, so splitting them into separate connections is an obvious choice.  This single chipset allows for a simple upgrade path up to current top-grade speeds, without burdening operations that don’t have a need for 100Gbps yet.

By embracing Tomahawk, Cisco and Dell are creating networking opportunities appropriate for a wide range of large-scale operations.

Coming Soon To Equipment Near You
Is it time to invest?  Well, not quite.  25G just began rolling out at the end of 2015, with only around 2,500 units sold in the last quarter of the year.  However, based on the widespread demand for networks in this speed range, analysts are estimating it could account for up to 10% of ports shipped worldwide by 2019.

Plus, of course, data demands are only going to grow in the years to come.  4K video is already here, and 8K isn’t far behind, with both consumers and businesses alike quickly adopting ultra high-resolution videos.   Likewise, demand in the consumer sector for video games with 4K+ graphics and robust multiplayer capabilities will be putting additional strain on service providers attempting to keep data flowing smoothly with minimum lag.
Even if there doesn’t seem to be much demand for 25Gbps now, that demand will undoubtedly be there soon enough.

In the meantime, if you’re one of those organizations on that borderline where 10Gbps is too slow, 40Gbps is too obfuscated, and100Gbps is simply too much, please consider contacting Hummingbird Networks.  We can discuss whether you’re ready to become one of the early adopters of this hot new standard.

40GbE Performance Tuning Suggestions

A customer recently requested some 40GbE performance tuning advice, and this is what we shared with them.

Solarflare provides some initial tuning advice in our “Solarflare Server Adapter User’s Guide” Section 3.24 “Performance Tuning on Linux”.  The User Guide can be downloaded from https://support.solarflare.com/ -> Downloads as part number SF-103837-CD. This is frankly the best place to start. 

The biggest gain for throughput will come from reducing the CPU load when transferring data and this done in two ways. The first is to reduce the number of packets being sent/received by increasing the size of the MTU for the interface. This does require all the network devices to be configured so as to support this larger size, it will automatically negotiate down if necessary. You can set the larger size using the following command, where is the interface name:

# ifconfig mtu 9000

We support up to 9216 with our adapters but the 9000 value is the most commonly used by network equipment.
The second improvement can be done by increasing the number of packets processed each time the system processor is interrupted. This is done using ‘ethtool’ to increase the interrupt moderation time and will increase latency but reduce CPU utilization. You can do this with the following command:

# ethtool -C rx-usecs 100

The default value is 60 (or 56 on more recent firmware versions) and values up to 200 may be used. The benefits from going beyond this value experience diminishing returns.
With this second method, we also recommend disabling interrupt moderation where the kernel will tune the value used to somewhere between 1 and the value specified. In theory, this can be useful if you are doing a mixture of large and some small, latency sensitive transfers but the algorithm isn’t great and can get stuck at either end of the range. To disable this, you can use the following command:

# ethtool -C adaptive-rx off

This can be combined with the previous ‘ethtool’ command into a single one if desired:

                # ethtool -C <if_name adaptive-rx off rx-usecs 100

These two changes should give increased throughput, most probably limited by the CPU processing capability of the incoming packets. It should be noted that if you use multiple streams for TCP or different hosts for UDP/TCP you can get better performance because the processing will be done by more cores.
— Richard Drinkwater, Solarflare

Digital Ocean Moves to 40GbE

This week Digital Ocean announced SolarFlare as its worldwide technology partner for upgrading their data center servers from 10G to 40G Ethernet. So who is Digital Ocean? According to Netcraft, the leader in Internet Analytics, Digital Ocean is the world’s second largest hosting provider. Digital Ocean offers their customers a KVM based on-demand cloud infrastructure for hosting their site and applications. So what?

In the words of Ben Uretsky, CEO of Digital Ocean, “We are committed to providing software developers with a fast, secure, and reliable cloud environment to design their applications.” So when asked why Digital Ocean selected Solarflare’s 7042 series of 10/40GbE adapters Ben responded: “Solarflare’s technology roadmap and the company’s dedication to network performance and security made them an ideal strategic partner to meet the demands of our explosive growth.”

Well there you go, if Solarflare is good enough for Digital Ocean’s many thousands of servers worldwide, why not give them a try in your data center. Drop me a note using the Contact Scott block on the right, and I’d be thrilled to see if we can work out a no charge try & buy.

99.99999% Available + 2.7us = 1 Awesome Computer

What do you get when you put together a pair of dual socket servers running in hardware lock-step with a pair of leading edge, ultra-low latency OS Bypass network adapters all running RedHat Enterprise Linux? One awesome 24 core system that boasts 99.99999% uptime, zero jitter, 2.7 micro seconds of 1/2 round trip UDP latency, and 2.9 microseconds for TCP.

How is this possible? First, we’ll cover what Stratus Technologies has done with Lock-Step, and how it makes the ftServer dramatically different than all others. Then we’ll explain what jitter is, and why removing it is so critical for deterministic systems like financial trading. Finally, we’ll cover these impressive Solarflare ultra-low latency numbers, and what they really mean.

We’ve all bought something with a credit card, flown through Chicago O’hare, used public utilities, and possibly even called 9-1-1. What you don’t know is that very often at the heart of each of these systems is a Stratus server. Stratus should adopt the old Timex slogan “It takes a licking and keeps on ticking” because that’s what it means to provide 99.99999% up time, you’re allowed three seconds a year for unplanned outages. Three seconds is how long it takes me to say “99.99999% up time.” How is this possible? Imagine running a three legged race with a friend. Ideally, if you each compared your actions continuously with every step you could run the race at the pace of the slowest of the two of you. This is the key concept behind Lock-Step, comparing, then knowing what to do as one starts to stumble to ensure the team continues moving forward no matter what happens. Stratus leverages the latest 12-core Intel Haswell E5-2670v3 server processors with support for up to 512GB of DDR4. If any hardware component in the server fails, the system as a whole continues moving forward, alerts an admin who then replaces the failed component, then that subsystem is brought back online. I challenge you to find another computer in your life that has ever offered that level of availability over the typical 5-7 year lifecycle that Stratus servers often see.

So what is Jitter? When a computer core becomes distracted from doing its primary task to go off and do some routine house keeping (operating system or hardware driven), the impact of that temporary distraction is known as Jitter. With normal computing tasks, Jitter is hardly noticeable, it’s the computer equivalent of background noise. With certain VERY time critical computing tasks though, like say financial trading, even one Jitter event could be devastating. Suppose your server’s primary function is financial trading, and it receives a signal from market A that someone wants to buy IBM at $100, and on market B it sees a second signal that another entity wishes to sell IBM at $99. So the trading algorithm on your server buys the stock on B for $99, but then the instant it has confirmation of your purchase a thermal sensor in your server generates an interrupt. The CPU then that is running your trading algorithm goes off to service that interrupt which results in it running some code to determine which fan to turn on. Eventually, say a millisecond or so later, control is returned to your trading algorithm, but by then the buyer on market A is gone, and the new price of IBM has fallen to $99. That’s the impact of Jitter, brief often totally random moments in the trading day stolen to do basic house keeping. These stolen moments can quickly add up for traders, and for exchanges, they can be devastating. Imagine a delayed order as a result of Jitter missing an opportunity! Stratus Technologies has crawled through their server architecture and eliminated all potential sources of Jitter. Traders & exchanges using other platforms have to do all this by hand, and this is still as much art as it is science. That’s one reason why over 1,400 different customers regularly depend on Solarflare.

Finally, there’s ultra-low latency networking via generic TCP/IP and UDP networking. In the diagram below network latency is in blue. Market data arrives via UDP and orders are placed through the more reliable TCP/IP protocol. Here is a quick anatomy of part of the trading process showing one UDP receive and one TCP send. There are other components, but this is a distilled example.

Initially, the packet is received in from the wire, the light blue block, and the packet passes through the physical interface, electrical networking signals are converted to layer-2 logical bits. From there the packet is passed to the on-chip layer-2 switch which steers the packet to one of 2,048 virtualized NICs (vNIC) instances, also on the chip. The VNIC then uses DMA to transfer the packet into system memory, all of which takes 500 nanoseconds. The packet has now left the network adapter and is on its way to a communications stack somewhere in system memory, the dark blue box. Here is where Solarflare shines. In the top timeline, the dark blue box represents their host kernel device driver and the Linux communications stack. Solarflare’s kernel device driver is arguably one of the fastest in the industry, but most of this dark blue box is time spent working with the kernel. There are CPU task switches, and several memory copies of the packet, as it moves through the system, and thousands of CPU instructions are executed, all told this can be nearly 3,000 nanoseconds. In the bottom timeline, the packet is DMA’d directly into user-space where Solarflare’s very tight user space stack sits. This is where the packet is quickly processed and handed off to the end user application via the traditional sockets interface. All without additional data copies, and CPU task switches, and completed in just under 1,000 nano seconds a savings of about 2,000 nanoseconds or roughly 4,600 CPU instructions for this processor at this speed. All this, and we’ve just received a packet into our application, represented by the green blocks.
So in the two bars above the first represents market data coming in via Solarflare’s generic kernel device driver than going through the normal Linux stack until the packet is handed off to the application. The response packet, in this case, a trade via TCP, is sent back through the stack to the network adapter and eventually put on the wire, all told just over 9,000 nanoseconds. With Stratus & Solarflare the second bar shows the latency of the same transaction, but traveling through Solarflare’s OS Bypass stack in both directions, the difference here is that the transaction hits the exchange over 4,000 nanoseconds sooner. This means you can trade at nearly twice the speed, a true competitive advantage. Now four millionths of a second aren’t something humans can easily grasp, so let’s jump to light speed, this is how long it takes a photon of light to cover nearly a mile.
So if you’re looking to build a financial trading system with ultra-high availability, zero jitter & extreme network performance, you have only one choice Stratus’s new ftServer.

5 Reasons Infiniband Will Lose Relevance After 100G

Proprietary technologies briefly lead the market because they introduce disruptive features not found in the available standard offerings. Soon after, those features are merged into the standard. We’ve seen this many times in the interconnects used in High-Performance Computing (HPC). From 2001 through 2004 Myrinet adoption grew as rapidly in the Top500 as Ethernet, and if you were building a cluster at that time you likely used one or the other. Myrinet provided significantly lower latency, a higher performance switching fabric, and double the effective bandwidth, but it came with a larger price tag. In the below graph Myrinet made up nearly all of the declining gray line through 2010, by

which time the Top500 was split between Infiniband and Ethernet. Today Myrinet is gone, Infiniband is on top just edging out Ethernet, but its time in the sun has begun to fade as it faces challenges in five distinct areas.

1. Competition, in 2016 and beyond Infiniband EDR customers will have several attractive options: 25GbE, 50GbE and by 2017 100GbE along with Intel’s Omni-Path. For the past several generations Infiniband has raced so far ahead of Ethernet that it left little choice. Recently though within HPC 10GbE adoption has been growing rapidly, and is responsible for much of Ethernet’s growth in the past six months. During the same time, 40GbE has seen little penetration, it’s often viewed as too expensive. In 2016 we will see an IEEE approved 25GbE and 50GbE standard emerges, along with new & affordable cabling/optics options. It should be noted that a single 50GbE link aligns very well with the most common host server bus connection PCIe Gen3 x8 which delivers roughly 52Gbps/unidirectionally. For 100GbE we’ll need PCIe Gen4 x8. While 100Gbps could be done today with PCIe Gen3 x16 often HPC system architects leave this slot open for I/O hungry GPU cards. The second front Infiniband will be facing is Intel’s Omni-Path technology which will also offer a 100Gbps solution, but it will be directly off the host CPU complex designed to be a routable extensible interconnect fabric. Intel made a huge splash at SC15 with Omni-Path & switching which is a fusion of intellectual property Intel picked up from Cray, Qlogic, and several other Infiniband acquisitions. Some view 2017 as the year when both 100GbE and Omni-Path will begin to chip away at Infiniband’s performance revenue while 25/50GbE erodes the value focused HPC and Exascale customers Infiniband has been enjoying.

2. Bandwidth, if you’ve wanted something greater that 10GbE over a single link, you’ve pretty much had little choice up to this point. While 40GbE exists many view this as an expensive alternative. Recent pushes by two groups to flesh out 25GbE and 50GbE ahead of the IEEE have resulted in this standards group stepping up its’ efforts.  All of this has accelerated the industries approach toward a unified 100GbE server solution for 2017. Add to this Arista and others pushing Intel to provide CLR4 as an affordable 4-channel 25G, 100G optical transceiver, and things get even more interesting.

3. Latency, has always been a strong reason for selecting Infiniband. Much of its gains are the result of moving the communications stack into user space and accelerating the wire to PCIe bus connection.  These tricks are not unique to Infiniband, others have played them all for Ethernet delivering performance ethernet controllers and OS bypass stacks which now offers similar latencies when compared at similar speeds. This is why nearly all securities worldwide are traded through systems using Solarflare adapters leveraging their OS Bypass stack called OpenOnload while using standard UDP, and TCP protocols. The domain of low latency is no longer exclusive to RDMA as it can now be more easily, and transparently done using existing code, and via UDP and TCP transport layers over industry standard ethernet.

4. Single vendor, if you want Infiniband there really is only one vendor who offers a single end-to-end solution. End-to-end solution providers are great because they expose the single throat to choke when things eventually don’t work it. Conversely, many customers will avoid adopting technologies where there is only one single provider because it removes competition and choice from the equation. Also when that vendor stumbles, and they always do, with a single vendor you’re stuck. Ethernet, the open industry standard, affords you options while also providing you with interoperability.

5. Return to a Single Network, ever since Fiber Channel intruded into the data center nearly two decades ago network engineers have been looking ways to remove it. Then along came exascale, HPC by another name, and Infiniband was also pulled into the data center. Some will say Infiniband can do all three, but clearly, those people have never dealt with bridging real world Ethernet traffic with Infiniband traffic. At 100Gbps Ethernet should have what it needs in both features, and performance, to provide a pipeline for all three protocols over a single generic network fabric.

Given all the above it should be interesting to revisit this post in 2018 to see how the market reacted. For some perspective, in this blog back in December 2012, I wrote: “How Ethernet Won the West” where I predicted that both Fiber Channel and Infiniband would eventually disappear. Fiber Channel as a result of Fiber Channel over Ethernet (FCoE), which never really took off, and Infiniband because everyone else was abandoning it including Jim Cramer. Turns out while I’ve yet to be right about either, Cramer nailed it.  Since January 2013, adjusting for splits and dividends, Mellanox stock has dropped 14%.

Next Generation Network (NGN) Forensics

In two weeks I’ll be hosting two events: one near the NSA at the Courtyard Fort Meade on the 27th, and the second a few miles from the CIA at the Hilton Mclean Tyson Corner. Both will start at 4 PM, have a considerably strong Network Forensics agenda, and then wrap up by 7 PM. Both events are identical, they’re free to attend, and we’ll be providing beer, wine & soda along with appetizers.

Below is the current agenda, but it’s still somewhat fluid at this point as it’s the first NGN we’re doing that is focused on Network Forensics, and is setup for the Intelligence Community. The dozen or so prior NGNs, and another later that week have been centered on the Financial Trading market where our leadership in low latency is well known. Here is the current agenda:

  • 3:30 – 4:00  Registration, drinks and snacks
  • 4:00 – 4:05  Welcome & Introductions – Paul Bravo, Solarflare VP US/OEM Sales
  • 4:05 – 4:35  Keynote Speaker – David Riddoch, Founder, Solarflare
  • 4:35 – 4:50  Dell – Cameron Chehreh, CTO Federal
  • 4:50 – 5:35  Panel: Deep Packet Inspection (Snort, Suricata & Bro)
  • 5:35 – 5:45  Reservoir Labs – Alison Ryan, VP Business Development
  • 5:45 – 6:15  Advances in Capture – Ron Miller, Director Technical Marketing, Solarflare
  • 6:15 – 6:45  Open Q&A of all speakers
  • 6:45 – 7:30  Reception & Demonstrations

I’ll moderate the panel on Deep Packet Inspection which will include:  Eileen Donnelly, US Government, Erik Mogus Director Sales Engineering for Reservoir Labs, and someone to be named shortly. The purpose of the panel is to compare and contrast the different approaches to packet inspection so someone familiar with one can see different perspectives on the other two.  The audience will also be encouraged to ask questions of the panelists.

To sign up for either event please use one of the links below:

Tuesday, October 27th l Time: 3:30-7:30 PM
Courtyard Marriott Fort Meade, 2700 Hercules Rd, Annapolis Junction, MD

Click to attend
Wednesday, October 28th l Time: 3:30-7:30 PM
Hilton McLean Tysons Corner, 7920 Jones Branch Drive, McLean, VA
Click to attend

 

Stock Trading in 300ns: Low Latency Redefined

Henry Ford is quoted as having once said “If I had asked people what they wanted, they would have said faster horses.” Not all innovations are as ground breaking as the automobile, but when one approaches an old problem with both a new strategy and improved technology great things can happen. In June Solarflare released an update to OpenOnload (OOL) that introduced TCP Delegated Send, and in late September they will begin shipping the latest version of their Application Onload Engine (AOE) with an advanced FPGA. The combination of these two will result in the capability of turning around a TCP Send in 300ns, compared to roughly 1,700ns today. In latency focused applications a savings of 1,400ns, an 82% improvement, is game changing. To understand how Solarflare pulls this off let’s look at a much simpler example.

My son uses an online exchange to trade Magic cards, and traders are rated on how fast they fill orders. Not much different than NASDAQ processing an order for Apple stock. When my son started he would receive an order on his computer, and search through a heap of cards to find the one necessary to fill that order. He would then go down several flights of stairs to my office to fetch an envelope, and stamp then goes back up to his computer. Next, he would address the envelope, apply the stamp, run back down the stairs and walk the completed trade to the mailbox. Today he has a cache of pre-stamped envelopes with the return addresses pre-written out sitting beside his computer. All his cards are in a binder with an updated index. Filling a trade is a trivial matter. He simply checks the index, pulls the required card from the binder, updates the index, stuffs the card in an envelope, writes the final address on the front, and runs it out to the mailbox. Essentially, this is a Delegated Send. Everything that can be preprocessed in advance of the actual trade is prefetched & prepackaged.

When it comes to TCP and Delegated Send, at the start of the trading day the trading application, through OOL, establishes a TCP connection with the exchange. The trading application then calls a routine in OOL to take over control of the socket’s send path, and to obtain the Ethernet, IP and TCP headers for the connection.  The application adds to these a message template and passes the resulting packet template to the FPGA where it remains cached, much like my son’s stack of pre-stamped envelopes. In response to incoming packets arriving at the FPGA causing the RTL trading code to trigger a trade, the trade is then inserted into the pre-formatted packet, the checksum computed, and packet transferred to the exchange. The whole process takes approximately 300ns. When the ACK arrives from the exchange it is then passed transparently back to the trading application through OOL. Now some will point out that other FPGA solutions exist today that enables you to possibly trade at these speeds, but do any of these solutions make it this simple? With some minor modifications to your existing trading application you can quickly take advantage of Delegated Send with the AOE, no other FPGA solution even comes close!

So if latency in trading is important to you, and you’d like your orders moving along 1,000ns faster then perhaps it’s time to take a serious look at Delegated Send on Solarflare’s AOE. To learn more please consider checking out this whitepaper.

For those already familiar with Solarflare’s AOE, this new version of the product has several very substantial improvements:

  • It leverages the latest Solarflare high-performance ASIC with a PCIe Gen3 interface.
  • Flexible, open choice of FPGA PCS/MAC.
  • All FDK modules, and examples delivered with full source code.
  • Sample implementations of 10GbE & 40GbE pass-through (requires PCS/MAC).
  • Sample implementations of all four 1600MHz DDR3 AOE memory channels.
For additional information please send me an email.

Cookbook: Installing & Updating SolarCapture on CentOS

By: Justin Borland, Equifax

Below is a document describing how to update/install Solarflare’s SolarCapture drivers on the SolarFlare 71xx NICs for a CentOS system. Note this document was user created and has not yet been reviewed by Solarflare’s Technical Support.

Requirements:

First, acquire the following software from Solarflare support:

Implementation steps:
SolarFlare SDK install:

# unzip solar_capture_sdk-.zip
# rpm –Uvh sfutils-*.rpm

OpenOnload build:

# tar –xf openonload-.tgz
# cd openonload-
# onload_uninstall && ./scripts/onload_install

Note that if any capture processes are already running (i.e. Moloch, Bro, Snort or Suricata) kill them before reloading, and keep them off until the end of this install.

# onload_tool reload
# cd ..

SolarCapture Core installation:

# rpm –Uvh solar_capture-core-.rpm

SolarCapture Python install:

# yum install rpm-build
# rpmbuild –rebuild solar_capture-python-.src.rpm
# rpm –Uvh /root/rpmbuild/RPMS/x86_64/solar_capture-python-.rpm

SolarCapture Pro installation:

# rpm –Uvh  –replacepkgs solar_capture-live-.rpm solar_capture-pro-.rpm

Update the NIC firmware

# sfupdate –write

Note that you should answer ‘Y’ for each NIC.

Restart capture services

# /wherever/your/capture/script/lives_start.sh


Verify Install:

Check installed packages

# rpm –qa | grep capture

You should now see this:

solar_capture-core-1.3.1.11-0.x86_64
solar_capture-pro-1.3.1.11-0.x86_64
solar_capture-python-1.3.1.11-0.x86_64
solar_capture-live-1.3.1.11-0.x86_64

Check NIC licensing

# sfkey

Which should then look like this:

2-interface adapter: eth4, eth6
Product name:        Solarflare SFN7122F SFP+ Flareon Ultra Server Adapter
Part number:         SFN7122F
Serial number:       712200210071141137100559
MAC addresses:       00-0F-53-xx-xx-xx, 00-0F-53-xx-xx-xx
Installed keys:      Onload
Active keys:         Onload
Blacklisted keys:    0
Invalid keys:        0
Unverifiable keys:   0
Inapplicable keys:   0

One final note, Solarflare Support has not yet validated the above steps so please use at your own risk.

Why 10G?

Today servers are typically installed with more than 16 logical CPUs, and yet many still leverage the same Gigabit Ethernet interface for production which was common when we had single core CPUs. There are three simple reasons you should consider 10GbE in your next server deployment: price, performance, and security.

Price is the easiest attribute to grasp. Dual port 10GbE adapters start at $395, and often because of the advanced silicon they deliver more than 10X the throughput of GbE. In fact, in some operational modes that we’ll talk about below 10GbE adapters with additional software can actually reduce host CPU load 70% by simply off-loading production networking traffic from having to traverse the Linux kernel.

Last October in the “Four Reasons Why 10GbE NIC Design Matters” we talked about Ethernet controller advances like vNICs, MSI-X,  RSS, and virtualization support. Two additional articles cover some very simple methods for extracting the best possible performance from your 10GbE NICs and they are: “Network Performance Tuning for Bandwidth on Linux” and “How to achieve low latency with 10Gbps Ethernet.” When it comes to improving performance specific to applications like Nginx and Memcached we’ve found that OS Bypass can often yield anywhere from a 130-300% performance gain. The links attached to these two applications above will take you to articles covering this in more detail.  Back in March, we discussed “10G/40G NIC Partitioning Using SR-IOV or PF-IOV Modes” to explain how today’s sophisticated Ethernet controller silicon allows you to leverage 1,024 vNICs per physical 10GbE port. Finally, in “Density Comes to 10GbE” we reviewed the latest entry into the quad-port 10GbE adapter market Solarflare’s SFN7004F which sells for $645.

The third and last point is security. Only one 10GbE company “Enables Servers to Defend Against a DDoS Attack.” Solarflare adapters support a low-level kernel device driver called SolarSecure Filter Engine which can fend off a Distributed Denial of Service attack, rate limit traffic by IP address, and leverage both white & black list filtering (by address, and port) to protect the server.  In the near future Solarflare will also deliver a Docker container that will dynamically detect attacks on a server, and in real time create new filter rules and load them into the kernel device driver. Early next year those rules will be loaded directly into the server adapter itself.

To learn more please send us a brief email.