[RFC PATCH net-next v0 0/6] net: add GeoNetworking protocol
From: Simon Dietz <hidden>
Date: 2026-07-16 14:01:26
Also in:
linux-wireless
Implement the GeoNetworking / ETSI ITS-G5 ('net/gn') protocol which
is based on 802.11p wifi and used for vehicle2x applications. It is
standardized by the ETSI and used by some car manufacturers
(especially in europe). It enables ad-hoc, multi-hop geographical
communication and routing among vehicles (and road- or railside
infrastructure).
Most work of this implementation has been done by the bachelor
project 2018/2019 of the operating systems and middleware group of
the Hasso Plattner Institute, University of Potsdam, which the author
was part of.
The project was supervised by:
- Jossekin Beilharz
- Lukas Pirl
- Prof. Andreas Polze
The code is published under the GPL v2 at this location:
https://gitlab.com/hpi-potsdam/osm/g5-on-linux/linux-geonetworking/
The original code base was based on linux version 5.1. The first patch
includes the original codebase rebased to the current net-next code
base so that it compiles under current net-next (as required by
submitting patch guidelines in order not to break git bisect). I've
backed up a not squashed version of this patch series if a more
compartmentalized history would be desired.
The subsequent patches address bounds, null, empty checks, memory
safety, locking, code style and ETSI standard conformity improvements.
This patch series is not merge-ready, yet. E.g. network namespaces are
not supported at all, documentation is missing, ...
Purpose of this RFC is to determine if GeoNetworking support in the
linux kernel is desirable and if so what steps would have to be done
next. There is ongoing research on the topic vehicle2x, which may
benefit from GeoNetworking support in the Linux kernel.
Sorry for the previous submission which was only partially transmitted
Greetings,
Simon
Simon Dietz (6):
net: add GeoNetworking protocol
net: fix GeoNetworking
net: further fix GeoNetworking
net: even further fix GeoNetworking
net: add ppc64 support for GeoNetworking
net: apply RCS to GeoNetworking
include/linux/gn.h | 349 +++++
include/linux/gn_routing.h | 68 +
include/linux/socket.h | 6 +-
include/uapi/linux/gn.h | 84 ++
include/uapi/linux/if_ether.h | 1 +
net/Kconfig | 2 +
net/Makefile | 1 +
net/gn/Kconfig | 4 +
net/gn/Makefile | 8 +
net/gn/gn_proc.c | 86 ++
net/gn/gn_prot.c | 2012 +++++++++++++++++++++++++++
net/gn/gn_routing.c | 632 +++++++++
net/gn/sysctl_net_gn.c | 33 +
security/selinux/hooks.c | 5 +-
security/selinux/include/classmap.h | 3 +-
15 files changed, 3290 insertions(+), 4 deletions(-)
create mode 100644 include/linux/gn.h
create mode 100644 include/linux/gn_routing.h
create mode 100644 include/uapi/linux/gn.h
create mode 100644 net/gn/Kconfig
create mode 100644 net/gn/Makefile
create mode 100644 net/gn/gn_proc.c
create mode 100644 net/gn/gn_prot.c
create mode 100644 net/gn/gn_routing.c
create mode 100644 net/gn/sysctl_net_gn.c
--
2.55.0