On 02/28/2015 02:59 AM, Jiri Pirko wrote: > Sat, Feb 28, 2015 at 06:56:04AM CET, tlfal...@linux.vnet.ibm.com wrote: >> Add a function that will enable changing the MAC address >> of an ibmveth interface while it is still running. >> >> Signed-off-by: Thomas Falcon <tlfal...@linux.vnet.ibm.com> >> --- >> v2: >> If h_change_logical_lan_mac fails, dev->dev_addr will not be changed. >> >> drivers/net/ethernet/ibm/ibmveth.c | 25 ++++++++++++++++++++++++- >> 1 file changed, 24 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/net/ethernet/ibm/ibmveth.c >> b/drivers/net/ethernet/ibm/ibmveth.c >> index 21978cc..b6ac676 100644 >> --- a/drivers/net/ethernet/ibm/ibmveth.c >> +++ b/drivers/net/ethernet/ibm/ibmveth.c >> @@ -1327,6 +1327,29 @@ static unsigned long ibmveth_get_desired_dma(struct >> vio_dev *vdev) >> return ret; >> } >> >> +static int ibmveth_set_mac_addr(struct net_device *dev, void *p) >> +{ >> + struct ibmveth_adapter *adapter = netdev_priv(dev); >> + struct sockaddr *addr = p; >> + u64 mac_address; >> + int rc; >> + >> + if (!is_valid_ether_addr(addr->sa_data)) >> + return -EADDRNOTAVAIL; >> + >> + mac_address = ibmveth_encode_mac_addr(addr->sa_data); >> + rc = h_change_logical_lan_mac(adapter->vdev->unit_address, mac_address); >> + if (rc) { >> + netdev_err(adapter->netdev, "h_change_logical_lan_mac failed " >> + "with rc=%d\n", rc); > Please do not wrap text in message. For that, 80-char limit does not apply.
I will send a new patch fixing this shortly. Thanks to you, Brian, and Dave for reviewing this patch. > > >> + return rc; >> + } >> + >> + ether_addr_copy(dev->dev_addr, addr->sa_data); >> + >> + return 0; >> +} >> + >> static const struct net_device_ops ibmveth_netdev_ops = { >> .ndo_open = ibmveth_open, >> .ndo_stop = ibmveth_close, >> @@ -1337,7 +1360,7 @@ static const struct net_device_ops ibmveth_netdev_ops >> = { >> .ndo_fix_features = ibmveth_fix_features, >> .ndo_set_features = ibmveth_set_features, >> .ndo_validate_addr = eth_validate_addr, >> - .ndo_set_mac_address = eth_mac_addr, >> + .ndo_set_mac_address = ibmveth_set_mac_addr, >> #ifdef CONFIG_NET_POLL_CONTROLLER >> .ndo_poll_controller = ibmveth_poll_controller, >> #endif >> -- >> 1.8.3.1 >> _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev