> I would have to imagine any QOS/traffic shaping is done in the OMCI and
> hence would probably be in the GPON spec, g.984. I would look there.
> Just guessing it would hold true with XG/s/PON, NGPON, etc.
The way at least my gear (Adtran) works is that you configure
shaping/policing as part of the provisioned service. That information
is communicated to the ONTs via the OMCI.
AFAIK, the ONT enforces admission control on the upstream (and
coordinates for timeslot assignments with the OLT since upstream
oversubscription is supported and common), and the OLT enforces
downstream egress control.
You can configure whether you want rate control to be based on hard
policers (instantaneous drop once CIR+CBS+EIR+EBS is exceeded) or
whether you want it to "shape" the traffic by delaying things. The
latter is usually more user-friendly and certainly easier to set up, but
it can result in bufferbloat, and they don't provide very friendly knobs
to tune the maximum queue length. I haven't heard any real complaints
from folks. DSLReports gives me like a C for bufferbloat but doesn't
really make it clear why. The queue is, at most, a few ms in depth.
The nice thing about the Codel, Cobalt, and PIE aqms is they work beautifully
with hardware flow control so long as the interval of the pause is closely tied
to the uplink's chances to transmit. I've perpetually shown off how well
fq_codel worked with the very first (and ancient) dslmodem we tried that
had minimal buffering in nearly every preso I did... (and have ranted that
"modern" ones required shaping instead and also pointed at how to do it
hw flow control very wrong as all the ethernet over powerline devices did)
so it would be cool if you could put fq_codel or cake in front of your ONT
and see if you have pause frames negotiated on your ethernet interface.
What I've been observing, however, in the fiber data from dslreports,
is a disturbing growth of roughly 250ms of uplink buffering in 100Mbit
(If you look at this data over time its otherwise quite pleasing to
see cable's massive improvements at lower tiers of service)
You can tell it to honor 802.1p CoS, IP ToS, or IP DSCP in various ways
and map them to separate queues with separate policers/shapers and WRR
priority. This is semi-automated if you are doing voice/video via their
YMMV on other vendors' gear.
Thx. I started a thread over on the cerowrt-devel mailing list on this,
it was cool to find several linux based SFPs worth playing with, Finding
a set of "common" ONTs worth configuring in a way more suited for
an fq_codel'd router (and especially not using policing) is on my mind.