On the following kernel configuration path:
/proc/sys/net/ipv6/conf/
we can configure each network interface in the following way:
- we can specify what configuration to follow for
all
interfaces - we can provide a
default
configuration for any new interface - or we can configure an
interface
specific configuration.
What I don't understand is what happens when the same setting is configured differently at the interface (e.g. eth0
), default
and all
level.
For example, if we configure the accept_dad
parameter to be 1
on the eth0
, 2
on all
and 0
on default
, which value is ultimately used by OS?
Looking at the kernel documentation all they say is :
conf/default/*
:
Change the interface-specific default settings.
conf/all/*
:
Change all the interface-specific settings.
XXX: Other special features than forwarding?]
conf/interface/*
:
Change special settings per interface.
The functional behaviour for certain settings is different depending on whether local forwarding is enabled or not.
But they don't mention anything about what is the rule if the same setting is configured at each level.