Linux IPv6 HOWTO (en)
Prev | Chapter 11. Kernel settings in /proc-filesystem | Next

# 11.1. How to access the /proc-filesystem

## 11.1.1. Using “cat” and “echo”

Using “cat” and “echo” is the simplest way to access the /proc filesystem, but some requirements are needed for that

- The /proc-filesystem had to be enabled in kernel, means on compiling following switch has to be set

    CONFIG_PROC_FS=y

- The /proc-filesystem was mounted before, which can be tested using

    # mount | grep "type proc"
    none on /proc type proc (rw)

- You need read and sometimes also write access (normally root only) to the /proc-filesystem

Normally, only entries in /proc/sys/* are writable, the others are readonly and for information retrieving only.

### 11.1.1.1. Retrieving a value

The value of an entry can be retrieved using “cat”:

    # cat /proc/sys/net/ipv6/conf/all/forwarding
    0

### 11.1.1.2. Setting a value

A new value can be set (if entry is writable) using “echo”:

    # echo "1" >/proc/sys/net/ipv6/conf/all/forwarding

## 11.1.2. Using “sysctl”

Using the “sysctl” program to access the kernel switches is a modern method today. You can use it also, if the /proc-filesystem isn't mounted. But you have only access to /proc/sys/*!

The program “sysctl” is included in package “procps” (on Red Hat Linux systems).

- The sysctl-interface had to be enabled in kernel, means on compiling following switch has to be set

    CONFIG_SYSCTL=y

### 11.1.2.1. Retrieving a value

The value of an entry can be retrieved now:

    # sysctl net.ipv6.conf.all.forwarding
    net.ipv6.conf.all.forwarding = 0

### 11.1.2.2. Setting a value

A new value can be set (if entry is writable):

    # sysctl -w net.ipv6.conf.all.forwarding=1
    net.ipv6.conf.all.forwarding = 1

Note: Don't use spaces around the “=” on setting values. Also on multiple values per line, quote them like e.g.

    # sysctl -w net.ipv4.ip_local_port_range="32768 61000"
    net.ipv4.ip_local_port_range = 32768 61000

### 11.1.2.3. Additionals

Note: There are sysctl versions in the wild which displaying “/” instead of the “.”

For more details take a look into sysctl's manpage.

Hint: for digging fast into the settings, use the option “-a” (display all entries) in conjunction with “grep”.

## 11.1.3. Values found in /proc-filesystems

There are several formats seen in /proc-filesystem:

- BOOLEAN: simple a “0” (false) or a “1” (true)

- INTEGER: an integer value, can be unsigned, too

- more sophisticated lines with several values: sometimes a header line is displayed also, if not, have a look into the kernel source to retrieve information about the meaning of each value...

Prev | Home | Next
Kernel settings in /proc-filesystem | Up | Entries in /proc/sys/net/ipv6/