[Devel] [PATCH rh7] bonding: show full hw address in sysfs for slave entries

Kirill Tkhai ktkhai at virtuozzo.com
Thu Mar 28 12:00:09 MSK 2019


On 28.03.2019 11:13, Konstantin Khorenko wrote:
> Bond expects ethernet hwaddr for its slave, but it can be longer than 6
> bytes - infiniband interface for example.
> 
>  # cat /sys/devices/<skipped>/net/ib0/address
>  80:00:02:08:fe:80:00:00:00:00:00:00:7c:fe:90:03:00:be:5d:e1
> 
>  # cat /sys/devices/<skipped>/net/ib0/bonding_slave/perm_hwaddr
>  80:00:02:08:fe:80
> 
> So print full hwaddr in sysfs "bonding_slave/perm_hwaddr" as well.
> 
> https://jira.sw.ru/browse/PSBM-93117
> 
> Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
> ---
>  drivers/net/bonding/bond_sysfs_slave.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/bonding/bond_sysfs_slave.c b/drivers/net/bonding/bond_sysfs_slave.c
> index 2f120b2ffef0..4985268e2273 100644
> --- a/drivers/net/bonding/bond_sysfs_slave.c
> +++ b/drivers/net/bonding/bond_sysfs_slave.c
> @@ -55,7 +55,9 @@ static SLAVE_ATTR_RO(link_failure_count);
>  
>  static ssize_t perm_hwaddr_show(struct slave *slave, char *buf)
>  {
> -	return sprintf(buf, "%pM\n", slave->perm_hwaddr);
> +	return sprintf(buf, "%*phC\n",
> +		       slave->dev->addr_len,
> +		       slave->perm_hwaddr);

Output line size is increasing, but buf is still the same.

I think everything is OK, but just for sure could you
please confirm we have no a problem here?

Kirill


More information about the Devel mailing list