Can We Make x86 Networking Infrastructure Carrier Grade?

Posted by Scott Sumner on Wednesday, August 12, 2015 with No comments
COTS hardware running virtual routers still (and always will), have a ways to go to keep up with dedicated appliances. Their value can still be realized with a new breed of miniaturized NFVI running at wirespeed.

SDN frameworks are based on programmable data plane elements (white boxes), combined with centralized, software defined control. NFV is founded on shifting network functions from bespoke appliances to commercial-off-the-shelf (COTS) hardware.

x86-based White boxes and NFVI have failed to meet full-line rate, latency-sensitive traffic processing requirements, and always will: network elements and monitoring methods need some functions to be an order of magnitude faster than the traffic they manage - and using x86 networking to carry traffic generated by x86 data centers and clients cannot be realized cost-efficiently. When both traffic and network processing capacity follow Moore’s law, latency-sensitive, high-capacity networking functions will always fall short.

Efforts to address this dilemma -- as showcased in POCs at leading conferences and in industry forums -- violate the principles of NFV and SDN by inserting hardware acceleration at the data plane in the form of specialized network interface cards (NICs), ‘grey box’ top-of-rack switches, and other techniques that not only promote vendor lock-in, but also freeze scalability by preventing scale-up/out. However undesirable these methods are, virtual network functions cannot meet required performance without precise packet scheduling, time stamping and sequencing, and the ability to control traffic bursts at a per-packet level.
White-Box SFPs?
Service providers facing this reality have turned to the idea of developing a new layer of ultra-high speed, programmable ‘whitebox SFPs’ that can be inserted anywhere full line-rate traffic processing, capture or monitoring is required, to allow them to preserve pure COTS NFVI architectures, but bring them up to 'carrier-grade' performance without relying on hardware accelerators.
Programmable SFPs are an order of magnitude faster than x86 processors - and can make COTS carrier-grade platforms when used to add "smarts" to SFPs.

Whitebox SFPs are based on programmable field-programmable gate array (FPGA) processors that can be compiled to perform as fast as purpose-built ASICs to meet demanding packet handling requirements, but can be reprogrammed on the fly to support numerous wirespeed VNFs.
Leading operators have expressed interest in deploying smart SFPs that meet open specifications for precise performance monitoring, traffic conditioning, remote packet capture, remotely activate turn-up testing, and other functions that are incompatible with x86 virtualization, or would be cost or space-prohibitive to realize with those methods. The technique is hot enough that it's made its way into AT&T's Domain 2.0 project, with smart GPON SFPs as a target to integrate network-layer functions as part of a virtualization initiative.
Other applications that can be realized using this whitebox SFP method include synchronization delivery and monitoring for HetNets, lawful intercept, intrusion detection, policy enforcement, QoE prioritization, location-based services, and more. Whitebox SFPs are also an enabler for x86 white box and COTS-hosted NFV - providing an open, programmable hardware assist platform that meets the objectives of SDN and virtualization, without vendor-specific constraints.
An example would be insertion of a smart SFP into a top of rack switch, or mobile edge compute NFVI instance -- instead of using specialzied NICs -- to achieve true, yet programmable and scalable equivalence to dedicated, physical appliances, yet at a fraction of the cost.

By early 2016 we should see some increase traction on this approach, as concepts are likely to be introduced into the standardization process, and should be fertile grounds for discussion.
* Referenece: Packet Processing at no loss rate (NLR); Cisco 7200VXR NPE-G2 vs. Vyatta 5600, StackExchange