[NETLINK]: fib_frontend build fixes

1) fibnl needs to be declared outside of config ifdefs,
   and also should not be explicitly initialized to NULL
2) nl_fib_input() args are wrong for netlink_kernel_create()
   input method

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2007-10-10 21:32:39 -07:00
parent 31910575a9
commit 28f7b0360f
1 changed files with 5 additions and 11 deletions

View File

@ -49,6 +49,8 @@
#define FFprint(a...) printk(KERN_DEBUG a) #define FFprint(a...) printk(KERN_DEBUG a)
static struct sock *fibnl;
#ifndef CONFIG_IP_MULTIPLE_TABLES #ifndef CONFIG_IP_MULTIPLE_TABLES
struct fib_table *ip_fib_local_table; struct fib_table *ip_fib_local_table;
@ -62,9 +64,6 @@ static struct hlist_head fib_table_hash[FIB_TABLE_HASHSZ];
#define FIB_TABLE_HASHSZ 256 #define FIB_TABLE_HASHSZ 256
static struct hlist_head fib_table_hash[FIB_TABLE_HASHSZ]; static struct hlist_head fib_table_hash[FIB_TABLE_HASHSZ];
static struct sock *fibnl = NULL;
struct fib_table *fib_new_table(u32 id) struct fib_table *fib_new_table(u32 id)
{ {
struct fib_table *tb; struct fib_table *tb;
@ -787,17 +786,12 @@ static void nl_fib_lookup(struct fib_result_nl *frn, struct fib_table *tb )
} }
} }
static void nl_fib_input(struct sock *sk, int len) static void nl_fib_input(struct sk_buff *skb)
{ {
struct sk_buff *skb = NULL;
struct nlmsghdr *nlh = NULL;
struct fib_result_nl *frn; struct fib_result_nl *frn;
u32 pid; struct nlmsghdr *nlh;
struct fib_table *tb; struct fib_table *tb;
u32 pid;
skb = skb_dequeue(&sk->sk_receive_queue);
if (skb == NULL)
return;
nlh = nlmsg_hdr(skb); nlh = nlmsg_hdr(skb);
if (skb->len < NLMSG_SPACE(0) || skb->len < nlh->nlmsg_len || if (skb->len < NLMSG_SPACE(0) || skb->len < nlh->nlmsg_len ||