From: Hangbin Liu <liuhangbin@gmail.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org, Jay Vosburgh <j.vosburgh@gmail.com>,
Veaceslav Falico <vfalico@gmail.com>,
Andy Gospodarek <andy@greyhouse.net>,
davem@davemloft.net, Richard Cochran <richardcochran@gmail.com>,
Miroslav Lichvar <mlichvar@redhat.com>
Subject: Re: [PATCH net-next] bond: pass get_ts_info and SIOC[SG]HWTSTAMP ioctl to active device
Date: Thu, 2 Dec 2021 11:04:40 +0800 [thread overview]
Message-ID: <Yag3yI4cNnUK2Yjy@Laptop-X1> (raw)
In-Reply-To: <20211201071118.749a3ed4@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
On Wed, Dec 01, 2021 at 07:11:18AM -0800, Jakub Kicinski wrote:
> > > Does the Ethernet spec say something about PTP over bond/LACP?
> >
> > bond_option_active_slave_get_rcu() only supports bond mode active-backup/tlb/alb.
> > With LACP mode _no_ active interface returns and we will use software
> > timestamping.
>
> I understand that, I was asking about guidance from LACP as there is
> no IEEE standard for the other modes to my knowledge.
Oh, I checked IEEE 8021AX, this is only one paragraph mentioned PTP
8. Frame distribution and collection algorithms
8.2 Per-service frame distribution
8.2.1 Goals and objectives
Distributing frames to physical links by service ID, as defined in 8.2,
provides the following:
b) Bidirectional congruity: Providing a means for the two ends of an Aggregation Group to use the
same physical link in both directions for a given service ensures that a failed link or a link
experiencing an excessive error rate will affect the fewest possible number of services and in general
provide support for protocols that have strict symmetry requirements on their transmit and receive
paths, e.g., Precision Time Protocol (PTP) in IEEE Std 1588 ™ -2008.
But I didn't find any valuable information from it.
>
> > But you remind me that we should return -EOPNOTSUPP when there is no real_dev
> > for bond_eth_ioctl(). I will send a fixup later.
> >
> > > What happens during failover? Presumably the user space daemon will
> > > start getting HW stamps based on a different PHC than it's disciplining?
> >
> > linuxptp will switch to new active interface's PHC device when there is a
> > bonding failover by filtering netlink message on pure bond.
> >
> > But for VLAN over bond I need to figure out how to get the bond failover
> > message on VLAN interface and update the new PHC device.
>
> Yeah, there should be some form of well understood indication in the
> uAPI telling the user space daemon that the PHC may get swapped on the
> interface, and a reliable notification which indicates PHC change.
> There is a number of user space daemons out there, fixing linuxptp does
> not mean other user space won't be broken/surprised/angry.
This is a RFE, I don't think this patch will affect the current user space as
the new topology is not supported before. i.e. no user space tool will configure
PTP based on bond or vlan over bond. And even the user space use other ways to
get bond's active interface, e.g. via netlink message. It still not affected
and could keep using the old way. So I think this patch should be safe.
Did I miss any thing?
>
> What notification is linuxptp listening on, SETLINK?
Currently, I send RTM_GETLINK message on bond and listening on
RTM_NEWLINK message to get IFLA_LINKINFO info.
But for the new VLAN over bond topology. I haven't figure out a good solution.
Maybe I can just check the active interface status. When it get down,
do get_ts_info once again to get the new active interface on the VLAN over
bond interface. I need some testing.
Hangbin
next prev parent reply other threads:[~2021-12-02 3:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-30 7:09 [PATCH net-next] bond: pass get_ts_info and SIOC[SG]HWTSTAMP ioctl to active device Hangbin Liu
2021-11-30 12:30 ` patchwork-bot+netdevbpf
2021-11-30 15:19 ` Jakub Kicinski
2021-12-01 4:57 ` Hangbin Liu
2021-12-01 15:11 ` Jakub Kicinski
2021-12-02 3:04 ` Hangbin Liu [this message]
2021-12-02 14:59 ` Jakub Kicinski
2021-12-03 2:55 ` Hangbin Liu
2021-12-03 2:58 ` Jakub Kicinski
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=Yag3yI4cNnUK2Yjy@Laptop-X1 \
--to=liuhangbin@gmail.com \
--cc=andy@greyhouse.net \
--cc=davem@davemloft.net \
--cc=j.vosburgh@gmail.com \
--cc=kuba@kernel.org \
--cc=mlichvar@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=richardcochran@gmail.com \
--cc=vfalico@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox