ifndp-proxy[-<interface name>] − IPv6 NDP and IPv4 ARP proxy entries


<interface name>


These files contain IPv6 NDP and IPv4 ARP proxy settings, that should be applied using the ip neigh add proxy command documented in the ip(8) manual page that provides a common interface for IPv4 and IPv6.

The NDP/ARP proxy is required, e.g. when IP addresses from the same subnet have to be used on the interface of the host as well as on interfaces behind a (tunnel) interface and using a bridge is not an option.

Don’t forget to enable forwarding and the NDP/ARP proxy by setting

net.ipv6.conf.<all|default|interface name>.proxy_ndp = 1

net.ipv6.conf.<all|default|interface name>.forwarding = 1


net.ipv4.conf.<all|default|interface name>.proxy_arp = 1

net.ipv4.conf.<all|default|interface name>.forwarding = 1


net.ipv4.ip_forward = 1

either as global all setting in the /etc/sysctl.conf file or using the ifsysctl(5) files, that allow per-interface setup.
Forwarding can be also enabled in the /etc/sysconfig/sysctl file using the IP_FORWARD and IPV6_FORWARD variables.

The proxy entries are added and deleted using the

if-{up|down}.d/ndp-proxy script, every time after an involved interface has been set up or down.


The format of the ifndp-proxy file is:
<address> <address interface> <proxy interface list>

The format of the ifndp-proxy-<address interface> file is same to above, but allows also to omit the address interface by using a "-" as placeholder inside of the file, because it is already available in the file name:
<address> <address interface | -> <proxy interface list>

Lines beginning with # and blank lines are ignored.

Each line defines to add a proxy NDP/ARP entry with the address of or behind address interface to all interfaces in the proxy interface list.


Let’s assume, your machine is connected via eth0 to a switch with the networks 2001:db8:abba::/64 and and is using the IP address 1 itself. You’d like to use the addresses 11 and 12 e.g. for virtual machines behind the tap1 and tap2 interface, that is:
2001:db8:abba::1/64 -- local eth0 address
2001:db8:abba::11/64 -- address behind tap1
2001:db8:abba::12/64 -- address behind tap2 -- local eth0 address -- address behind tap1 -- address behind tap2
then set up the following entries in the ifndp-proxy file:

2001:db8:abba::1 eth0


tap1 tap2
2001:db8:abba::11 tap1

eth0 tap2
2001:db8:abba::12 tap2

eth0 tap1 eth0 tap1 tap2 tap1 eth0 tap2 tap2 eth0 tap1
additionally to the routing entries in the routes or ifroute-<interface name> files.


Please report bugs at <https://bugzilla.novell.com/>


Marius Tomaschewski <mt@suse.de>


ifup(8) ifcfg(5) ifsysctl(8)

More Linux Commands

significand(3) - get mantissa of floating-point number......
The significand() function returns the mantissa of x scaled to the range [1,2). It is equivalent to scalb(x, (double) -ilogb(x)) This function exists mainly for

tkmib(1) - an interactive graphical MIB browser for SNMP....
Simple Network Management Protocol (SNMP) provides a framework for exchange of the management information between the agents (servers) and clients. The Manageme

Mail::SpamAssassin::Client(3pm) - Client for spamd Protocol
Mail::SpamAssassin::Client is a module which provides a perl implementation of the spamd protocol. PUBLIC METHODS new public class (Mail::SpamAssassin::Client)

Tcl_AppendElement(3) - manipulate Tcl result (Man Page).....
The procedures described here are utilities for manipulating the result value in a Tcl interpreter. The interpreter result may be either a Tcl object or a strin

ckalloc(3) - allocate or free heap memory - Linux man page
These procedures provide a platform and compiler independent interface for memory allocation. Programs that need to transfer ownership of memory blocks between

ldap_bind(3) - LDAP bind routines - Linux manual page.......
These routines provide various interfaces to the LDAP bind operation. After an association with an LDAP server is made using ldap_init(3), an LDAP bind operatio

pthread_timedjoin_np(3) - try to join with a terminated thre
These functions operate in the same way as pthread_join(3), except for the differences described on this page. The pthread_tryjoin_np() function performs a nonb

field_pad(3form) - color and attribute control for form fiel
The function set_field_fore sets the foreground attribute of field. This is the highlight used to display the field contents. The function field_fore returns th

glScalef(3gl) - multiply the current matrix by a general sca
glScale produces a nonuniform scaling along the x, y, and z axes. The three parameters indicate the desired scale factor along each of the three axes. The curre

utf-8(7) - an ASCII compatible multibyte Unicode encoding...
The Unicode 3.0 character set occupies a 16-bit code space. The most obvious Unicode encoding (known as UCS-2) consists of a sequence of 16-bit words. Such stri

fchown32(2) - change ownership of a file - Linux man page...
These system calls change the owner and group of a file. The chown(), fchown(), and lchown() system calls differ only in how the file is specified: * chown() ch

ntfslabel(8) - display/change the label on an ntfs file syst
ntfslabel will display or change the file system label on the ntfs file system located on device. It can also change the serial number of the device. If the opt

We can't live, work or learn in freedom unless the software we use is free.