Setting up an out-of-band network

This document describes the steps to enable a basic out-of-band network between two hosts on the same LAN. As explained in the introduction, there are two aspects to implementing out-of-band network communications between hosts using the EVL network stack:

  • diverting the ingress packets received by a network device to the EVL network stack to handle them directly from the out-of-band stage.

  • handling egress packets coming from the EVL network stack in order to deliver them to a network device directly from the out-of-band stage.

For this to happen, we need an out-of-band port to be enabled on a network device. In addition, such port needs to be told how to select the ingress packets which should be delivered to the EVL network stack, there are two ways to do that:

  • using VLAN tagging with the network device.

OR,

  • attaching an eBPF program to the network device.

Please keep in mind that enabling an out-of-band port on a network device does not guarantee per se that real-time requirements could be met. For the latter to be achieved, one needs out-of-band capable NIC drivers too. See this explanation for details.

Using the VLAN method to accept out-of-band traffic

This is the easy way which starts with the standard procedure to create a VLAN device sitting on top of a real network interface. A little bit of EVL-specific configuration is applied to the new VLAN device next. You should create one or more VLAN devices on every host which will be involved in out-of-band networking on your LAN. The steps for using the VLAN method are as follows:

  1. Create a regular VLAN interface on top of a physical network device attached to the system. For instance, this document explains instant configuration of a VLAN device.

  2. Turn the new VLAN interface into an EVL network port, this can be done either programmatically, or by using the evl-net setup utility. Under the hood, this adds an EVL-specific context to the underlying physical device supporting the VLAN interface, allocating the resources needed for dealing with out-of-band traffic.

  3. Add the new VLAN identifier to the set of out-of-band VLANs EVL monitors, so that it picks incoming packets flowing on those instead of leaving them for processing by the regular network stack.

For instance, we could create a network device named ’eth0.42' providing a VLAN with id. 42 on top of the ’eth0’ interface. All ingress traffic received by this VLAN would be directed to the EVL network stack instead of the in-band one. The commands to set this up would be:

# Attach a VLAN device with id. 42 to the real 'eth0' device
$ sudo ip link add link eth0 name eth0.42 type vlan id 42

# Assign an arbitrary address to that VLAN device, e.g. 10.10.10.10
$ sudo ip addr add 10.10.10.10/24 dev eth0.42

# Turn on the out-of-band network port on the VLAN device:
$ sudo evl net -ei eth0.42

# Tell EVL to pick all incoming packets received on VLAN 42:
$ sudo evl net -N42

Using the eBPF method to accept out-of-band traffic

As explained in this section, you can attach an eBPF program to a real network interface in order to select which incoming packets should be accepted by the EVL network stack. Once compiled, the filter module should be attached to the network interface using the following command:

~# evl net -F<ebpf-module.o> -i eth0.42

Last modified: Thu, 03 Jul 2025 16:39:27 +0200