@@ -944,7 +944,7 @@ struct rswitch_ipv4_route {
944
944
u32 subnet ;
945
945
u32 mask ;
946
946
struct fib_nh * nh ;
947
- struct rswitch_device * dev ;
947
+ struct rswitch_device * rdev ;
948
948
struct list_head param_list ;
949
949
struct list_head list ;
950
950
};
@@ -2504,15 +2504,15 @@ static int rswitch_setup_tc_block_cb(enum tc_setup_type type,
2504
2504
void * type_data ,
2505
2505
void * cb_priv )
2506
2506
{
2507
- struct net_device * dev = cb_priv ;
2507
+ struct net_device * ndev = cb_priv ;
2508
2508
2509
2509
switch (type ) {
2510
2510
case TC_SETUP_CLSU32 :
2511
- return rswitch_setup_tc_cls_u32 (dev , type_data );
2511
+ return rswitch_setup_tc_cls_u32 (ndev , type_data );
2512
2512
case TC_SETUP_CLSFLOWER :
2513
- return rswitch_setup_tc_flower (dev , type_data );
2513
+ return rswitch_setup_tc_flower (ndev , type_data );
2514
2514
case TC_SETUP_CLSMATCHALL :
2515
- return rswitch_setup_tc_matchall (dev , type_data );
2515
+ return rswitch_setup_tc_matchall (ndev , type_data );
2516
2516
default :
2517
2517
return - EOPNOTSUPP ;
2518
2518
}
@@ -2636,9 +2636,10 @@ const struct net_device_ops rswitch_netdev_ops = {
2636
2636
// .ndo_change_mtu = eth_change_mtu,
2637
2637
};
2638
2638
2639
- static int rswitch_add_ipv4_dst_route (struct rswitch_ipv4_route * routing_list , struct rswitch_device * dev , u32 ip )
2639
+ static int rswitch_add_ipv4_dst_route (struct rswitch_ipv4_route * routing_list ,
2640
+ struct rswitch_device * rdev , u32 ip )
2640
2641
{
2641
- struct rswitch_private * priv = dev -> priv ;
2642
+ struct rswitch_private * priv = rdev -> priv ;
2642
2643
struct l3_ipv4_fwd_param_list * param_list ;
2643
2644
struct rswitch_pf_param pf_param = {0 };
2644
2645
int ret = 0 ;
@@ -2653,7 +2654,7 @@ static int rswitch_add_ipv4_dst_route(struct rswitch_ipv4_route *routing_list, s
2653
2654
goto free_param_list ;
2654
2655
}
2655
2656
2656
- pf_param .rdev = dev ;
2657
+ pf_param .rdev = rdev ;
2657
2658
pf_param .all_sources = true;
2658
2659
2659
2660
/* Match only packets with IPv4 EtherType */
@@ -2674,15 +2675,15 @@ static int rswitch_add_ipv4_dst_route(struct rswitch_ipv4_route *routing_list, s
2674
2675
param_list -> param -> priv = priv ;
2675
2676
param_list -> param -> dv = BIT (priv -> gwca .index );
2676
2677
param_list -> param -> slv = 0x3F ;
2677
- param_list -> param -> csd = dev -> rx_default_chain -> index ;
2678
+ param_list -> param -> csd = rdev -> rx_default_chain -> index ;
2678
2679
param_list -> param -> frame_type = LTHSLP0NONE ;
2679
2680
param_list -> param -> enable_sub_dst = true;
2680
2681
param_list -> param -> l23_info .priv = priv ;
2681
2682
param_list -> param -> l23_info .update_ttl = true;
2682
2683
param_list -> param -> l23_info .update_dst_mac = true;
2683
2684
param_list -> param -> l23_info .routing_port_valid = 0x3F ;
2684
2685
param_list -> param -> l23_info .routing_number = rswitch_rn_get (priv );
2685
- memcpy (param_list -> param -> l23_info .dst_mac , dev -> ndev -> dev_addr , ETH_ALEN );
2686
+ memcpy (param_list -> param -> l23_info .dst_mac , rdev -> ndev -> dev_addr , ETH_ALEN );
2686
2687
2687
2688
ret = rswitch_add_l3fwd (param_list -> param );
2688
2689
if (ret )
@@ -2707,17 +2708,17 @@ static void rswitch_fib_event_add(struct rswitch_fib_event_work *fib_work)
2707
2708
{
2708
2709
struct fib_entry_notifier_info fen = fib_work -> fen_info ;
2709
2710
struct rswitch_ipv4_route * new_routing_list ;
2710
- struct rswitch_device * dev ;
2711
+ struct rswitch_device * rdev ;
2711
2712
struct fib_nh * nh ;
2712
2713
2713
2714
nh = fib_info_nh (fen .fi , 0 );
2714
2715
2715
2716
if (fen .type != RTN_UNICAST )
2716
2717
return ;
2717
2718
2718
- dev = get_dev_by_ip (fib_work -> priv , be32_to_cpu (nh -> nh_saddr ), false);
2719
+ rdev = get_dev_by_ip (fib_work -> priv , be32_to_cpu (nh -> nh_saddr ), false);
2719
2720
/* Do not offload routes, related to VMQs (etha equal to NULL and not vlan device) */
2720
- if (!dev || (dev -> etha == NULL && !is_vlan_dev (dev -> ndev )))
2721
+ if (!rdev || (! rdev -> etha && !is_vlan_dev (rdev -> ndev )))
2721
2722
return ;
2722
2723
2723
2724
new_routing_list = kzalloc (sizeof (* new_routing_list ), GFP_KERNEL );
@@ -2727,12 +2728,12 @@ static void rswitch_fib_event_add(struct rswitch_fib_event_work *fib_work)
2727
2728
new_routing_list -> ip = be32_to_cpu (nh -> nh_saddr );
2728
2729
new_routing_list -> mask = be32_to_cpu (inet_make_mask (fen .dst_len ));
2729
2730
new_routing_list -> subnet = fen .dst ;
2730
- new_routing_list -> dev = dev ;
2731
+ new_routing_list -> rdev = rdev ;
2731
2732
INIT_LIST_HEAD (& new_routing_list -> param_list );
2732
2733
2733
- mutex_lock (& dev -> priv -> ipv4_forward_lock );
2734
- list_add (& new_routing_list -> list , & dev -> routing_list );
2735
- mutex_unlock (& dev -> priv -> ipv4_forward_lock );
2734
+ mutex_lock (& rdev -> priv -> ipv4_forward_lock );
2735
+ list_add (& new_routing_list -> list , & rdev -> routing_list );
2736
+ mutex_unlock (& rdev -> priv -> ipv4_forward_lock );
2736
2737
2737
2738
/*
2738
2739
* Route with zeroed subnet is default route. It does not need a PF entry
@@ -2741,15 +2742,15 @@ static void rswitch_fib_event_add(struct rswitch_fib_event_work *fib_work)
2741
2742
if (!new_routing_list -> subnet )
2742
2743
return ;
2743
2744
2744
- if (!rswitch_add_ipv4_dst_route (new_routing_list , dev , be32_to_cpu (nh -> nh_saddr )))
2745
+ if (!rswitch_add_ipv4_dst_route (new_routing_list , rdev , be32_to_cpu (nh -> nh_saddr )))
2745
2746
nh -> fib_nh_flags |= RTNH_F_OFFLOAD ;
2746
2747
new_routing_list -> nh = nh ;
2747
2748
}
2748
2749
2749
2750
static void rswitch_fib_event_remove (struct rswitch_fib_event_work * fib_work )
2750
2751
{
2751
2752
struct fib_entry_notifier_info fen = fib_work -> fen_info ;
2752
- struct rswitch_device * dev ;
2753
+ struct rswitch_device * rdev ;
2753
2754
struct fib_nh * nh ;
2754
2755
struct list_head * cur , * tmp ;
2755
2756
struct rswitch_ipv4_route * routing_list ;
@@ -2761,12 +2762,12 @@ static void rswitch_fib_event_remove(struct rswitch_fib_event_work *fib_work)
2761
2762
if (fen .type != RTN_UNICAST )
2762
2763
return ;
2763
2764
2764
- dev = get_dev_by_ip (fib_work -> priv , be32_to_cpu (nh -> nh_saddr ), false);
2765
- if (!dev )
2765
+ rdev = get_dev_by_ip (fib_work -> priv , be32_to_cpu (nh -> nh_saddr ), false);
2766
+ if (!rdev )
2766
2767
return ;
2767
2768
2768
- mutex_lock (& dev -> priv -> ipv4_forward_lock );
2769
- list_for_each (cur , & dev -> routing_list ) {
2769
+ mutex_lock (& rdev -> priv -> ipv4_forward_lock );
2770
+ list_for_each (cur , & rdev -> routing_list ) {
2770
2771
routing_list = list_entry (cur , struct rswitch_ipv4_route , list );
2771
2772
if (routing_list -> subnet == fen .dst && routing_list -> ip == be32_to_cpu (nh -> nh_saddr )) {
2772
2773
route_found = true;
@@ -2776,7 +2777,7 @@ static void rswitch_fib_event_remove(struct rswitch_fib_event_work *fib_work)
2776
2777
2777
2778
/* There is nothing to free */
2778
2779
if (!route_found ) {
2779
- mutex_unlock (& dev -> priv -> ipv4_forward_lock );
2780
+ mutex_unlock (& rdev -> priv -> ipv4_forward_lock );
2780
2781
return ;
2781
2782
}
2782
2783
@@ -2789,7 +2790,7 @@ static void rswitch_fib_event_remove(struct rswitch_fib_event_work *fib_work)
2789
2790
}
2790
2791
2791
2792
list_del (& routing_list -> list );
2792
- mutex_unlock (& dev -> priv -> ipv4_forward_lock );
2793
+ mutex_unlock (& rdev -> priv -> ipv4_forward_lock );
2793
2794
2794
2795
kfree (routing_list );
2795
2796
}
@@ -3704,7 +3705,7 @@ static void rswitch_add_ipv4_forward_all_types(struct l3_ipv4_fwd_param *param,
3704
3705
struct rswitch_ipv4_route * routing_list )
3705
3706
{
3706
3707
struct l3_ipv4_fwd_param_list * param_list [RSWITCH_FRAME_TYPE_NUM ] = {0 };
3707
- struct rswitch_private * priv = routing_list -> dev -> priv ;
3708
+ struct rswitch_private * priv = routing_list -> rdev -> priv ;
3708
3709
int i ;
3709
3710
3710
3711
for (i = 0 ; i < RSWITCH_FRAME_TYPE_NUM ; i ++ ) {
@@ -3791,8 +3792,8 @@ static struct rswitch_ipv4_route *rswitch_get_route(struct rswitch_private *priv
3791
3792
static void rswitch_forward_work (struct work_struct * work )
3792
3793
{
3793
3794
struct rswitch_forward_work * fwd_work ;
3794
- struct rswitch_device * dev ;
3795
- struct rswitch_device * real_dev ;
3795
+ struct rswitch_device * rdev ;
3796
+ struct rswitch_device * real_rdev ;
3796
3797
struct net_device * real_ndev ;
3797
3798
struct rswitch_ipv4_route * routing_list = NULL ;
3798
3799
struct l3_ipv4_fwd_param param = {0 };
@@ -3808,16 +3809,16 @@ static void rswitch_forward_work(struct work_struct *work)
3808
3809
if (!routing_list )
3809
3810
goto free ;
3810
3811
3811
- dev = routing_list -> dev ;
3812
- if (rswitch_ipv4_resolve (dev , fwd_work -> dst_ip , mac ))
3812
+ rdev = routing_list -> rdev ;
3813
+ if (rswitch_ipv4_resolve (rdev , fwd_work -> dst_ip , mac ))
3813
3814
goto free ;
3814
3815
3815
- if (is_vlan_dev (dev -> ndev )) {
3816
- real_ndev = vlan_dev_real_dev (dev -> ndev );
3817
- real_dev = netdev_priv (real_ndev );
3818
- param .dv = BIT (real_dev -> port );
3816
+ if (is_vlan_dev (rdev -> ndev )) {
3817
+ real_ndev = vlan_dev_real_dev (rdev -> ndev );
3818
+ real_rdev = netdev_priv (real_ndev );
3819
+ param .dv = BIT (real_rdev -> port );
3819
3820
} else {
3820
- param .dv = BIT (dev -> port );
3821
+ param .dv = BIT (rdev -> port );
3821
3822
}
3822
3823
param .csd = 0 ;
3823
3824
param .enable_sub_dst = false;
@@ -4056,9 +4057,9 @@ static void rswitch_deinit(struct rswitch_private *priv)
4056
4057
rswitch_desc_free (priv );
4057
4058
}
4058
4059
4059
- static int vlan_dev_register (struct net_device * dev )
4060
+ static int vlan_dev_register (struct net_device * ndev )
4060
4061
{
4061
- struct net_device * real_dev ;
4062
+ struct net_device * real_rdev ;
4062
4063
struct rswitch_net * rn ;
4063
4064
struct rswitch_private * priv ;
4064
4065
struct rswitch_device * rdev , * parent_rdev ;
@@ -4067,12 +4068,12 @@ static int vlan_dev_register(struct net_device *dev)
4067
4068
rn = net_generic (& init_net , rswitch_net_id );
4068
4069
priv = rn -> priv ;
4069
4070
4070
- real_dev = vlan_dev_real_dev (dev );
4071
+ real_rdev = vlan_dev_real_dev (ndev );
4071
4072
4072
- if (!ndev_is_tsn_dev (real_dev , priv ))
4073
+ if (!ndev_is_tsn_dev (real_rdev , priv ))
4073
4074
return 0 ;
4074
4075
4075
- parent_rdev = netdev_priv (real_dev );
4076
+ parent_rdev = netdev_priv (real_rdev );
4076
4077
4077
4078
rdev = kzalloc (sizeof (* rdev ), GFP_KERNEL );
4078
4079
if (!rdev )
@@ -4081,9 +4082,9 @@ static int vlan_dev_register(struct net_device *dev)
4081
4082
* but for proper chain mapping R-Switch driver requires real device parent. So we need to
4082
4083
* save pointer to ndev->dev.parent and restore it for proper kernel deinit ndev.
4083
4084
*/
4084
- rdev -> vlan_parent = dev -> dev .parent ;
4085
- dev -> dev .parent = real_dev -> dev .parent ;
4086
- rdev -> ndev = dev ;
4085
+ rdev -> vlan_parent = ndev -> dev .parent ;
4086
+ ndev -> dev .parent = real_rdev -> dev .parent ;
4087
+ rdev -> ndev = ndev ;
4087
4088
rdev -> priv = priv ;
4088
4089
INIT_LIST_HEAD (& rdev -> routing_list );
4089
4090
INIT_LIST_HEAD (& rdev -> tc_u32_list );
@@ -4098,19 +4099,19 @@ static int vlan_dev_register(struct net_device *dev)
4098
4099
list_add (& rdev -> list , & priv -> rdev_list );
4099
4100
write_unlock (& priv -> rdev_list_lock );
4100
4101
4101
- ret = rswitch_txdmac_init (dev , priv , -1 );
4102
+ ret = rswitch_txdmac_init (ndev , priv , -1 );
4102
4103
if (ret )
4103
4104
goto err_tx ;
4104
- ret = rswitch_rxdmac_init (dev , priv , -1 );
4105
+ ret = rswitch_rxdmac_init (ndev , priv , -1 );
4105
4106
if (ret )
4106
4107
goto err_rx ;
4107
4108
4108
- netif_napi_add (dev , & rdev -> napi , rswitch_poll , 64 );
4109
- netdev_info (dev , "MAC address %pMn" , dev -> dev_addr );
4109
+ netif_napi_add (ndev , & rdev -> napi , rswitch_poll , 64 );
4110
+ netdev_info (ndev , "MAC address %pMn" , ndev -> dev_addr );
4110
4111
napi_enable (& rdev -> napi );
4111
4112
return 0 ;
4112
4113
err_rx :
4113
- rswitch_txdmac_free (dev , priv );
4114
+ rswitch_txdmac_free (ndev , priv );
4114
4115
err_tx :
4115
4116
list_del (& rdev -> list );
4116
4117
return ret ;
@@ -4140,41 +4141,41 @@ static void cleanup_all_routes(struct rswitch_device *rdev)
4140
4141
mutex_unlock (& rdev -> priv -> ipv4_forward_lock );
4141
4142
}
4142
4143
4143
- static void vlan_dev_unregister (struct net_device * dev )
4144
+ static void vlan_dev_unregister (struct net_device * ndev )
4144
4145
{
4145
4146
struct rswitch_device * rdev ;
4146
4147
struct rswitch_net * rn ;
4147
4148
struct rswitch_private * priv ;
4148
4149
4149
4150
rn = net_generic (& init_net , rswitch_net_id );
4150
4151
priv = rn -> priv ;
4151
- rdev = ndev_to_rdev (dev );
4152
- rswitch_rxdmac_free (dev , priv );
4153
- rswitch_txdmac_free (dev , priv );
4152
+ rdev = ndev_to_rdev (ndev );
4153
+ rswitch_rxdmac_free (ndev , priv );
4154
+ rswitch_txdmac_free (ndev , priv );
4154
4155
napi_disable (& rdev -> napi );
4155
4156
netif_napi_del (& rdev -> napi );
4156
4157
4157
4158
cleanup_all_routes (rdev );
4158
4159
4159
4160
list_del (& rdev -> list );
4160
- dev -> dev .parent = rdev -> vlan_parent ;
4161
+ ndev -> dev .parent = rdev -> vlan_parent ;
4161
4162
kfree (rdev );
4162
4163
}
4163
4164
4164
4165
static int vlan_device_event (struct notifier_block * unused , unsigned long event ,
4165
4166
void * ptr )
4166
4167
{
4167
- struct net_device * dev = netdev_notifier_info_to_dev (ptr );
4168
+ struct net_device * ndev = netdev_notifier_info_to_dev (ptr );
4168
4169
4169
- if (!is_vlan_dev (dev ))
4170
+ if (!is_vlan_dev (ndev ))
4170
4171
return NOTIFY_DONE ;
4171
4172
4172
4173
switch (event ) {
4173
4174
case NETDEV_REGISTER :
4174
- vlan_dev_register (dev );
4175
+ vlan_dev_register (ndev );
4175
4176
break ;
4176
4177
case NETDEV_UNREGISTER :
4177
- vlan_dev_unregister (dev );
4178
+ vlan_dev_unregister (ndev );
4178
4179
break ;
4179
4180
}
4180
4181
0 commit comments