From: Gaoyang Wei <yhyxwgy@gmail.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: netdev@vger.kernel.org, pbs05 <xuziyougm@gmail.com>,
Matheus Sampaio Queiroga <srherobrine20@gmail.com>,
Benjamin Larsson <benjamin.larsson@genexis.eu>,
Lorenzo Bianconi <lorenzo@kernel.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
Russell King <linux@armlinux.org.uk>
Subject: Re: [RFC] net: towards a generic PON framework
Date: Mon, 28 Sep 2026 01:22:13 +0800 [thread overview]
Message-ID: <92d9c8a9-ef43-45ce-a599-2c00d0a2fa61@gmail.com> (raw)
In-Reply-To: <b0d1908c-a6f6-4c28-bb4f-b00644acacfc@lunn.ch>
Hi Andrew,
Thanks, the hostapd/wpa_supplicant analogy is useful.
> But having a dedicated net_device seems wrong to me. However what
> you mentioned made me think of hostapd and wpa_supplicant. Can that
> sort of model be used? It does not require an additional interface
> by the side of the wifi interface.
Yes, I think that is worth considering.
One reason I initially found a packet net_device attractive was that
OMCI itself is a packet-oriented protocol, and an ARPHRD_NONE device
would give userspace a natural AF_PACKET interface without pretending
that OMCI is Ethernet.
But I agree that this does not necessarily mean it has to be modeled
as a separate network interface.
A model closer to nl80211 could instead keep the Ethernet service
datapath as the normal net_device and expose OMCI transport through
the xPON control interface, for example using Generic Netlink messages
associated with a PON device:
userspace OMCI daemon
|
Generic Netlink
|
net/xpon
|
PON MAC
with no separate omci0 device.
There is one property of the packet-interface model which I think is
important to preserve somehow, though: observability.
With a packet interface, raw OMCI traffic has a natural capture point.
It can be captured with the normal packet tooling and inspected with
Wireshark. There are already OMCI dissectors available, for example:
https://github.com/0liv1er/omci-wireshark-dissector
This is particularly useful for PON interoperability work.
Although G.988 defines the standard OMCI model, deployed PON networks
are not as uniform at the management-model level as the 802.11 analogy
might suggest. Operators and vendors commonly add private MEs,
profiles, or behavioral quirks.
One concrete example is China Telecom's GPON profile. It defines a
private "LOID authentication" ME, class 65530 (0xfffa), carrying the
operator ID, LOID, password, and authentication status. Its behavior
also differs from an ordinary MIB object; for example it is excluded
from MIB Upload.
Cases like this make packet-level inspection very useful when an ONU
works with one OLT but fails with another. Being able to capture the
actual OMCI exchange and feed it directly into protocol-analysis tools
can make the difference between finding an interoperability problem
quickly and debugging it indirectly through daemon logs.
So I think this also reinforces the distinction between two separate
questions:
1. whether the G.988 agent should live in kernel or userspace;
2. how raw OMCI PDUs should cross the kernel/userspace boundary.
Generic Netlink may well be the cleaner control abstraction, but I
would like to understand what the Linux-native equivalent of that
packet observation/debugging point should be if we do not use a
management net_device.
Do you have a particular part of the hostapd/nl80211 model in mind
for the management PDU transport itself, for example something
analogous to management frame registration/TX/RX?
And if Generic Netlink is the preferred transport, is there an
existing mechanism you would recommend for exposing the raw management
PDU stream to packet-capture/debugging tools without creating a
separate net_device?
Thanks,
Gaoyang
next prev parent reply other threads:[~2026-09-27 17:22 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-26 17:46 [RFC] net: towards a generic PON framework Gaoyang Wei
2026-09-26 19:28 ` Matheus Sampaio Queiroga
2026-09-26 20:21 ` Gaoyang Wei
2026-09-26 21:55 ` Matheus Sampaio Queiroga
2026-09-26 22:15 ` Gaoyang Wei
2026-09-27 0:05 ` Matheus Sampaio Queiroga
2026-09-27 4:38 ` Gaoyang Wei
2026-09-27 17:47 ` Matheus Sampaio Queiroga
2026-09-27 18:27 ` Gaoyang Wei
2026-09-27 16:57 ` Andrew Lunn
2026-09-27 17:22 ` Gaoyang Wei [this message]
2026-09-27 19:24 ` Ziyou Xu
2026-09-27 19:47 ` Andrew Lunn
2026-09-27 20:29 ` Ziyou Xu
2026-09-27 22:30 ` Andrew Lunn
2026-09-27 22:49 ` Andrew Lunn
2026-09-27 23:11 ` Gaoyang Wei
2026-09-28 1:25 ` Andrew Lunn
2026-09-28 8:37 ` John Crispin
2026-09-28 10:54 ` Benjamin Larsson
2026-09-28 14:10 ` Andrew Lunn
2026-10-01 12:25 ` Benjamin Larsson
2026-09-28 11:23 ` Gaoyang Wei
2026-09-28 14:05 ` Andrew Lunn
2026-09-27 20:47 ` Benjamin Larsson
2026-09-27 20:58 ` Gaoyang Wei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=92d9c8a9-ef43-45ce-a599-2c00d0a2fa61@gmail.com \
--to=yhyxwgy@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=benjamin.larsson@genexis.eu \
--cc=linux@armlinux.org.uk \
--cc=lorenzo@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=srherobrine20@gmail.com \
--cc=xuziyougm@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.