File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -1188,10 +1188,11 @@ static int team_set_mac_address(struct net_device *dev, void *p)
1188
1188
{
1189
1189
struct team * team = netdev_priv (dev );
1190
1190
struct team_port * port ;
1191
- struct sockaddr * addr = p ;
1191
+ int err ;
1192
1192
1193
- dev -> addr_assign_type &= ~NET_ADDR_RANDOM ;
1194
- memcpy (dev -> dev_addr , addr -> sa_data , ETH_ALEN );
1193
+ err = eth_mac_addr (dev , p );
1194
+ if (err )
1195
+ return err ;
1195
1196
rcu_read_lock ();
1196
1197
list_for_each_entry_rcu (port , & team -> port_list , list )
1197
1198
if (team -> ops .port_change_mac )
@@ -1393,7 +1394,7 @@ static void team_setup(struct net_device *dev)
1393
1394
* bring us to promisc mode in case a unicast addr is added.
1394
1395
* Let this up to underlay drivers.
1395
1396
*/
1396
- dev -> priv_flags |= IFF_UNICAST_FLT ;
1397
+ dev -> priv_flags |= IFF_UNICAST_FLT | IFF_LIVE_ADDR_CHANGE ;
1397
1398
1398
1399
dev -> features |= NETIF_F_LLTX ;
1399
1400
dev -> features |= NETIF_F_GRO ;
You can’t perform that action at this time.
0 commit comments