|
If you are using linux kernel 2.6.9+ with the Cisco VPN client you may not be able to compile the vpn client. The other problem may be that the system will hang / freeze when using the Cisco VPN client with linux kernels 2.6.9 or greater. If you are having problems with the Cisco VPN client for linux then the following should remedy the situation:
The Cisco VPN client (cisco_vpnclient) doesn't work with kernel 2.6.9+. In order to get the Cisco VPN client for linux to work you must patch the interceptor.c file by moving the supported_device function above the definition of add_netdev and recompile with
--- interceptor.c.orig 2005-01-04 14:55:44.246848280 -0500
+++ interceptor.c 2005-01-04 14:56:15.955027904 -0500
@@ -236,6 +236,24 @@
dev_kfree_skb(skb);
return 0;
}
+
+static int
+inline supported_device(struct net_device* dev)
+{
+ int rc=0;
+
+ if(dev->type == ARPHRD_ETHER)
+ {
+ rc=1;
+ }
+ else if(dev->type == ARPHRD_PPP)
+ {
+ rc=1;
+ }
+
+ return rc;
+}
+
static int
add_netdev(struct net_device *dev)
{
@@ -476,23 +494,6 @@
s->rc = 0;
}
-static int
-inline supported_device(struct net_device* dev)
-{
- int rc=0;
-
- if(dev->type == ARPHRD_ETHER)
- {
- rc=1;
- }
- else if(dev->type == ARPHRD_PPP)
- {
- rc=1;
- }
-
- return rc;
-}
-
static BINDING *
getbindingbydev(struct net_device *dev)
Save the above patch in a file called patch.txt and issue
In addition, for kernel 2.6.10 or greater you must change the first parameter to the calls to the function $ diff vpnclient/interceptor.c vpnclient.1/interceptor.c 607c607 < if (skb_checksum_help(&skb,1)) --- > if (skb_checksum_help(skb,1)) 732c732 < if (skb_checksum_help(&skb,0)) --- > if (skb_checksum_help(skb,0)) Credit goes to slacker775 and urr on linuxquestions.org. |
Updated: 2005-04-06 Kevin J. Smith