@@ -6568,11 +6568,11 @@ static int mlxsw_sp_inetaddr_lag_event(struct net_device *lag_dev,
6568
6568
extack );
6569
6569
}
6570
6570
6571
- static int mlxsw_sp_inetaddr_bridge_event (struct net_device * l3_dev ,
6571
+ static int mlxsw_sp_inetaddr_bridge_event (struct mlxsw_sp * mlxsw_sp ,
6572
+ struct net_device * l3_dev ,
6572
6573
unsigned long event ,
6573
6574
struct netlink_ext_ack * extack )
6574
6575
{
6575
- struct mlxsw_sp * mlxsw_sp = mlxsw_sp_lower_get (l3_dev );
6576
6576
struct mlxsw_sp_rif_params params = {
6577
6577
.dev = l3_dev ,
6578
6578
};
@@ -6593,7 +6593,8 @@ static int mlxsw_sp_inetaddr_bridge_event(struct net_device *l3_dev,
6593
6593
return 0 ;
6594
6594
}
6595
6595
6596
- static int mlxsw_sp_inetaddr_vlan_event (struct net_device * vlan_dev ,
6596
+ static int mlxsw_sp_inetaddr_vlan_event (struct mlxsw_sp * mlxsw_sp ,
6597
+ struct net_device * vlan_dev ,
6597
6598
unsigned long event ,
6598
6599
struct netlink_ext_ack * extack )
6599
6600
{
@@ -6610,7 +6611,8 @@ static int mlxsw_sp_inetaddr_vlan_event(struct net_device *vlan_dev,
6610
6611
return __mlxsw_sp_inetaddr_lag_event (vlan_dev , real_dev , event ,
6611
6612
vid , extack );
6612
6613
else if (netif_is_bridge_master (real_dev ) && br_vlan_enabled (real_dev ))
6613
- return mlxsw_sp_inetaddr_bridge_event (vlan_dev , event , extack );
6614
+ return mlxsw_sp_inetaddr_bridge_event (mlxsw_sp , vlan_dev , event ,
6615
+ extack );
6614
6616
6615
6617
return 0 ;
6616
6618
}
@@ -6711,16 +6713,11 @@ void mlxsw_sp_rif_macvlan_del(struct mlxsw_sp *mlxsw_sp,
6711
6713
mlxsw_sp_fid_index (rif -> fid ), false);
6712
6714
}
6713
6715
6714
- static int mlxsw_sp_inetaddr_macvlan_event (struct net_device * macvlan_dev ,
6716
+ static int mlxsw_sp_inetaddr_macvlan_event (struct mlxsw_sp * mlxsw_sp ,
6717
+ struct net_device * macvlan_dev ,
6715
6718
unsigned long event ,
6716
6719
struct netlink_ext_ack * extack )
6717
6720
{
6718
- struct mlxsw_sp * mlxsw_sp ;
6719
-
6720
- mlxsw_sp = mlxsw_sp_lower_get (macvlan_dev );
6721
- if (!mlxsw_sp )
6722
- return 0 ;
6723
-
6724
6721
switch (event ) {
6725
6722
case NETDEV_UP :
6726
6723
return mlxsw_sp_rif_macvlan_add (mlxsw_sp , macvlan_dev , extack );
@@ -6759,7 +6756,8 @@ static int mlxsw_sp_router_port_check_rif_addr(struct mlxsw_sp *mlxsw_sp,
6759
6756
return 0 ;
6760
6757
}
6761
6758
6762
- static int __mlxsw_sp_inetaddr_event (struct net_device * dev ,
6759
+ static int __mlxsw_sp_inetaddr_event (struct mlxsw_sp * mlxsw_sp ,
6760
+ struct net_device * dev ,
6763
6761
unsigned long event ,
6764
6762
struct netlink_ext_ack * extack )
6765
6763
{
@@ -6768,11 +6766,14 @@ static int __mlxsw_sp_inetaddr_event(struct net_device *dev,
6768
6766
else if (netif_is_lag_master (dev ))
6769
6767
return mlxsw_sp_inetaddr_lag_event (dev , event , extack );
6770
6768
else if (netif_is_bridge_master (dev ))
6771
- return mlxsw_sp_inetaddr_bridge_event (dev , event , extack );
6769
+ return mlxsw_sp_inetaddr_bridge_event (mlxsw_sp , dev , event ,
6770
+ extack );
6772
6771
else if (is_vlan_dev (dev ))
6773
- return mlxsw_sp_inetaddr_vlan_event (dev , event , extack );
6772
+ return mlxsw_sp_inetaddr_vlan_event (mlxsw_sp , dev , event ,
6773
+ extack );
6774
6774
else if (netif_is_macvlan (dev ))
6775
- return mlxsw_sp_inetaddr_macvlan_event (dev , event , extack );
6775
+ return mlxsw_sp_inetaddr_macvlan_event (mlxsw_sp , dev , event ,
6776
+ extack );
6776
6777
else
6777
6778
return 0 ;
6778
6779
}
@@ -6798,7 +6799,7 @@ int mlxsw_sp_inetaddr_event(struct notifier_block *unused,
6798
6799
if (!mlxsw_sp_rif_should_config (rif , dev , event ))
6799
6800
goto out ;
6800
6801
6801
- err = __mlxsw_sp_inetaddr_event (dev , event , NULL );
6802
+ err = __mlxsw_sp_inetaddr_event (mlxsw_sp , dev , event , NULL );
6802
6803
out :
6803
6804
return notifier_from_errno (err );
6804
6805
}
@@ -6825,7 +6826,7 @@ int mlxsw_sp_inetaddr_valid_event(struct notifier_block *unused,
6825
6826
if (err )
6826
6827
goto out ;
6827
6828
6828
- err = __mlxsw_sp_inetaddr_event (dev , event , ivi -> extack );
6829
+ err = __mlxsw_sp_inetaddr_event (mlxsw_sp , dev , event , ivi -> extack );
6829
6830
out :
6830
6831
return notifier_from_errno (err );
6831
6832
}
@@ -6854,7 +6855,7 @@ static void mlxsw_sp_inet6addr_event_work(struct work_struct *work)
6854
6855
if (!mlxsw_sp_rif_should_config (rif , dev , event ))
6855
6856
goto out ;
6856
6857
6857
- __mlxsw_sp_inetaddr_event (dev , event , NULL );
6858
+ __mlxsw_sp_inetaddr_event (mlxsw_sp , dev , event , NULL );
6858
6859
out :
6859
6860
rtnl_unlock ();
6860
6861
dev_put (dev );
@@ -6911,7 +6912,7 @@ int mlxsw_sp_inet6addr_valid_event(struct notifier_block *unused,
6911
6912
if (err )
6912
6913
goto out ;
6913
6914
6914
- err = __mlxsw_sp_inetaddr_event (dev , event , i6vi -> extack );
6915
+ err = __mlxsw_sp_inetaddr_event (mlxsw_sp , dev , event , i6vi -> extack );
6915
6916
out :
6916
6917
return notifier_from_errno (err );
6917
6918
}
@@ -7030,9 +7031,10 @@ static int mlxsw_sp_port_vrf_join(struct mlxsw_sp *mlxsw_sp,
7030
7031
*/
7031
7032
rif = mlxsw_sp_rif_find_by_dev (mlxsw_sp , l3_dev );
7032
7033
if (rif )
7033
- __mlxsw_sp_inetaddr_event (l3_dev , NETDEV_DOWN , extack );
7034
+ __mlxsw_sp_inetaddr_event (mlxsw_sp , l3_dev , NETDEV_DOWN ,
7035
+ extack );
7034
7036
7035
- return __mlxsw_sp_inetaddr_event (l3_dev , NETDEV_UP , extack );
7037
+ return __mlxsw_sp_inetaddr_event (mlxsw_sp , l3_dev , NETDEV_UP , extack );
7036
7038
}
7037
7039
7038
7040
static void mlxsw_sp_port_vrf_leave (struct mlxsw_sp * mlxsw_sp ,
@@ -7043,7 +7045,7 @@ static void mlxsw_sp_port_vrf_leave(struct mlxsw_sp *mlxsw_sp,
7043
7045
rif = mlxsw_sp_rif_find_by_dev (mlxsw_sp , l3_dev );
7044
7046
if (!rif )
7045
7047
return ;
7046
- __mlxsw_sp_inetaddr_event (l3_dev , NETDEV_DOWN , NULL );
7048
+ __mlxsw_sp_inetaddr_event (mlxsw_sp , l3_dev , NETDEV_DOWN , NULL );
7047
7049
}
7048
7050
7049
7051
int mlxsw_sp_netdevice_vrf_event (struct net_device * l3_dev , unsigned long event ,
0 commit comments