Using eBPF to Injection IPv6 Extension Headers
While IPv6 was already standardized in the 90’s, only the last decade has seen a growth in its global adoption. In addition to dealing with IPv4 addresses exhaustion, IPv6 comes with a mechanism, called IPv6 Extension Header (IPv6 EH), allowing the protocol to be more flexible and extensible. However, according to recent studies trying to evaluate the survivability of IPv6 EHs, most of these IPv6 EHs do not easily survive over the global Internet (i.e., outside limited/controlled domains), which might be problematic if a specific service requires such an IPv6 EH. This paper discusses a use case in which an operator needs to test the survivability of specific IPv6 EHs, as a proof-of-concept, prior to service deployment. This paper explains how an eBPF program can find a suitable usage in building the service quickly as a proof-of-concept, by easily injecting IPv6 EHs in network traffic and without the need to modify existing tools or the kernel. We also evaluate our program for IPv6 EHs injection in terms of throughput.