All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] don't require ebtables in the host kernel
@ 2006-02-22  8:54 Avi Kivity
  2006-02-22 13:33 ` Ewan Mellor
  0 siblings, 1 reply; 3+ messages in thread
From: Avi Kivity @ 2006-02-22  8:54 UTC (permalink / raw)
  To: xen-devel

The network-bridge script fails when setting a few sysctls
which are only available if ebtables is present in the host
kernel. Fix by ignoring the return value of the sysctl command.

Signed-off-by: Avi Kivity <avi@qumranet.com>

Index: xen/tools/examples/network-bridge
===================================================================
--- xen/tools/examples/network-bridge	(revision 991)
+++ xen/tools/examples/network-bridge	(revision 992)
@@ -158,9 +158,9 @@
 
     # Don't create the bridge if it already exists.
     if ! brctl show | grep -q ${bridge} ; then
-	sysctl -w "net.bridge.bridge-nf-call-arptables=0"
-	sysctl -w "net.bridge.bridge-nf-call-ip6tables=0"
-	sysctl -w "net.bridge.bridge-nf-call-iptables=0"
+	! sysctl -w "net.bridge.bridge-nf-call-arptables=0"
+	! sysctl -w "net.bridge.bridge-nf-call-ip6tables=0"
+	! sysctl -w "net.bridge.bridge-nf-call-iptables=0"
 	brctl addbr ${bridge}
 	brctl stp ${bridge} off
 	brctl setfd ${bridge} 0


-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] don't require ebtables in the host kernel
  2006-02-22  8:54 [PATCH] don't require ebtables in the host kernel Avi Kivity
@ 2006-02-22 13:33 ` Ewan Mellor
  2006-02-22 14:23   ` Avi Kivity
  0 siblings, 1 reply; 3+ messages in thread
From: Ewan Mellor @ 2006-02-22 13:33 UTC (permalink / raw)
  To: Avi Kivity; +Cc: xen-devel

On Wed, Feb 22, 2006 at 10:54:51AM +0200, Avi Kivity wrote:

> The network-bridge script fails when setting a few sysctls
> which are only available if ebtables is present in the host
> kernel. Fix by ignoring the return value of the sysctl command.
> 
> Signed-off-by: Avi Kivity <avi@qumranet.com>
> 
> Index: xen/tools/examples/network-bridge
> ===================================================================
> --- xen/tools/examples/network-bridge	(revision 991)
> +++ xen/tools/examples/network-bridge	(revision 992)
> @@ -158,9 +158,9 @@
> 
>     # Don't create the bridge if it already exists.
>     if ! brctl show | grep -q ${bridge} ; then
> -	sysctl -w "net.bridge.bridge-nf-call-arptables=0"
> -	sysctl -w "net.bridge.bridge-nf-call-ip6tables=0"
> -	sysctl -w "net.bridge.bridge-nf-call-iptables=0"
> +	! sysctl -w "net.bridge.bridge-nf-call-arptables=0"
> +	! sysctl -w "net.bridge.bridge-nf-call-ip6tables=0"
> +	! sysctl -w "net.bridge.bridge-nf-call-iptables=0"
> 	brctl addbr ${bridge}
> 	brctl stp ${bridge} off
> 	brctl setfd ${bridge} 0

Where did this network-bridge script come from?  The stock Xen-3.0
network-bridge doesn't have these sysctl lines in the first place.

Furthermore, using ! doesn't ignore the return value -- it inverts it.  I'd be
surprised if this works in systems that _do_ have ebtables.

Ewan.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] don't require ebtables in the host kernel
  2006-02-22 13:33 ` Ewan Mellor
@ 2006-02-22 14:23   ` Avi Kivity
  0 siblings, 0 replies; 3+ messages in thread
From: Avi Kivity @ 2006-02-22 14:23 UTC (permalink / raw)
  To: Ewan Mellor; +Cc: xen-devel

Ewan Mellor wrote:

>>--- xen/tools/examples/network-bridge	(revision 991)
>>+++ xen/tools/examples/network-bridge	(revision 992)
>>@@ -158,9 +158,9 @@
>>
>>    # Don't create the bridge if it already exists.
>>    if ! brctl show | grep -q ${bridge} ; then
>>-	sysctl -w "net.bridge.bridge-nf-call-arptables=0"
>>-	sysctl -w "net.bridge.bridge-nf-call-ip6tables=0"
>>-	sysctl -w "net.bridge.bridge-nf-call-iptables=0"
>>+	! sysctl -w "net.bridge.bridge-nf-call-arptables=0"
>>+	! sysctl -w "net.bridge.bridge-nf-call-ip6tables=0"
>>+	! sysctl -w "net.bridge.bridge-nf-call-iptables=0"
>>	brctl addbr ${bridge}
>>	brctl stp ${bridge} off
>>	brctl setfd ${bridge} 0
>>    
>>
>
>Where did this network-bridge script come from?  The stock Xen-3.0
>network-bridge doesn't have these sysctl lines in the first place.
>  
>
It comes from FC5. Sorry, should have checked the pristine Xen sources. 
Sorry about the noise.

>Furthermore, using ! doesn't ignore the return value -- it inverts it.  I'd be
>surprised if this works in systems that _do_ have ebtables.
>  
>
No, ! on the beginning of a command tells bash to ignore the exit code:

    `-e'
          Exit immediately if a simple command (*note Simple
          Commands::) exits with a non-zero status, unless the command
          that fails is part of the command list immediately following
          a `while' or `until' keyword, part of the test in an `if'
          statement, part of a `&&' or `||' list, or if the command's
          return status is being inverted using `!'.  A trap on `ERR',
          if set, is executed before the shell exits.

'sysctl -ew' would have been better though.

-- 
error compiling committee.c: too many arguments to function

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-02-22 14:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-22  8:54 [PATCH] don't require ebtables in the host kernel Avi Kivity
2006-02-22 13:33 ` Ewan Mellor
2006-02-22 14:23   ` Avi Kivity

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.