2026/2/27 17:45, "Sebastian Andrzej Siewior" <[email protected] 
mailto:[email protected]?to=%22Sebastian%20Andrzej%20Siewior%22%20%3Cbigeasy%40linutronix.de%3E
 > wrote:


> 
> On 2026-02-27 17:22:49 [+0800], Jiayuan Chen wrote:
> 
> > 
> > --- a/drivers/net/bonding/bond_main.c
> >  +++ b/drivers/net/bonding/bond_main.c
> >  @@ -6458,6 +6458,12 @@ int bond_create(struct net *net, const char *name)
> >  dev_net_set(bond_dev, net);
> >  bond_dev->rtnl_link_ops = &bond_link_ops;
> >  
> >  + res = bond_create_init(bond);
> > 
> Wouldn't it be better to put into bond_init()?
> 
> I haven't look into it but when can the bond_mode be changed?
> 
> Sebastian
>

Thanks! bond_init() (ndo_init) is indeed a better fit, it is called by 
register_netdevice()
and naturally covers both bond_create() and bond_newlink() without a separate 
helper.

bond_mode can be changed after device creation via sysfs or netlink, a bond 
created
in active-backup mode can later be switched to round-robin, which means the 
allocation
must not be conditional on the mode at creation time.

Reply via email to