The eXpress Data Path

In this article I review the eXpress Data Path, the new kernel component for fast packet processing

A brief introduction to XDP and eBPF

Continuing with the XDP series, in this post I briefly introduce this new technology. Then I focus on BPF and eBPF, which are fundamental to understand XDP

How to build a kernel with XDP support

XDP is a new Linux kernel component for fast packet processing. In this post I explain how to build a kernel with XDP support

YANG alarms

In this post I discuss the design an implementation of a new YANG module for alarm management

Fast checksum computation

Checksums are a simple mechanism to detect errors in data transmissions. In this article I write about how to compute the Internet checksum and how to do it fast.

The B4 network function

In a lw4o6 architecture, every CPE runs a B4 network function. This function is responsible for encapsulating the customer's IPv4 traffic over the carrier's IPv6 network. In this post, I describe how to implement a B4 using Linux standard commands

More practical Snabb

Continuing with the series of introductory posts to Snabb, in this new article I talk about IoT devices, Multicast DNS and Snabb, of course

Practical Snabb

How to start with Snabb for some real network function programming

Snabb explained in less than 10 minutes

In this article I introduce Snabb: a toolkit for building high-performance network functions in user-space. At Igalia, we have been using Snabb, and contributing to, extensively over the last years.

Dive into Lightweight 4over6

Lightweight 4over6 is a new IETF proposed standard that seeks to facilitate the deployment IPv6 networks, while still providing IPv4 connectivity. It also greatly helps to mitigate IPv4 public address exhaustion. Everything runs on IPv6.

IPv6 deployment status and transition technologies

Since 2010, IPv6 connectivity worldwide has kept growing at good pace, sometimes even doubling yearly. However, there are countries where IPv6 hasn't been rolled out yet. What's pending to be done? What are the challenges ahead before a full transition is completed?

A brief history of IPv4 address space exhaustion

One day we will run out of IPv4 addresses. Probably it's not the first time you heard that. In this post I review the history of IPv4 address depletion, which to some extent is the same as reviewing the history of the Internet

Fosdem 2017

After missing last year's edition, I attended Fosdem again. It was a lot of fun, it didn't disappoint me. Not even a bit. In this post, I review most of the talks from the SDN/NFV track

Network namespaces: IPv6 connectivity

Taking advantage of the work done in the last two posts, I explain in this new article how to share IPv6 connectivity between a host and a network namespace

Network namespaces

Linux namespaces are a relatively new kernel feature which is essential for implementation of containers. A namespace wraps a global system resource into an abstraction which will be bound only to processes within the namespace, providing resource isolation. In this article I discuss network namespace and show a practical example.

IPv6 tunnel

To most of those users which their ISP do not offer IPv6 connectivity, the IPv6 Internet is unknown land. However, free tunnel broker services such as Hurricane Electric can bridge an IPv4 connection with the IPv6 Internet.

Multicore architectures and CPU affinity

What I learned after catching up with the latest 10 years of microprocessor innovation