Commit d12e2eed authored by Parav Pandit's avatar Parav Pandit Committed by Jason Gunthorpe

IB/core: Update GID entries for netdevice whose mac address changes

Update all GID table entries of the netdevice whose MAC address changed.
Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 464b79b4
...@@ -291,7 +291,7 @@ static void update_gid_ip(enum gid_op_type gid_op, ...@@ -291,7 +291,7 @@ static void update_gid_ip(enum gid_op_type gid_op,
static void bond_delete_netdev_default_gids(struct ib_device *ib_dev, static void bond_delete_netdev_default_gids(struct ib_device *ib_dev,
u8 port, u8 port,
struct net_device *rdma_ndev, struct net_device *rdma_ndev,
void *event_ndev) struct net_device *event_ndev)
{ {
struct net_device *real_dev = rdma_vlan_dev_real_dev(event_ndev); struct net_device *real_dev = rdma_vlan_dev_real_dev(event_ndev);
unsigned long gid_type_mask; unsigned long gid_type_mask;
...@@ -727,9 +727,9 @@ static int netdevice_event(struct notifier_block *this, unsigned long event, ...@@ -727,9 +727,9 @@ static int netdevice_event(struct notifier_block *this, unsigned long event,
static const struct netdev_event_work_cmd bonding_default_del_cmd_join = { static const struct netdev_event_work_cmd bonding_default_del_cmd_join = {
.cb = del_netdev_default_ips_join, .filter = is_eth_port_inactive_slave}; .cb = del_netdev_default_ips_join, .filter = is_eth_port_inactive_slave};
static const struct netdev_event_work_cmd static const struct netdev_event_work_cmd
default_del_cmd = { netdev_del_cmd = {
.cb = bond_delete_netdev_default_gids, .cb = del_netdev_ips,
.filter = pass_all_filter .filter = is_eth_port_of_netdev
}; };
static const struct netdev_event_work_cmd bonding_event_ips_del_cmd = { static const struct netdev_event_work_cmd bonding_event_ips_del_cmd = {
.cb = del_netdev_upper_ips, .filter = upper_device_filter}; .cb = del_netdev_upper_ips, .filter = upper_device_filter};
...@@ -755,8 +755,9 @@ static int netdevice_event(struct notifier_block *this, unsigned long event, ...@@ -755,8 +755,9 @@ static int netdevice_event(struct notifier_block *this, unsigned long event,
break; break;
case NETDEV_CHANGEADDR: case NETDEV_CHANGEADDR:
cmds[0] = default_del_cmd; cmds[0] = netdev_del_cmd;
cmds[1] = add_cmd; cmds[1] = add_default_gid_cmd;
cmds[2] = add_cmd;
break; break;
case NETDEV_CHANGEUPPER: case NETDEV_CHANGEUPPER:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment