[PATCH v2 0/1] net: geneve: accept every ethertype

From: Josef Miegl
Date: Mon Feb 27 2023 - 02:41:51 EST


The Geneve encapsulation, as defined in RFC 8926, has a Protocol Type
field, which states the Ethertype of the payload appearing after the
Geneve header.

Commit 435fe1c0c1f7 ("net: geneve: support IPv4/IPv6 as inner protocol")
introduced a new IFLA_GENEVE_INNER_PROTO_INHERIT flag that allowed the
use of other Ethertypes than Ethernet. However, for a reason not known
to me, it imposed a restriction that prohibits receiving payloads other
than IPv4, IPv6 and Ethernet.

This patch removes this restriction, making it possible to receive any
Ethertype as a payload, if the IFLA_GENEVE_INNER_PROTO_INHERIT flag is
set.

This is especially useful if one wants to encapsulate MPLS, because with
this patch the control-plane traffic (IP, LLC) and the data-plane
traffic (MPLS) can be encapsulated without an Ethernet frame, making
lightweight overlay networks a possibility.

Changes in v2:
- added a cover letter
- lines no longer exceed 80 columns


Josef Miegl (1):
net: geneve: accept every ethertype

drivers/net/geneve.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)

--
2.37.1