Diego Pino

Free software developer. Joined Igalia in 2007. Co-owner.
Shenzhen (China)
I like building tools and contributing to projects that help improve people’s lives.
During my career at Igalia, I have had the opportunity to work in several areas of knowledge: web development, browsers, compilers and networking. Nowadays, I spent most of my time hacking on WebKit, which I have been contributing to since 2013.
In my free time I enjoy reading, cooking and traveling.
POSTS
Renderization of Conic gradients
The CSS Images Module Level 4 introduced a new type of gradient: conic-gradient. Until then, there were only two other type of gradients available on
Continue reading >
The eXpress Data Path
In the previous article I briefly introduced XDP (eXpress Data Path) and eBPF, the multipurpose in-kernel virtual machine. On the XDP side, I focused
Continue reading >
A brief introduction to XDP and eBPF
In a previous post I explained how to build a kernel with XDP (eXpress Data Path) support. Having that feature enabled is mandatory in order to use it
Continue reading >
How to build a kernel with XDP support
Update (2019/01/10): This post explains how to build a kernel with AF_XDP support (rather than XDP support). XDP support in the kernel is made availab
Continue reading >
YANG alarms
Alarm management is a fundamental part of network monitoring. The motivation for defining a standard alarm interface for network devices isn’t new. In
Continue reading >
Fast checksum computation
An Internet packet generally includes two checksums: a TCP/UDP checksum and an IP checksum. In both cases, the checksum value is calculated using the
Continue reading >
The B4 network function
Some time ago I started a series of blog posts about IPv6 and network namespaces. The purpose of those posts was preparing the ground for covering a n
Continue reading >
More practical Snabb
Some time ago, in a Hacker News thread an user proposed the following use case for Snabb:
I have a ChromeCast on my home network, but I want sandb
Continue reading >
Practical Snabb
In a previous article I introduced Snabb, a toolkit for developing network functions. In this article I want to dive into some practical examples on h
Continue reading >