Thread (27 messages) flat view 27 messages, 4 authors, 16d ago

Re: short description of GeoNetworking

From: Simon Dietz <hidden>
Date: 2026-07-22 21:36:46
Also in: linux-wireless

Hi Andrew,
I assume there is some daemon talking to gpsd on one side, and the
kernel and the other? What other user space pieces are there?
At time of creation of the initial code base we used user space code to
pass the gps position data from gpds to the kernel module (first via
/proc then via ioctl). We also wrote some code that implemented a very
limited subset of the higher layer protocols (BTP and DNEM) for
testing purposes. We also had some scripts for qemu (for debugging
the implementation in an isolated environment) and ansible scripts to
patch the ath9k driver to actually use the 802.11p wifi band (which is
above the classic 5 GHz wifi 802.11ac band) for testing the inter-
operability with a specific commercial solution. However only the
geonetworking kernel module and the ansible scripts have been published
So it would be good to include a link to your git repo. We generally
want open user spaces tools.
I'll polish them a bit, then I'll publish them near-term.
Given the previous definition, this makes no sense.
I may have simplified the modes of operation too much, sorry for the
confusion. Having the standard (ETSI EN 302 636-1) open (which contains
a visualization of the operating modes), let me try it again.

There is GeoUnicast, which is the most advanced and needs routing and
the cosine calculations to find the intermediary host in range closest
to the target host.

Then there is GeoBroadcast, where a packet is forwarded hop-by-hop
until it reaches a host inside the target geographic area. Once having
reached the target area it is then broadcasted (and re-broadcasted /
flooded) by hosts in that area (until the with each broadcast decreased
hop-limit reaches 0).

And there is Topologically-scoped broadcast (TSB) where a packet is
broadcasted to all nodes in the n-hop neighbourhood (with the special
case single-hop broadcast with n=1).
How useful is the stack without unicast?
At first glance, not very much. But considering the use case (e.g. BTP
or DNEM) it is more common to notify all vehicles in range (TSB) or a
certain area (GeoBroadcast) to e.g. warn them of a car crash than to
search for a wrong-way driver and tell him via unicast that he is
driving in the wrong direction. And it's two-thirds of the standard.
Plus (and the most important) it would allow me to focus on more
essential stuff, first (like how to properly inject the gps position
data via netlink in a kernel conform manner) instead of aiming for full
standard conformity all at once (cathedral approach).

Simon

PS: I've seen your other emails commenting on the code, I'll answer
them later.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help