aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/goldfish/patches-2.6.30/0082-sysfs_net_ipv4-Add-sysfs-based-knobs-for-controllin.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/goldfish/patches-2.6.30/0082-sysfs_net_ipv4-Add-sysfs-based-knobs-for-controllin.patch')
-rw-r--r--target/linux/goldfish/patches-2.6.30/0082-sysfs_net_ipv4-Add-sysfs-based-knobs-for-controllin.patch128
1 files changed, 0 insertions, 128 deletions
diff --git a/target/linux/goldfish/patches-2.6.30/0082-sysfs_net_ipv4-Add-sysfs-based-knobs-for-controllin.patch b/target/linux/goldfish/patches-2.6.30/0082-sysfs_net_ipv4-Add-sysfs-based-knobs-for-controllin.patch
deleted file mode 100644
index f1fce089c6..0000000000
--- a/target/linux/goldfish/patches-2.6.30/0082-sysfs_net_ipv4-Add-sysfs-based-knobs-for-controllin.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 75090d40ffbd9b4863238e1d62b43f8598da5e5e Mon Sep 17 00:00:00 2001
-From: Robert Love <rlove@google.com>
-Date: Thu, 31 Jul 2008 11:12:44 -0400
-Subject: [PATCH 082/134] sysfs_net_ipv4: Add sysfs-based knobs for controlling TCP window size
-
-Add a family of knobs to /sys/kernel/ipv4 for controlling the TCP window size:
-
- tcp_wmem_min
- tcp_wmem_def
- tcp_wmem_max
- tcp_rmem_min
- tcp_rmem_def
- tcp_rmem_max
-
-This six values mirror the sysctl knobs in /proc/sys/net/ipv4/tcp_wmem and
-/proc/sys/net/ipv4/tcp_rmem.
-
-Sysfs, unlike sysctl, allows us to set and manage the files' permissions and
-owners.
-
-Signed-off-by: Robert Love <rlove@google.com>
----
- net/ipv4/Makefile | 1 +
- net/ipv4/sysfs_net_ipv4.c | 88 +++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 89 insertions(+), 0 deletions(-)
- create mode 100644 net/ipv4/sysfs_net_ipv4.c
-
---- a/net/ipv4/Makefile
-+++ b/net/ipv4/Makefile
-@@ -14,6 +14,7 @@ obj-y := route.o inetpeer.o protocol
- inet_fragment.o
-
- obj-$(CONFIG_SYSCTL) += sysctl_net_ipv4.o
-+obj-$(CONFIG_SYSFS) += sysfs_net_ipv4.o
- obj-$(CONFIG_IP_FIB_HASH) += fib_hash.o
- obj-$(CONFIG_IP_FIB_TRIE) += fib_trie.o
- obj-$(CONFIG_PROC_FS) += proc.o
---- /dev/null
-+++ b/net/ipv4/sysfs_net_ipv4.c
-@@ -0,0 +1,88 @@
-+/*
-+ * net/ipv4/sysfs_net_ipv4.c
-+ *
-+ * sysfs-based networking knobs (so we can, unlike with sysctl, control perms)
-+ *
-+ * Copyright (C) 2008 Google, Inc.
-+ *
-+ * Robert Love <rlove@google.com>
-+ *
-+ * This software is licensed under the terms of the GNU General Public
-+ * License version 2, as published by the Free Software Foundation, and
-+ * may be copied, distributed, and modified under those terms.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ */
-+
-+#include <linux/kobject.h>
-+#include <linux/string.h>
-+#include <linux/sysfs.h>
-+#include <linux/init.h>
-+#include <net/tcp.h>
-+
-+#define CREATE_IPV4_FILE(_name, _var) \
-+static ssize_t _name##_show(struct kobject *kobj, \
-+ struct kobj_attribute *attr, char *buf) \
-+{ \
-+ return sprintf(buf, "%d\n", _var); \
-+} \
-+static ssize_t _name##_store(struct kobject *kobj, \
-+ struct kobj_attribute *attr, \
-+ const char *buf, size_t count) \
-+{ \
-+ int val, ret; \
-+ ret = sscanf(buf, "%d", &val); \
-+ if (ret != 1) \
-+ return -EINVAL; \
-+ if (val < 0) \
-+ return -EINVAL; \
-+ _var = val; \
-+ return count; \
-+} \
-+static struct kobj_attribute _name##_attr = \
-+ __ATTR(_name, 0644, _name##_show, _name##_store)
-+
-+CREATE_IPV4_FILE(tcp_wmem_min, sysctl_tcp_wmem[0]);
-+CREATE_IPV4_FILE(tcp_wmem_def, sysctl_tcp_wmem[1]);
-+CREATE_IPV4_FILE(tcp_wmem_max, sysctl_tcp_wmem[2]);
-+
-+CREATE_IPV4_FILE(tcp_rmem_min, sysctl_tcp_rmem[0]);
-+CREATE_IPV4_FILE(tcp_rmem_def, sysctl_tcp_rmem[1]);
-+CREATE_IPV4_FILE(tcp_rmem_max, sysctl_tcp_rmem[2]);
-+
-+static struct attribute *ipv4_attrs[] = {
-+ &tcp_wmem_min_attr.attr,
-+ &tcp_wmem_def_attr.attr,
-+ &tcp_wmem_max_attr.attr,
-+ &tcp_rmem_min_attr.attr,
-+ &tcp_rmem_def_attr.attr,
-+ &tcp_rmem_max_attr.attr,
-+ NULL
-+};
-+
-+static struct attribute_group ipv4_attr_group = {
-+ .attrs = ipv4_attrs,
-+};
-+
-+static __init int sysfs_ipv4_init(void)
-+{
-+ struct kobject *ipv4_kobject;
-+ int ret;
-+
-+ ipv4_kobject = kobject_create_and_add("ipv4", kernel_kobj);
-+ if (!ipv4_kobject)
-+ return -ENOMEM;
-+
-+ ret = sysfs_create_group(ipv4_kobject, &ipv4_attr_group);
-+ if (ret) {
-+ kobject_put(ipv4_kobject);
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+subsys_initcall(sysfs_ipv4_init);