Re: vmware & 2.4.3 - networking no go
On Wed, 2 May 2001, dids wrote:
Cant get vmware to run now Ive upgraded to 2.4.3 The networking modules fail. Ive seen patches by people for RH7.1 but no info for Suse
The kernel patches floating about on various lists replace a removed function that has been obsoleted. Namely this one: static inline atomic_t *skb_datarefp(struct sk_buff *skb) { return (atomic_t *)(skb->end); } Whilst this is easy to replace, the correct fix would be to fix the vmware modules not to use this function, and instead use the new equivalent, which is &skb_shinfo(skb)->dataref regards, davej.
On Wed, 2 May 2001 18:29:30 +0200 (CEST)
Dave Jones
The kernel patches floating about on various lists replace a removed function that has been obsoleted. Namely this one:
static inline atomic_t *skb_datarefp(struct sk_buff *skb) { return (atomic_t *)(skb->end); }
Whilst this is easy to replace, the correct fix would be to fix the vmware modules not to use this function, and instead use the new equivalent, which is &skb_shinfo(skb)->dataref
You are obviously far more knowledgeable than I Dave, but FWIW, using vanilla kernels with 7.0, I found that I did not need this patch until I installed 2.4.4. Regards, Geoff _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
On Wed, 2 May 2001 quintaq@yahoo.co.uk wrote:
You are obviously far more knowledgeable than I Dave, but FWIW, using vanilla kernels with 7.0, I found that I did not need this patch until I installed 2.4.4.
Correct. The function has only recently been removed. regards, davej
This from the lkml: "Mohammad A. Haque" wrote:
tpepper@vato.org wrote:
This patch replaces a wee bit of code vmware wanted in include/linux/skbuff.h although I'm guessing it was removed for a reason and vmware should be patched to use the new method.
Better to patch vmware rather than the kernel. Here's a patch thet should be applied to source files in /usr/lib/vmware/modules/source/vmnet.tar
--
===================================================================== Mohammad A. Haque http://www.haque.net/ mhaque@haque.net
"Alcohol and calculus don't mix. Project Lead Don't drink and derive." --Unknown http://wm.themes.org/ batmanppc@themes.org =====================================================================
------------------------------------------------------------------------ diff -urw vmnet-only/vnetInt.h vmnet-only-patched/vnetInt.h --- vmnet-only/vnetInt.h Wed Nov 1 20:48:28 2000 +++ vmnet-only-patched/vnetInt.h Tue Apr 17 23:29:47 2001 @@ -16,9 +16,15 @@ # define KFREE_SKB(skb, type) kfree_skb(skb) # define DEV_KFREE_SKB(skb, type) dev_kfree_skb(skb) # define SKB_INCREF(skb) atomic_inc(&(skb)->users) +# ifdef KERNEL_2_4_0 +# define SKB_IS_CLONE_OF(clone, skb) ( \ + skb_cloned(clone) \ + ) +# else # define SKB_IS_CLONE_OF(clone, skb) ( \ skb_datarefp(clone) == skb_datarefp(skb) \ ) +# endif # define SK_ALLOC(pri) sk_alloc(0, pri, 1) # define DEV_QUEUE_XMIT(skb, dev, pri) ( \ (skb)->dev = (dev), \ -- Rafael
** Reply to message from "Rafael E. Herrera"
------------------------------------------------------------------------ diff -urw vmnet-only/vnetInt.h vmnet-only-patched/vnetInt.h --- vmnet-only/vnetInt.h Wed Nov 1 20:48:28 2000 +++ vmnet-only-patched/vnetInt.h Tue Apr 17 23:29:47 2001 @@ -16,9 +16,15 @@ # define KFREE_SKB(skb, type) kfree_skb(skb) # define DEV_KFREE_SKB(skb, type) dev_kfree_skb(skb) # define SKB_INCREF(skb) atomic_inc(&(skb)->users) +# ifdef KERNEL_2_4_0 +# define SKB_IS_CLONE_OF(clone, skb) ( \ + skb_cloned(clone) \ + ) +# else # define SKB_IS_CLONE_OF(clone, skb) ( \ skb_datarefp(clone) == skb_datarefp(skb) \ ) +# endif # define SK_ALLOC(pri) sk_alloc(0, pri, 1) # define DEV_QUEUE_XMIT(skb, dev, pri) ( \ (skb)->dev = (dev), \
-- Rafael
I know nothing about patching, but I would like to be able to use 2.4.4 for the VIA Southbridge fix and still be able to use vmware (see signature). Do I manually add this code to the .h file? Thanks in advance. Ed Harrison broadcasting on ----/ / _ ---/ / (_)__ __ ____ __ --/ /__/ / _ \/ // /\ \/ / -/____/_/_//_/\_,_/ /_/\_\ by SuSE(6.4), Kernel 2.4.2, X 4.0.3 or Warp 4, FP12 or Windows98 (running in vmware 2.0.3 for fun) PolarBarMailer 1.1.19a with IBM JDK 1.1.8
On Thu, 3 May 2001 08:28:29 -0400
Ed Harrison
** Reply to message from "Rafael E. Herrera"
on Wed, 02 May 2001 13:29:09 -0400 I know nothing about patching, but I would like to be able to use 2.4.4 for the VIA Southbridge fix and still be able to use vmware (see signature).
Do I manually add this code to the .h file?
Hi Ed, Adding it manually worked for me. Here is the relevant part of skbuff.h as amended : /* Internal */ #define skb_shinfo(SKB) ((struct skb_shared_info *)((SKB)->end)) /** * skb_queue_empty - check if a queue is empty * @list: queue head * * Returns true if the queue is empty, false otherwise. */ static inline atomic_t *skb_datarefp(struct sk_buff *skb) { return (atomic_t *)(skb->end); Of course you have to recompile ;-) Geoff } _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
** Reply to message from quintaq@yahoo.co.uk on Thu, 3 May 2001 15:15:51 +0100
/* Internal */ #define skb_shinfo(SKB) ((struct skb_shared_info *)((SKB)->end))
/** * skb_queue_empty - check if a queue is empty * @list: queue head * * Returns true if the queue is empty, false otherwise. */
static inline atomic_t *skb_datarefp(struct sk_buff *skb) { return (atomic_t *)(skb->end);
Of course you have to recompile ;-)
Geoff }
Thanks, but I just noticed that VMWare has a new version on their site that is set to work with 2.4.x. Ed Harrison broadcasting on ----/ / _ ---/ / (_)__ __ ____ __ --/ /__/ / _ \/ // /\ \/ / -/____/_/_//_/\_,_/ /_/\_\ by SuSE(6.4), Kernel 2.4.2, X 4.0.3 or Warp 4, FP12 or Windows98 (running in vmware 2.0.3 for fun) PolarBarMailer 1.1.19a with IBM JDK 1.1.8
participants (4)
-
Dave Jones
-
Ed Harrison
-
quintaq@yahoo.co.uk
-
Rafael E. Herrera