#include <linux/stat.h>
#include <linux/sysctl.h>
#include "../fs/xfs/linux-2.6/xfs_sysctl.h"
#include <linux/sunrpc/debug.h>
#include <linux/string.h>
#include <net/ip_vs.h>
struct trans_ctl_table {
int ctl_name;
const char *procname;
const struct trans_ctl_table *child;
};
static const struct trans_ctl_table trans_random_table[] = {
{ RANDOM_POOLSIZE, "poolsize" },
{ RANDOM_ENTROPY_COUNT, "entropy_avail" },
{ RANDOM_READ_THRESH, "read_wakeup_threshold" },
{ RANDOM_WRITE_THRESH, "write_wakeup_threshold" },
{ RANDOM_BOOT_ID, "boot_id" },
{ RANDOM_UUID, "uuid" },
{}
};
static const struct trans_ctl_table trans_pty_table[] = {
{ PTY_MAX, "max" },
{ PTY_NR, "nr" },
{}
};
static const struct trans_ctl_table trans_kern_table[] = {
{ KERN_OSTYPE, "ostype" },
{ KERN_OSRELEASE, "osrelease" },
/* KERN_OSREV not used */
{ KERN_VERSION, "version" },
/* KERN_SECUREMASK not used */
/* KERN_PROF not used */
{ KERN_NODENAME, "hostname" },
{ KERN_DOMAINNAME, "domainname" },
{ KERN_PANIC, "panic" },
{ KERN_REALROOTDEV, "real-root-dev" },
{ KERN_SPARC_REBOOT, "reboot-cmd" },
{ KERN_CTLALTDEL, "ctrl-alt-del" },
{ KERN_PRINTK, "printk" },
/* KERN_NAMETRANS not used */
/* KERN_PPC_HTABRECLAIM not used */
/* KERN_PPC_ZEROPAGED not used */
{ KERN_PPC_POWERSAVE_NAP, "powersave-nap" },
{ KERN_MODPROBE, "modprobe" },
{ KERN_SG_BIG_BUFF, "sg-big-buff" },
{ KERN_ACCT, "acct" },
{ KERN_PPC_L2CR, "l2cr" },
/* KERN_RTSIGNR not used */
/* KERN_RTSIGMAX not used */
{ KERN_SHMMAX, "shmmax" },
{ KERN_MSGMAX, "msgmax" },
{ KERN_MSGMNB, "msgmnb" },
/* KERN_MSGPOOL not used*/
{ KERN_SYSRQ, "sysrq" },
{ KERN_MAX_THREADS, "threads-max" },
{ KERN_RANDOM, "random", trans_random_table },
{ KERN_SHMALL, "shmall" },
{ KERN_MSGMNI, "msgmni" },
{ KERN_SEM, "sem" },
{ KERN_SPARC_STOP_A, "stop-a" },
{ KERN_SHMMNI, "shmmni" },
{ KERN_OVERFLOWUID, "overflowuid" },
{ KERN_OVERFLOWGID, "overflowgid" },
{ KERN_HOTPLUG, "hotplug", },
{ KERN_IEEE_EMULATION_WARNINGS, "ieee_emulation_warnings" },
{ KERN_S390_USER_DEBUG_LOGGING, "userprocess_debug" },
{ KERN_CORE_USES_PID, "core_uses_pid" },
{ KERN_TAINTED, "tainted" },
{ KERN_CADPID, "cad_pid" },
{ KERN_PIDMAX, "pid_max" },
{ KERN_CORE_PATTERN, "core_pattern" },
{ KERN_PANIC_ON_OOPS, "panic_on_oops" },
{ KERN_HPPA_PWRSW, "soft-power" },
{ KERN_HPPA_UNALIGNED, "unaligned-trap" },
{ KERN_PRINTK_RATELIMIT, "printk_ratelimit" },
{ KERN_PRINTK_RATELIMIT_BURST, "printk_ratelimit_burst" },
{ KERN_PTY, "pty", trans_pty_table },
{ KERN_NGROUPS_MAX, "ngroups_max" },
{ KERN_SPARC_SCONS_PWROFF, "scons-poweroff" },
{ KERN_HZ_TIMER, "hz_timer" },
{ KERN_UNKNOWN_NMI_PANIC, "unknown_nmi_panic" },
{ KERN_BOOTLOADER_TYPE, "bootloader_type" },
{ KERN_RANDOMIZE, "randomize_va_space" },
{ KERN_SPIN_RETRY, "spin_retry" },
{ KERN_ACPI_VIDEO_FLAGS, "acpi_video_flags" },
{ KERN_IA64_UNALIGNED, "ignore-unaligned-usertrap" },
{ KERN_COMPAT_LOG, "compat-log" },
{ KERN_MAX_LOCK_DEPTH, "max_lock_depth" },
{ KERN_NMI_WATCHDOG, "nmi_watchdog" },
{ KERN_PANIC_ON_NMI, "panic_on_unrecovered_nmi" },
{}
};
static const struct trans_ctl_table trans_vm_table[] = {
{ VM_OVERCOMMIT_MEMORY, "overcommit_memory" },
{ VM_PAGE_CLUSTER, "page-cluster" },
{ VM_DIRTY_BACKGROUND, "dirty_background_ratio" },
{ VM_DIRTY_RATIO, "dirty_ratio" },
{ VM_DIRTY_WB_CS, "dirty_writeback_centisecs" },
{ VM_DIRTY_EXPIRE_CS, "dirty_expire_centisecs" },
{ VM_NR_PDFLUSH_THREADS, "nr_pdflush_threads" },
{ VM_OVERCOMMIT_RATIO, "overcommit_ratio" },
/* VM_PAGEBUF unused */
{ VM_HUGETLB_PAGES, "nr_hugepages" },
{ VM_SWAPPINESS, "swappiness" },
{ VM_LOWMEM_RESERVE_RATIO, "lowmem_reserve_ratio" },
{ VM_MIN_FREE_KBYTES, "min_free_kbytes" },
{ VM_MAX_MAP_COUNT, "max_map_count" },
{ VM_LAPTOP_MODE, "laptop_mode" },
{ VM_BLOCK_DUMP, "block_dump" },
{ VM_HUGETLB_GROUP, "hugetlb_shm_group" },
{ VM_VFS_CACHE_PRESSURE, "vfs_cache_pressure" },
{ VM_LEGACY_VA_LAYOUT, "legacy_va_layout" },
/* VM_SWAP_TOKEN_TIMEOUT unused */
{ VM_DROP_PAGECACHE, "drop_caches" },
{ VM_PERCPU_PAGELIST_FRACTION, "percpu_pagelist_fraction" },
{ VM_ZONE_RECLAIM_MODE, "zone_reclaim_mode" },
{ VM_MIN_UNMAPPED, "min_unmapped_ratio" },
{ VM_PANIC_ON_OOM, "panic_on_oom" },
{ VM_VDSO_ENABLED, "vdso_enabled" },
{ VM_MIN_SLAB, "min_slab_ratio" },
{}
};
static const struct trans_ctl_table trans_net_core_table[] = {
{ NET_CORE_WMEM_MAX, "wmem_max" },
{ NET_CORE_RMEM_MAX, "rmem_max" },
{ NET_CORE_WMEM_DEFAULT, "wmem_default" },
{ NET_CORE_RMEM_DEFAULT, "rmem_default" },
/* NET_CORE_DESTROY_DELAY unused */
{ NET_CORE_MAX_BACKLOG, "netdev_max_backlog" },
/* NET_CORE_FASTROUTE unused */
{ NET_CORE_MSG_COST, "message_cost" },
{ NET_CORE_MSG_BURST, "message_burst" },
{ NET_CORE_OPTMEM_MAX, "optmem_max" },
/* NET_CORE_HOT_LIST_LENGTH unused */
/* NET_CORE_DIVERT_VERSION unused */
/* NET_CORE_NO_CONG_THRESH unused */
/* NET_CORE_NO_CONG unused */
/* NET_CORE_LO_CONG unused */
/* NET_CORE_MOD_CONG unused */
{ NET_CORE_DEV_WEIGHT, "dev_weight" },
{ NET_CORE_SOMAXCONN, "somaxconn" },
{ NET_CORE_BUDGET, "netdev_budget" },
{ NET_CORE_AEVENT_ETIME, "xfrm_aevent_etime" },
{ NET_CORE_AEVENT_RSEQTH, "xfrm_aevent_rseqth" },
{ NET_CORE_WARNINGS, "warnings" },
{},
};
static const struct trans_ctl_table trans_net_unix_table[] = {
/* NET_UNIX_DESTROY_DELAY unused */
/* NET_UNIX_DELETE_DELAY unused */
{ NET_UNIX_MAX_DGRAM_QLEN, "max_dgram_qlen" },
{}
};
static const struct trans_ctl_table trans_net_ipv4_route_table[] = {
{ NET_IPV4_ROUTE_FLUSH, "flush" },
{ NET_IPV4_ROUTE_MIN_DELAY, "min_delay" },
{ NET_IPV4_ROUTE_MAX_DELAY, "max_delay" },
{ NET_IPV4_ROUTE_GC_THRESH, "gc_thresh" },
{ NET_IPV4_ROUTE_MAX_SIZE, "max_size" },
{ NET_IPV4_ROUTE_GC_MIN_INTERVAL, "gc_min_interval" },
{ NET_IPV4_ROUTE_GC_TIMEOUT, "gc_timeout" },
{ NET_IPV4_ROUTE_GC_INTERVAL, "gc_interval" },
{ NET_IPV4_ROUTE_REDIRECT_LOAD, "redirect_load" },
{ NET_IPV4_ROUTE_REDIRECT_NUMBER, "redirect_number" },
{ NET_IPV4_ROUTE_REDIRECT_SILENCE, "redirect_silence" },
{ NET_IPV4_ROUTE_ERROR_COST, "error_cost" },
{ NET_IPV4_ROUTE_ERROR_BURST, "error_burst" },
{ NET_IPV4_ROUTE_GC_ELASTICITY, "gc_elasticity" },
{ NET_IPV4_ROUTE_MTU_EXPIRES, "mtu_expires" },
{ NET_IPV4_ROUTE_MIN_PMTU, "min_pmtu" },
{ NET_IPV4_ROUTE_MIN_ADVMSS, "min_adv_mss" },
{ NET_IPV4_ROUTE_SECRET_INTERVAL, "secret_interval" },
{ NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS, "gc_min_interval_ms" },
{}
};
static const struct trans_ctl_table trans_net_ipv4_conf_vars_table[] = {
{ NET_IPV4_CONF_FORWARDING, "forwarding" },
{ NET_IPV4_CONF_MC_FORWARDING, "mc_forwarding" },
{ NET_IPV4_CONF_PROXY_ARP, "proxy_arp" },
{ NET_IPV4_CONF_ACCEPT_REDIRECTS, "accept_redirects" },
{ NET_IPV4_CONF_SECURE_REDIRECTS, "secure_redirects" },
{ NET_IPV4_CONF_SEND_REDIRECTS, "send_redirects" },
{ NET_IPV4_CONF_SHARED_MEDIA, "shared_media" },
{ NET_IPV4_CONF_RP_FILTER, "rp_filter" },
{ NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE, "accept_source_route" },
{ NET_IPV4_CONF_BOOTP_RELAY, "bootp_relay" },
{ NET_IPV4_CONF_LOG_MARTIANS, "log_martians" },
{
|