[OpenVPN home] [Date Prev] [Date Index] [Date Next]
[OpenVPN mailing lists] [Thread Prev] [Thread Index] [Thread Next]
Google
 
Web openvpn.net

Re: [Openvpn-users] Openvpn and Vmware



Hi Guy,

* Guy Saindon <gsaindon@xxxxxxxxxxxxxx> [031209 15:44]:
> "Kernel Panic: Kernel not syncing".

> 	I don't know why Server B crashes since VMWare is not even running on that
> server.  Any idea?

Which kernel are you running? There must be more than just the 'Kernel
Panic: Kernel not syncing' maybe a oops output etc.

I hat some problems with an older linux kernel which keeped crashing if
the link on an interface was down. This was patched in 'v2.4.23-pre3'.
Patch attached. I had some more problems running the current bitkeeper
using ipv6 via openvpn which crashed reproducable my openvpn server when
giving a peer a wrong ipv6 address and pinged the right address from the
server. This was reproducable, I filed a bugreport, but no feedback
until now. Now we're back to a 2.4 kernel on this production box which
has around 15 openvpns running. :-)

The patch was extracted using the following command:

(excalibur) [/scratch/src/linux-stable] bk rset -hr@xxxxxxxxxxx | bk gnupatch -h
(excalibur) [/scratch/src/linux-stable] bk rset -hr@xxxxxxxxxxx | bk gnupatch -h

changelog entries:

ChangeSet@xxxxxxxxxxx, 2003-09-02 14:36:07-07:00, davem@xxxxxxxxxxxxxx
  [IPV4]: Do not BUG() on icmp_xmit_lock() contention, just drop.

ChangeSet@xxxxxxxxxxx, 2003-09-01 02:44:55-07:00, davem@xxxxxxxxxxxxxx
  [IPV6]: Do not BUG() on icmp6 socket contention, just drop.

Greetings,
	Thomas
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.1063.37.7 -> 1.1063.38.1
#	     net/ipv4/icmp.c	1.17    -> 1.18   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/09/01	jgarzik@xxxxxxxxxx	1.1063.1.67
# [NET] move ethtool_op_set_tx_csum from 8139cp drvr to net/core/ethtool.c,
# where it belongs.
# --------------------------------------------
# 03/09/01	jgarzik@xxxxxxxxxx	1.1063.37.8
# [PCI, ia32] don't assume "c->x86 > 6" applies to non-Intel CPUs
# when programming PCI cache line size.
# 
# Just to be on the safe side.  Suggested by Ingo Oeser.
# --------------------------------------------
# 03/09/02	agruen@xxxxxxx	1.1063.37.9
# [PATCH] fix setxattr const-ness
# 
# Hello Marcelo,
# 
# this is a fix I've already sent you earlier. It fixes the declaration of
# the value parameter of the setxattr inode operation, which is supposed
# to be const---it's a trivial bug. Please apply.
# 
# 
# 
# Index: linux-2.4.23-pre2/fs/jfs/jfs_xattr.h
# ===================================================================
# --------------------------------------------
# 03/09/02	khc@xxxxxxxxx	1.1063.37.10
# [PATCH] generic HDLC update
# 
# Marcelo Tosatti <marcelo@xxxxxxxxxxxxxxxx> writes:
# 
# > Krzysztof, please send me a mail with "generic HDLC update" subject and
# > detailed changelog in the body, followed by the patch. (thats easier for
# > me to apply :))
# 
# As you wish:
# Looks like I lied - the DCD (carrier detect) isn't here as it needs more
# testing - it's in 2.6 only.
# 
# Changes:
# * Documentation and spelling fixes
# * user can query PVC device for type and DLCI
# * private Frame Relay helper routines moved out of hdlc.h
# * added hdlc_type_trans() to simplify packet receive path and make tcpdump
#   etc. happy
# * missing rtnl_lock()/rtnl_unload() bug in unregister_hdlc_device fixed
# * N2, C101: interrupt handler now works under high IRQ load from other
#   devices (with previous versions, the IRQ processing for the card could
#   sometimes stop after reaching "work limit")
# * Added Ethernet device emulation for raw HDLC. VLAN and bridging compatible,
#   tested with RAD ChipBridge (ChipBridge doesn't work with full size VLAN
#   frames, though).
# * Added Ethernet device emulation for bridged Ethernet frames on Frame-Relay.
# * no more "protocol 0008 is buggy" while using tcpdump, at last.
# * Frame-Relay DCE (network) side now sorts DLCI list in PVC FULL STATUS.
#   Some FR DTE had problems with unsorted list.
# * Small changes to LMI logic with Frame-Relay.
# * raw HDLC now defaults to ITU-T 16-bit CRC.
# * fix for SCA-II based cards (drivers not in standard kernel) interrupt
#   setting when using 2 ports.
# * there is now one detect_ram routine for all SCA-based cards.
# * hw drivers have now smaller TX packet rings to decrease TX latency for
#   high priority packets (LMI etc)
# * fixed subtle transmit bug in c101.c which could lead to transmitter hangs
#   and duplicated frames with SCA HD64570 working in 8-bit mode.
# * kmalloc(GFP_KERNEL) in interrupt context has been fixed.
# * Some __init etc fixes.
# * other misc fixes
# 
# --
# Krzysztof Halasa, B*FH
# --------------------------------------------
# 03/09/02	bunk@xxxxxxxxx	1.1063.37.11
# [PATCH] Fix IRQ_NONE clash in SCSI drivers
# 
# On Wed, Aug 27, 2003 at 02:52:45PM -0300, Marcelo Tosatti wrote:
# >...
# > Summary of changes from v2.4.22 to v2.4.23-pre1
# > ============================================
# >...
# > Arnaldo Carvalho de Melo:
# >   o irqreturn_t compatibility with 2.6
# >...
# 
# This change added an (empty) IRQ_NONE #define to interrupt.h.
# 
# Several scsi drivers are already using an IRQ_NONE.  Rename that to
# SCSI_IRQ_NONE (a similar change was done in 2.5 by Andrew Morton several
# months ago).
# 
# I've tested the compilation with 2.4.23-pre2.
# 
# Please apply
# Adrian
# --------------------------------------------
# 03/09/02	davem@xxxxxxxxxxxxxx	1.1063.38.1
# [IPV4]: Do not BUG() on icmp_xmit_lock() contention, just drop.
# --------------------------------------------
#
diff -Nru a/net/ipv4/icmp.c b/net/ipv4/icmp.c
--- a/net/ipv4/icmp.c	Wed Sep 24 15:46:38 2003
+++ b/net/ipv4/icmp.c	Wed Sep 24 15:46:38 2003
@@ -187,11 +187,17 @@
 #define icmp_socket (&__icmp_inode[smp_processor_id()].u.socket_i)
 #define icmp_socket_cpu(X) (&__icmp_inode[(X)].u.socket_i)
 
-static void icmp_xmit_lock(void)
+static int icmp_xmit_lock(void)
 {
 	local_bh_disable();
-	if (unlikely(!spin_trylock(&icmp_socket->sk->lock.slock)))
-		BUG();
+	if (unlikely(!spin_trylock(&icmp_socket->sk->lock.slock))) {
+		/* This can happen if the output path signals a
+		 * dst_link_failure() for an outgoing ICMP packet.
+		 */
+		local_bh_enable();
+		return 1;
+	}
+	return 0;
 }
 
 static void icmp_xmit_unlock(void)
@@ -320,7 +326,8 @@
 	if (ip_options_echo(&icmp_param->replyopts, skb))
 		return;
 
-	icmp_xmit_lock();
+	if (icmp_xmit_lock())
+		return;
 
 	icmp_param->data.icmph.checksum=0;
 	icmp_param->csum=0;
@@ -427,7 +434,8 @@
 		}
 	}
 
-	icmp_xmit_lock();
+	if (icmp_xmit_lock())
+		return;
 
 	/*
 	 *	Construct source address and options.
# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.1063.35.3 -> 1.1063.35.4
#	     net/ipv6/icmp.c	1.14    -> 1.15   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/09/01	davem@xxxxxxxxxxxxxx	1.1063.35.4
# [IPV6]: Do not BUG() on icmp6 socket contention, just drop.
# --------------------------------------------
#
diff -Nru a/net/ipv6/icmp.c b/net/ipv6/icmp.c
--- a/net/ipv6/icmp.c	Wed Sep 24 15:47:12 2003
+++ b/net/ipv6/icmp.c	Wed Sep 24 15:47:12 2003
@@ -97,11 +97,18 @@
 };
 
 
-static void icmpv6_xmit_lock(void)
+static int icmpv6_xmit_lock(void)
 {
 	local_bh_disable();
-	if (unlikely(!spin_trylock(&icmpv6_socket->sk->lock.slock)))
-		BUG();
+	if (unlikely(!spin_trylock(&icmpv6_socket->sk->lock.slock))) {
+		/* This can happen if the output path (f.e. SIT or
+		 * ip6ip6 tunnel) signals dst_link_failure() for an
+		 * outgoing ICMP6 packet.
+		 */
+		local_bh_enable();
+		return 1;
+	}
+	return 0;
 }
 
 static void icmpv6_xmit_unlock(void)
@@ -325,7 +332,8 @@
 	fl.uli_u.icmpt.type = type;
 	fl.uli_u.icmpt.code = code;
 
-	icmpv6_xmit_lock();
+	if (icmpv6_xmit_lock())
+		return;
 
 	if (!icmpv6_xrlim_allow(sk, type, &fl))
 		goto out;
@@ -399,7 +407,8 @@
 	fl.uli_u.icmpt.type = ICMPV6_ECHO_REPLY;
 	fl.uli_u.icmpt.code = 0;
 
-	icmpv6_xmit_lock();
+	if (icmpv6_xmit_lock())
+		return;
 
 	ip6_build_xmit(sk, icmpv6_getfrag, &msg, &fl, msg.len, NULL, -1,
 		       MSG_DONTWAIT);

Warning: require_once(../../../archive_common.php) [function.require-once]: failed to open stream: No such file or directory in /home/openvpn/domains/openvpn.net/public_html/archive/openvpn-users/2003-12/msg00054.html on line 411

Fatal error: require_once() [function.require]: Failed opening required '../../../archive_common.php' (include_path='/usr/local/lib/php') in /home/openvpn/domains/openvpn.net/public_html/archive/openvpn-users/2003-12/msg00054.html on line 411