patch-2.1.16 linux/net/ipv4/fib.c

Next file: linux/net/ipv4/icmp.c
Previous file: linux/net/ipv4/arp.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.15/linux/net/ipv4/fib.c linux/net/ipv4/fib.c
@@ -66,7 +66,7 @@
 
 static int fib_stamp;
 
-static int rtmsg_process(struct nlmsghdr *n, struct in_rtmsg *r);
+int rtmsg_process(struct nlmsghdr *n, struct in_rtmsg *r);
 
 
 #ifdef CONFIG_RTNETLINK
@@ -119,7 +119,7 @@
 static struct wait_queue *fib_wait;
 atomic_t fib_users;
 
-static void fib_lock(void)
+void fib_lock(void)
 {
 	while (fib_users)
 		sleep_on(&fib_wait);
@@ -127,7 +127,7 @@
 	dev_lock_list();
 }
 
-static void fib_unlock(void)
+void fib_unlock(void)
 {
 	dev_unlock_list();
 	if (atomic_dec_and_test(&fib_users)) {
@@ -566,7 +566,7 @@
 	if (op)
 		return arp_req_set(&r, NULL);
 	
-	fz = &local_class.fib_zone_list[logmask];
+	fz = local_class.fib_zones[logmask];
 
 	for (f1 = fz_hash(f->fib_key, fz); f1; f1=f1->fib_next)	{
 		if (f->fib_key != f1->fib_key || f1->fib_flag ||
@@ -838,7 +838,7 @@
 	struct fib_zone * fz;
 	struct fib_info * fi;
 
-	int logmask = 32 - r->rtmsg_prefixlen;
+	long logmask = 32L - r->rtmsg_prefixlen;	/* gcc bug work-around: must be "L" and "long" */
 	u32 dst = ntohl(r->rtmsg_prefix.s_addr);
 	u32 gw  = r->rtmsg_gateway.s_addr;
 	short metric = r->rtmsg_metric;
@@ -1397,7 +1397,7 @@
 
 #endif
 
-static int rtmsg_process(struct nlmsghdr *n, struct in_rtmsg *r)
+int rtmsg_process(struct nlmsghdr *n, struct in_rtmsg *r)
 {
 	unsigned long cmd=n->nlmsg_type;
 	struct device * dev = NULL;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov