Subject: Re: bonding: Do we need netlink events for LACP status?

From: Jay Vosburgh <[email-masked]>
Date: Sat, 09 Mar 2024 19:11:29 -0800

Hangbin Liu <[email-masked]> wrote:

>On Mon, Mar 04, 2024 at 10:33:27PM -0800, Jay Vosburgh wrote:
>> Hangbin Liu <[email-masked]> wrote:
>> 
>> >A customer asked to add netlink event notifications for LACP bond state
>> >changes. With this, the network monitor could get the LACP state of bonding
>> >and port interfaces, and end user may change the down link port based
>> >on the current LACP state. Do you think if this is a reasonable case
>> >and do able? If yes, I will add it to my to do list.
>> 
>> 	I think I'm going to need some more detail here.
>> 
>> 	To make sure I understand, the suggestion here is to add netlink
>> notifications for transitions in the LACP mux state machine (ATTACHED,
>> COLLECTING, DISTRIBUTING, et al), correct?  If not, then what
>
>Yes, the LACP mux state. Maybe also including the port channel info.
>
>> specifically do you mean?
>> 
>> 	Also, what does "change the down link port" mean?
>
>If a port is down, or in attached state for a period, which means the end
>of port is not in a channel, or the switch crash. The admin could detect this
>via the LACP state notification and remove the port from bond, adding other
>ports to the bond, etc.

	Generally speaking, I don't see an issue with adding these type
of netlink events, as in normal usage the volume will be low.

	Looking at the code, I think it would be a matter of adding the
new IFLA_BOND_LACP_STUFF labels, updating bond_fill_slave_info() and
maybe bond_fill_info() to populate the netlink message for those new
IFLAs.  Add a call to call_netdevice_notifiers() in ad_mux_machine()
when the state changes, using a new event type that would need to be
handled by rtnetlink_event().

	-J

---
	-Jay Vosburgh, [email-masked]