[PATCH net] bonding: show slave priority in proc info

Hangbin Liu posted 1 patch 2 months ago
drivers/net/bonding/bond_procfs.c | 1 +
1 file changed, 1 insertion(+)
[PATCH net] bonding: show slave priority in proc info
Posted by Hangbin Liu 2 months ago
The slave priority is currently not shown in the proc filesystem, which
prevents users from retrieving this information via proc. This patch fixes
the issue by printing the slave priority in the proc filesystem, making it
accessible to users.

Fixes: 0a2ff7cc8ad4 ("Bonding: add per-port priority for failover re-selection")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
---
 drivers/net/bonding/bond_procfs.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/bonding/bond_procfs.c b/drivers/net/bonding/bond_procfs.c
index 7edf72ec816a..8b8580956edd 100644
--- a/drivers/net/bonding/bond_procfs.c
+++ b/drivers/net/bonding/bond_procfs.c
@@ -210,6 +210,7 @@ static void bond_info_show_slave(struct seq_file *seq,
 	seq_printf(seq, "Permanent HW addr: %*phC\n",
 		   slave->dev->addr_len, slave->perm_hwaddr);
 	seq_printf(seq, "Slave queue ID: %d\n", READ_ONCE(slave->queue_id));
+	seq_printf(seq, "Slave prio: %d\n", READ_ONCE(slave->prio));
 
 	if (BOND_MODE(bond) == BOND_MODE_8023AD) {
 		const struct port *port = &SLAVE_AD_INFO(slave)->port;
-- 
2.46.0
Re: [PATCH net] bonding: show slave priority in proc info
Posted by Eric Dumazet 2 months ago
On Mon, Sep 23, 2024 at 9:29 AM Hangbin Liu <liuhangbin@gmail.com> wrote:
>
> The slave priority is currently not shown in the proc filesystem, which
> prevents users from retrieving this information via proc. This patch fixes
> the issue by printing the slave priority in the proc filesystem, making it
> accessible to users.
>
> Fixes: 0a2ff7cc8ad4 ("Bonding: add per-port priority for failover re-selection")
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> ---
>  drivers/net/bonding/bond_procfs.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/bonding/bond_procfs.c b/drivers/net/bonding/bond_procfs.c
> index 7edf72ec816a..8b8580956edd 100644
> --- a/drivers/net/bonding/bond_procfs.c
> +++ b/drivers/net/bonding/bond_procfs.c
> @@ -210,6 +210,7 @@ static void bond_info_show_slave(struct seq_file *seq,
>         seq_printf(seq, "Permanent HW addr: %*phC\n",
>                    slave->dev->addr_len, slave->perm_hwaddr);
>         seq_printf(seq, "Slave queue ID: %d\n", READ_ONCE(slave->queue_id));
> +       seq_printf(seq, "Slave prio: %d\n", READ_ONCE(slave->prio));
>
>         if (BOND_MODE(bond) == BOND_MODE_8023AD) {
>                 const struct port *port = &SLAVE_AD_INFO(slave)->port;
> --
> 2.46.0
>

proc interface is deprecated in favor of rtnl.

slave->prio is correctly reported in IFLA_BOND_SLAVE_PRIO attribute.

No further kernel change is needed.
Re: [PATCH net] bonding: show slave priority in proc info
Posted by Hangbin Liu 2 months ago
Hi Eric,

On Mon, Sep 23, 2024 at 09:45:23AM +0200, Eric Dumazet wrote:
> On Mon, Sep 23, 2024 at 9:29 AM Hangbin Liu <liuhangbin@gmail.com> wrote:
> >
> > The slave priority is currently not shown in the proc filesystem, which
> > prevents users from retrieving this information via proc. This patch fixes
> > the issue by printing the slave priority in the proc filesystem, making it
> > accessible to users.
> >
> > Fixes: 0a2ff7cc8ad4 ("Bonding: add per-port priority for failover re-selection")
> > Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
> > ---
> >  drivers/net/bonding/bond_procfs.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/bonding/bond_procfs.c b/drivers/net/bonding/bond_procfs.c
> > index 7edf72ec816a..8b8580956edd 100644
> > --- a/drivers/net/bonding/bond_procfs.c
> > +++ b/drivers/net/bonding/bond_procfs.c
> > @@ -210,6 +210,7 @@ static void bond_info_show_slave(struct seq_file *seq,
> >         seq_printf(seq, "Permanent HW addr: %*phC\n",
> >                    slave->dev->addr_len, slave->perm_hwaddr);
> >         seq_printf(seq, "Slave queue ID: %d\n", READ_ONCE(slave->queue_id));
> > +       seq_printf(seq, "Slave prio: %d\n", READ_ONCE(slave->prio));
> >
> >         if (BOND_MODE(bond) == BOND_MODE_8023AD) {
> >                 const struct port *port = &SLAVE_AD_INFO(slave)->port;
> > --
> > 2.46.0
> >
> 
> proc interface is deprecated in favor of rtnl.
> 
> slave->prio is correctly reported in IFLA_BOND_SLAVE_PRIO attribute.
> 
> No further kernel change is needed.

Thanks for the reply. Some users said they still prefer to use /proc
to get the bonding info as it's easier compared with get info via rtnl(ip
link). I'm OK to drop this patch.

Thanks
Hangbin