Hi all,
here's the patch from the IRC chat today. I haven't tested it but it
should be close,
Cheers,
Davidm
--
David McCullough, [email protected], Ph: 0410 560 763
diff --git a/linux/include/libreswan/ipsec_kversion.h b/linux/include/libreswan/ipsec_kversion.h
index c90bf91..d177aaf 100644
--- a/linux/include/libreswan/ipsec_kversion.h
+++ b/linux/include/libreswan/ipsec_kversion.h
@@ -526,6 +526,14 @@
# define HAVE_NETIF_QUEUE
#endif
+#ifdef alloc_netdev
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
+# define ipsec_alloc_netdev(a,b,c,d) alloc_netdev(a,b,c,d)
+# else
+# define ipsec_alloc_netdev(a,b,c,d) alloc_netdev(a,b,d)
+# endif
+#endif
+
#if !defined(DEFINE_RWLOCK)
# define DEFINE_RWLOCK(x) rwlock_t x = RW_LOCK_UNLOCKED
#endif
diff --git a/linux/net/ipsec/ipsec_mast.c b/linux/net/ipsec/ipsec_mast.c
index ca14a3d..8504f04 100644
--- a/linux/net/ipsec/ipsec_mast.c
+++ b/linux/net/ipsec/ipsec_mast.c
@@ -887,11 +887,11 @@ int ipsec_mast_probe(struct net_device *dev)
dev->set_mac_address = NULL;
dev->neigh_setup = ipsec_mast_neigh_setup_dev;
#endif
-#ifdef alloc_netdev
+#ifdef ipsec_alloc_netdev
dev->destructor = free_netdev;
#endif
-#ifndef alloc_netdev
+#ifndef ipsec_alloc_netdev
dev->priv = kmalloc(sizeof(struct mastpriv), GFP_KERNEL);
if (dev->priv == NULL)
return -ENOMEM;
@@ -931,7 +931,7 @@ int ipsec_mast_probe(struct net_device *dev)
return 0;
}
-#ifdef alloc_netdev
+#ifdef ipsec_alloc_netdev
static void ipsec_mast_netdev_setup(struct net_device *dev)
{
}
@@ -970,9 +970,9 @@ int ipsec_mast_createnum(int vifnum)
snprintf(name, IFNAMSIZ, MAST_DEV_FORMAT, vifnum);
-#ifdef alloc_netdev
- im = alloc_netdev(sizeof(struct mastpriv), name,
- ipsec_mast_netdev_setup);
+#ifdef ipsec_alloc_netdev
+ im = ipsec_alloc_netdev(sizeof(struct mastpriv), name,
+ NET_NAME_UNKNOWN, ipsec_mast_netdev_setup);
#else
im = (struct net_device *)kmalloc(sizeof(struct net_device),
GFP_KERNEL);
@@ -983,7 +983,7 @@ int ipsec_mast_createnum(int vifnum)
return -ENOMEM;
}
-#ifndef alloc_netdev
+#ifndef ipsec_alloc_netdev
memset((caddr_t)im, 0, sizeof(struct net_device));
memcpy(im->name, name, IFNAMSIZ);
#endif
@@ -1024,7 +1024,7 @@ int ipsec_mast_deletenum(int vifnum)
KLIPS_PRINT(debug_tunnel, "Unregistering %s\n", dev_ipsec->name);
unregister_netdev(dev_ipsec);
KLIPS_PRINT(debug_tunnel, "Unregisted %s\n", dev_ipsec->name);
-#ifndef alloc_netdev
+#ifndef ipsec_alloc_netdev
kfree(dev_ipsec->priv);
dev_ipsec->priv = NULL;
#endif
@@ -1091,7 +1091,7 @@ int ipsec_mast_cleanup_devices(void)
mastdevices[i] = NULL;
ipsec_dev_put(dev_mast);
unregister_netdev(dev_mast);
-#ifndef alloc_netdev
+#ifndef ipsec_alloc_netdev
kfree(dev_mast->priv);
dev_mast->priv = NULL;
#endif
diff --git a/linux/net/ipsec/ipsec_tunnel.c b/linux/net/ipsec/ipsec_tunnel.c
index ccebbef..87a60cc 100644
--- a/linux/net/ipsec/ipsec_tunnel.c
+++ b/linux/net/ipsec/ipsec_tunnel.c
@@ -2007,7 +2007,7 @@ int ipsec_tunnel_init(struct net_device *dev)
(unsigned long) sizeof(struct ipsecpriv),
dev->name ? dev->name : "NULL");
-#ifdef alloc_netdev
+#ifdef ipsec_alloc_netdev
dev->destructor = free_netdev;
#endif
@@ -2076,7 +2076,7 @@ int ipsec_tunnel_probe(struct net_device *dev)
return 0;
}
-#ifdef alloc_netdev
+#ifdef ipsec_alloc_netdev
static void ipsec_tunnel_netdev_setup(struct net_device *dev)
{
}
@@ -2108,9 +2108,9 @@ int ipsec_tunnel_createnum(int ifnum)
ifnum);
sprintf(name, IPSEC_DEV_FORMAT, ifnum);
-#ifdef alloc_netdev
+#ifdef ipsec_alloc_netdev
dev_ipsec = alloc_netdev(sizeof(struct ipsecpriv), name,
- ipsec_tunnel_netdev_setup);
+ NET_NAME_UNKNOWN, ipsec_tunnel_netdev_setup);
#else
dev_ipsec = (struct net_device*)kmalloc(sizeof(struct net_device),
GFP_KERNEL);
@@ -2121,13 +2121,13 @@ int ipsec_tunnel_createnum(int ifnum)
name);
return -ENOMEM;
}
-#ifndef alloc_netdev
+#ifndef ipsec_alloc_netdev
memset((caddr_t)dev_ipsec, 0, sizeof(struct net_device));
strncpy(dev_ipsec->name, name, sizeof(dev_ipsec->name));
#ifdef PAUL_FIXME
dev_ipsec->next = NULL;
#endif
-#endif /* alloc_netdev */
+#endif /* ipsec_alloc_netdev */
#ifndef USE_NETDEV_OPS
dev_ipsec->init = &ipsec_tunnel_probe;
#else
@@ -2196,10 +2196,10 @@ int ipsec_tunnel_deletenum(int vifnum)
KLIPS_PRINT(debug_tunnel, "Unregistering %s\n", dev_ipsec->name);
unregister_netdev(dev_ipsec);
KLIPS_PRINT(debug_tunnel, "Unregisted %s\n", dev_ipsec->name);
-#ifndef alloc_netdev
+#ifndef ipsec_alloc_netdev
kfree(dev_ipsec->priv);
dev_ipsec->priv = NULL;
-#endif /* alloc_netdev */
+#endif /* ipsec_alloc_netdev */
return 0;
}
@@ -2239,10 +2239,10 @@ int ipsec_tunnel_cleanup_devices(void)
dev_ipsec->name);
unregister_netdev(dev_ipsec);
KLIPS_PRINT(debug_tunnel, "Unregisted %s\n", dev_ipsec->name);
-#ifndef alloc_netdev
+#ifndef ipsec_alloc_netdev
kfree(dev_ipsec->priv);
dev_ipsec->priv = NULL;
-#endif /* alloc_netdev */
+#endif /* ipsec_alloc_netdev */
}
#ifdef HAVE_UDP_ENCAP_CONVERT
_______________________________________________
Swan-dev mailing list
[email protected]
https://lists.libreswan.org/mailman/listinfo/swan-dev