PTP needs to "work" over a local 169.254.0.0/16 network. This isn't
unreasonable.
Maybe, but the kernel avoids it for some reason. I'd like to
understand the root cause.
Last night I downloaded the kernel.org 4.19.29 tarball and looked over
the bind code and setsockopt IP_MULTICAST_IF. I'm not seeing any
problems with the kernel implementation. I'm not finding anywhere that
the kernel forces dropping multicast sent over a link local address
interface. If I've missed something, then I'd welcome someone pointing
it out. Grep is our friend :-)
My organization isn't using avahi. These are statically assigned link
local addresses used to create a unique management network. I'd agree
their usage is certainly "weird" and predate me. But, I'm not finding
anything in the kernel that prohibits their usage. We're running a stock
Ubuntu kernel.
Since the PTP multicast destination addresses are global in scope,
combining a link-local SA with a PTP DA appears to be prohibited.
Anyhow, maybe that is how the kernel sees it.
I've firmly convinced myself that the problem here is an application
level issue. With the mcast_bind patch we bind to the correct interface
and there is no issue with multicast being sourced from the link local
address interface. If there was kernel level code to force these packets
to be dropped, the packets would never make it onto the wire.
_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel