OVS Orbit

In-band Network Telemetry, with Chang Kim from Barefoot Networks

11.16.2017 - By Ben PfaffPlay

Download our free app to listen on your phone

Download on the App StoreGet it on Google Play

Chang Kim is an engineer at Barefoot Networks, where he has

been intimately involved in the design of the P4 domain-specific language for controlling a

network data plane.

Whereas the control and management planes in a network system are

general-purpose software implemented on CPUs, the data plane in a

high-speed network is typically implemented in an ASIC dedicated to

packet forwarding. State-of-the-art switching ASICs can handle multiple

Tbps (and Gpps). Until recently, these ASICs were designed as

fixed-function devices: they implemented the specific protocols they

supported in a hardware description language such as Verilog. Now,

trends in hardware design have converged to make it possible to build

much more general-purpose networking ASICs. When this happens, some

language is needed for programming the ASICs. P4 is the leading

candidate for a cross-platform language for this purpose.

This episode focuses not on P4 itself but on In-Band Network Telemetry

(INT), one application of P4. INT is, according to Chang, a

“low-hanging fruit” application of programmable network data planes,

which can be conveniently implemented in P4. INT embeds information

about the conditions experienced by a particular packet traveling through

the network into the packets themselves. As a packet travels through the

network, each intermediate switch collects relevant information, such as

queuing information, arrival or departure timestamps, etc. and adds it to

the packet. When the packet leaves the network at a sink switch, it

takes the accumulated information and, optionally, passes it along to a

collector. (Most applications will not pass every packet's information

to a switch because that effectively doubles the amount of traffic in the

network.)

INT can offer real-time network monitoring information to administrators.

Its reports can also be archived to set a baseline or for long-term

storage.

INT metadata can be integrated into a packet in a variety of ways. The

per-packet metadata is typically 16 to 20 bytes per hop, which is a

significant amount of data that cannot easily be fit into existing

fixed-size fields such as DSCP or PCP. Geneve or NSH options are two

reasonable places, and the metadata can also be inserted in nonstandard

places (such as just after an L4 header) as long as the sink switch is

configured to strip them before passing them along to an end host.

To encourage industry-wide implementation of interoperable versions of

INT, Barefoot has made available a specification,

which includes a working implementation in P4, and released it to the P4

consortium. The specification will continue to be developed and

maintained by the new

P4 Applications Working Group. IETF also has a new In-Situ OAM (ioam)

working group with related goals.

To get involved with P4, including the new P4 Applications Working Group,

please visit p4.org.

For more OVS Orbit discussion of P4, please see Episode

11: P4 on the Edge and Episode 9: Adding P4 to OVS with

PISCES.

OVS Orbit is produced by Ben Pfaff. The

intro music in this episode is Drive,

featuring cdk and DarrylJ, copyright 2013, 2016 by Alex. The bumper

music is Yeah Ant

featuring Wired Ant and Javolenus, copyright 2013 by Speck. The outro

music is Space

Bazooka featuring Doxen Zsigmond, copyright 2013 by Kirkoid. All

content is licensed under a Creative Commons Attribution 3.0

Unported (CC BY 3.0) license.

More episodes from OVS Orbit