[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