diff options
Diffstat (limited to 'net/ipv4/fib_frontend.c')
-rw-r--r-- | net/ipv4/fib_frontend.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index f823ca34cb12..a5cba2349605 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c | |||
@@ -62,6 +62,9 @@ static struct hlist_head fib_table_hash[FIB_TABLE_HASHSZ]; | |||
62 | #define FIB_TABLE_HASHSZ 256 | 62 | #define FIB_TABLE_HASHSZ 256 |
63 | static struct hlist_head fib_table_hash[FIB_TABLE_HASHSZ]; | 63 | static struct hlist_head fib_table_hash[FIB_TABLE_HASHSZ]; |
64 | 64 | ||
65 | static struct sock *fibnl = NULL; | ||
66 | |||
67 | |||
65 | struct fib_table *fib_new_table(u32 id) | 68 | struct fib_table *fib_new_table(u32 id) |
66 | { | 69 | { |
67 | struct fib_table *tb; | 70 | struct fib_table *tb; |
@@ -811,13 +814,13 @@ static void nl_fib_input(struct sock *sk, int len) | |||
811 | pid = NETLINK_CB(skb).pid; /* pid of sending process */ | 814 | pid = NETLINK_CB(skb).pid; /* pid of sending process */ |
812 | NETLINK_CB(skb).pid = 0; /* from kernel */ | 815 | NETLINK_CB(skb).pid = 0; /* from kernel */ |
813 | NETLINK_CB(skb).dst_group = 0; /* unicast */ | 816 | NETLINK_CB(skb).dst_group = 0; /* unicast */ |
814 | netlink_unicast(sk, skb, pid, MSG_DONTWAIT); | 817 | netlink_unicast(fibnl, skb, pid, MSG_DONTWAIT); |
815 | } | 818 | } |
816 | 819 | ||
817 | static void nl_fib_lookup_init(void) | 820 | static void nl_fib_lookup_init(void) |
818 | { | 821 | { |
819 | netlink_kernel_create(&init_net, NETLINK_FIB_LOOKUP, 0, nl_fib_input, | 822 | fibnl = netlink_kernel_create(&init_net, NETLINK_FIB_LOOKUP, 0, |
820 | NULL, THIS_MODULE); | 823 | nl_fib_input, NULL, THIS_MODULE); |
821 | } | 824 | } |
822 | 825 | ||
823 | static void fib_disable_ip(struct net_device *dev, int force) | 826 | static void fib_disable_ip(struct net_device *dev, int force) |