--- a/include/net/addrconf.h 2011-02-23 12:50:55.000000000 -0500
+++ b/include/net/addrconf.h 2011-02-23 12:51:26.000000000 -0500
@@ -8,6 +8,15 @@

 #define ADDR_CHECK_FREQUENCY (120*HZ)

+#ifdef __KERNEL__
+
+#include <linux/in6.h>
+#include <linux/netdevice.h>
+#include <net/if_inet6.h>
+#include <net/ipv6.h>
+
+#endif
+
 struct prefix_info {
  __u8 type;
  __u8 length;
@@ -34,10 +43,6 @@

 #ifdef __KERNEL__

-#include <linux/in6.h>
-#include <linux/netdevice.h>
-#include <net/if_inet6.h>
-
 #define IN6_ADDR_HSIZE 16

 extern void addrconf_init(void);
--- a/include/libreswan/ipsec_kversion.h 2011-02-23 12:50:55.000000000 -0500
+++ b/include/libreswan/ipsec_kversion.h 2011-02-23 12:51:02.000000000 -0500
@@ -187,7 +187,7 @@
  */
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
 # ifndef module_param
-#  define module_param(a,b,c)  MODULE_PARM(#a,"i")
+#  define module_param(a,b,c)  MODULE_PARM(a,"i")
 # endif
 /* note below is only true for our current calls to module_param_array */
 # define module_param_array(a,b,c,d)  MODULE_PARM(#a,"1-2i")
--- a/include/libreswan/ipsec_kversion.h 2011-02-24 08:20:58.000000000 -0500
+++ b/include/libreswan/ipsec_kversion.h 2011-02-24 09:30:29.000000000 -0500
@@ -357,6 +357,7 @@
 #endif

 #include <linux/spinlock.h>
+#include <linux/threads.h>
 #include <linux/interrupt.h>
 #include <net/addrconf.h>
 #define ip6_chk_addr(a) (ipv6_chk_addr(&init_net, a, NULL, 1) ? IS_MYADDR : 0)
--- a/include/linux/sha1.h 2011-02-23 13:19:40.000000000 -0500
+++ b/include/linux/sha1.h 2011-02-09 08:19:23.000000000 -0500
@@ -16,6 +16,8 @@
 #ifndef _SHA1_H_
 #define _SHA1_H_

+#include <asm/types.h>
+
 typedef struct
 {
  __u32 state[5];

