xfrm: Register xfrm_dev_notifier in appropriate place
Currently, driver registers it from pernet_operations::init method, and this breaks modularity, because initialization of net namespace and netdevice notifiers are orthogonal actions. We don't have per-namespace netdevice notifiers; all of them are global for all devices in all namespaces. Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
caeeeda344
commit
e9a441b6e7
@@ -2895,8 +2895,6 @@ static int __net_init xfrm_policy_init(struct net *net)
|
||||
INIT_LIST_HEAD(&net->xfrm.policy_all);
|
||||
INIT_WORK(&net->xfrm.policy_hash_work, xfrm_hash_resize);
|
||||
INIT_WORK(&net->xfrm.policy_hthresh.work, xfrm_hash_rebuild);
|
||||
if (net_eq(net, &init_net))
|
||||
xfrm_dev_init();
|
||||
return 0;
|
||||
|
||||
out_bydst:
|
||||
@@ -2999,6 +2997,7 @@ void __init xfrm_init(void)
|
||||
INIT_WORK(&xfrm_pcpu_work[i], xfrm_pcpu_work_fn);
|
||||
|
||||
register_pernet_subsys(&xfrm_net_ops);
|
||||
xfrm_dev_init();
|
||||
seqcount_init(&xfrm_policy_hash_generation);
|
||||
xfrm_input_init();
|
||||
}
|
||||
|
Reference in New Issue
Block a user