migrate kernel parameters to a static sysctl.conf file and the special proxy0 device...
Marc Fiuczynski [Wed, 23 Dec 2009 15:38:51 +0000 (15:38 +0000)]
PlanetLabConf/sysctl-ip_forward.php [new file with mode: 0755]
PlanetLabConf/sysctl.conf [new file with mode: 0644]
PlanetLabConf/sysctl.php [deleted file]

diff --git a/PlanetLabConf/sysctl-ip_forward.php b/PlanetLabConf/sysctl-ip_forward.php
new file mode 100755 (executable)
index 0000000..1cc7e5b
--- /dev/null
@@ -0,0 +1,59 @@
+<?php
+//
+// $Id$
+//
+
+// Get admin API handle
+require_once 'plc_api.php';
+global $adm;
+
+$ip_forward = 0;
+
+// Look up the node
+// backwards compatibility with the old 4.2 API
+global $__PLC_API_VERSION;
+if ( ! method_exists ($adm,"GetInterfaces"))
+  $__PLC_API_VERSION = 4.2;
+else
+  $__PLC_API_VERSION = 4.3;
+
+if ($__PLC_API_VERSION==4.2)
+  $interfaces = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
+else
+  $interfaces = $adm->GetInterfaces(array('ip' => $_SERVER['REMOTE_ADDR']));
+
+if (!empty($interfaces)) {
+  $nodes = $adm->GetNodes(array($interfaces[0]['node_id']));
+  if (!empty($nodes)) {
+    $node = $nodes[0];
+    if ($__PLC_API_VERSION==4.2)
+      $interfaces = $adm->GetInterfaces($node['nodenetwork_ids']);
+    else
+      $interfaces = $adm->GetInterfaces($node['interface_ids']);
+
+    foreach ($interfaces as $interface) {
+      // Nodes with proxy socket interfaces need to be able to forward
+      // between the fake proxy0 interface and the real interface.
+      if ($interface['method'] == 'proxy') {
+       $ip_forward = 1;
+       break;
+      }
+    }
+  }
+}
+
+?>
+
+# $Id$
+#
+# sysctl configuration file to optionally enable/disable IP forwarding
+#
+# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
+# sysctl.conf(5) for more details.
+#
+# This file is generated by NodeManager Configuration Files... 
+# do not manually edit
+#
+
+# Controls IP packet forwarding
+net.ipv4.ip_forward = <?php echo $ip_forward; ?>
diff --git a/PlanetLabConf/sysctl.conf b/PlanetLabConf/sysctl.conf
new file mode 100644 (file)
index 0000000..ce6f512
--- /dev/null
@@ -0,0 +1,30 @@
+# Controls the System Request debugging functionality of the kernel
+kernel.sysrq = 0
+
+# Controls whether core dumps will append the PID to the core filename.
+# Useful for debugging multi-threaded applications.
+kernel.core_uses_pid = 1
+
+# Controls source route verification
+net.ipv4.conf.default.rp_filter = 1
+
+# TCP window scaling and broken routers
+net.ipv4.tcp_moderate_rcvbuf=0
+net.ipv4.tcp_default_win_scale=0
+net.ipv4.tcp_window_scaling=1
+
+# Mark only out of window RST segments as INVALID. This setting, among
+# other things, allows data to be sent with SYN packets.
+net.ipv4.netfilter.ip_conntrack_tcp_be_liberal=1
+
+# Fixes dst cache overflow bug
+net.ipv4.route.max_size=262144
+
+net.ipv4.tcp_congestion_control = cubic
+net.ipv4.tcp_moderate_rcvbuf = 0
+net.core.rmem_max = 131071
+net.core.wmem_max = 131071
+net.ipv4.tcp_rmem = 4096 87380 4194304
+net.ipv4.tcp_wmem = 4096 16384 4194304
+net.netfilter.nf_conntrack_icmp_timeout = 60
+
diff --git a/PlanetLabConf/sysctl.php b/PlanetLabConf/sysctl.php
deleted file mode 100755 (executable)
index 53a5feb..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-//
-// /etc/sysctl.conf generator
-//
-// Mark Huang <mlhuang@cs.princeton.edu>
-// Copyright (C) 2006 The Trustees of Princeton University
-//
-// $Id$
-//
-
-// Get admin API handle
-require_once 'plc_api.php';
-global $adm;
-
-$ip_forward = 0;
-
-// Look up the node
-// backwards compatibility with the old 4.2 API
-global $__PLC_API_VERSION;
-if ( ! method_exists ($adm,"GetInterfaces"))
-  $__PLC_API_VERSION = 4.2;
-else
-  $__PLC_API_VERSION = 4.3;
-
-if ($__PLC_API_VERSION==4.2)
-  $interfaces = $adm->GetNodeNetworks(array('ip' => $_SERVER['REMOTE_ADDR']));
-else
-  $interfaces = $adm->GetInterfaces(array('ip' => $_SERVER['REMOTE_ADDR']));
-
-if (!empty($interfaces)) {
-  $nodes = $adm->GetNodes(array($interfaces[0]['node_id']));
-  if (!empty($nodes)) {
-    $node = $nodes[0];
-    if ($__PLC_API_VERSION==4.2)
-      $interfaces = $adm->GetInterfaces($node['nodenetwork_ids']);
-    else
-      $interfaces = $adm->GetInterfaces($node['interface_ids']);
-
-    foreach ($interfaces as $interface) {
-      // Nodes with proxy socket interfaces need to be able to forward
-      // between the fake proxy0 interface and the real interface.
-      if ($interface['method'] == 'proxy') {
-       $ip_forward = 1;
-       break;
-      }
-    }
-  }
-}
-
-?>
-
-# Kernel sysctl configuration file for Red Hat Linux
-#
-# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
-# sysctl.conf(5) for more details.
-
-# $Id$
-
-# Controls IP packet forwarding
-net.ipv4.ip_forward = <?php echo $ip_forward; ?>
-
-# Controls source route verification
-net.ipv4.conf.default.rp_filter = 1
-
-# Controls the System Request debugging functionality of the kernel
-kernel.sysrq = 0
-
-# Controls whether core dumps will append the PID to the core filename.
-# Useful for debugging multi-threaded applications.
-kernel.core_uses_pid = 1
-
-# TCP window scaling and broken routers
-net.ipv4.tcp_moderate_rcvbuf=0
-net.ipv4.tcp_default_win_scale=0
-net.ipv4.tcp_window_scaling=1
-
-# Mark only out of window RST segments as INVALID. This setting, among
-# other things, allows data to be sent with SYN packets.
-net.ipv4.netfilter.ip_conntrack_tcp_be_liberal=1
-
-# Fixes dst cache overflow bug
-net.ipv4.route.max_size=262144
-
-
-net.ipv4.tcp_congestion_control = cubic
-net.ipv4.tcp_moderate_rcvbuf = 0
-net.core.rmem_max = 131071
-net.core.wmem_max = 131071
-net.ipv4.tcp_rmem = 4096 87380 4194304
-net.ipv4.tcp_wmem = 4096 16384 4194304
-net.netfilter.nf_conntrack_icmp_timeout = 60
-