Skip to content
This repository was archived by the owner on Jul 16, 2025. It is now read-only.

Files

Latest commit

398c866 · Dec 3, 2015

History

History

cfginterfaces

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Mar 20, 2015
May 6, 2015
Nov 7, 2014
Apr 16, 2015
Feb 5, 2015
Nov 7, 2014
Oct 6, 2014
Oct 11, 2013
Nov 7, 2014
Oct 11, 2013
Apr 16, 2015
Apr 16, 2015
Dec 3, 2015
Nov 4, 2014
Oct 11, 2013
Oct 11, 2013
cfginterfaces
-------------

Implemented distribution support:
- SUSE-based	(tested on OpenSUSE)
- RedHat-based	(tested on Scientific Linux)
- Debian-based	(tested on Ubuntu)

Since NetworkManager is not used for configuration, but
traditional ifcfg-* scripts, only interfaces with an
existing ifcfg configuration file are managed by
cfginterfaces module, the rest is ignored. Nevertheless,
even unmanaged interfaces are displayed in the
"interfaces-state" tree.

Note that even though ifcfg scripts may exist, they are not
neccessarily used. Make sure that NetworkManager is not
overriding the configuration. Morover, some avahi software
(avahi-daemon, avahi-autoipd) is interfering with this module
onfiguration and is therefore killed during cfginterfaces
initialization.

Lastly, configuration files "/etc/sysctl.conf/" and the ifcfg
file for every network interface are monitored. This means
that if there are any changes made to these files,
the running configuration is updated to reflect the changes.
However, they are considered applied and the corresponding
callbacks are NOT called. Also, some monitored files may
not exist, if those interfaces do not have their ifcfg files,
so the warning messages are safe to be ignored.


Model node semantics
--------------------

With if-mib feature not supported, all the other features
and nodes are behaving in the way described in the model
with the exceptions mentioned below.

/interfaces/interface/ipv4
/interfaces/interface/ipv4/enabled

With "ipv4" container missing altogether, IPv4 on the
specific interface should be disabled. However, this is not
currently possible on linux and therefore only all the the
IPv4 addresses are flushed leaving the interface without any
valid address and thus technically disabling IPv4.

With "ipv4" container present and "enabled" child node
either missing or set to "true", static routing is enabled
with manually assigned IPv4 addresses from the
configuration. If there are none set, this configuration
equals having IPv4 disabled on this interface (missing
"ipv4" container).

Having "ipv4" container and "enabled" set to "false", DHCP
client is started and manages this interface. Nevertheless,
note that any "address" nodes are still valid and these IPv4
addresses are assigned to the interface in addition to any
addresses received by DHCP. Specially for loopback interfaces,
any DHCP changes are ignored.

/interfaces-state/interface/higher-layer-if
/interfaces-state/interface/lower-layer-if

These entries are never added to the state and are not
supported.

/interfaces-state/statistics/discontinuity-time

This timestamp is generated/checked only while asking the
server for its value, which makes it unable to be completely
accurate. Usually, the timestamp returned represents
no-later-than time of the discontinuity occurence. Note that
even this may not hold, especially if there are long
intervals between separate reads of this node.


Troubleshooting
---------------

RedHat

/interfaces/interface/ipv6/autoconf/create-temporary-addresses
/interfaces/interface/ipv6/autoconf/temporary-valid-lifetime
/interfaces/interface/ipv6/autoconf/temporary-preferred-lifetime

These autoconf nodes (ipv6-privacy-autoconf feature) may not
have any effect or disappear after reboot. To address this
issue, add "IPV6_PRIVACY=rfc3041" line to every interface
ifcfg file that should support it.


SUSE

/interfaces/interface/ipv4/forwarding
/interfaces/interface/ipv6/enabled
/interfaces/interface/ipv6/forwarding
/interfaces/interface/ipv6/mtu
/interfaces/interface/ipv6/dup-addr-detect-transmits

These nodes are set permanently by writing them into
"/etc/sysctl.conf". On OpenSUSE, these settings may be
overwritten during boot by SuSEfirewall2. If this happens,
look into the config file "/etc/sysconfig/SuSEfirewall2" or
simply run either "systemctl restart systemd-sysctl.service"
or "sysctl -p" after each boot to re-apply these settings.


cfginterfaces-init
------------------

This small utility is able to read the current interface
configuration and store it as the startup configuration data
to be used in the netopeer-server.

The tool is automatically used with 'make install' is the
Netopeer server (netopeer-manager(1)) is already installed,
so after that you do not need to run it manually.

Usage:
	./cfginterfaces-init <cfginterfaces's datastore path> <supported feature> ...