[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RFC/MBF: Dropping support for ifupdown hook scripts from network-manager package



Hi everyone,

NetworkManager provides a service named NetworkManager-dispatcher [1], which executes scripts in /{etc,usr/lib}/NetworkManager/dispatcher.d upon (network) state changes.

This is in spirit similar to ifupdown's /etc/network/if-*.d/ scripts.
The concepts do not match completely though. For ifupdown, the hook interface is also use to extend the functionality of ifupdown itself.

That said, the Debian network-manager package has shipped a /etc/NetworkManager/dispatcher.d/01-ifupdown script for several releases, which fakes an ifupdown environment and tried to execute those ifupdown hook scripts. This emulation of an ifupdown environment was never complete and also led to undesired effects, like hook scripts being executed that are not really suitable if NetworkManager is managing the interface.

I thus plan to drop /etc/NetworkManager/dispatcher.d/01-ifupdown.


Currently, the following packages ship hook scripts for ifupdown

$ apt-file search /etc/network/if- | grep -v ^ifupdown
aoetools: /etc/network/if-up.d/aoe-discover
auto6to4: /etc/network/if-up.d/auto6to4
avahi-autoipd: /etc/network/if-down.d/avahi-autoipd
avahi-autoipd: /etc/network/if-up.d/avahi-autoipd
bind9: /etc/network/if-down.d/bind9
bind9: /etc/network/if-up.d/bind9
bridge-utils: /etc/network/if-down.d/bridge
bridge-utils: /etc/network/if-post-down.d/bridge
bridge-utils: /etc/network/if-pre-up.d/bridge
chrony: /etc/network/if-post-down.d/chrony
chrony: /etc/network/if-up.d/chrony
clamav-freshclam: /etc/network/if-down.d/clamav-freshclam-ifupdown
clamav-freshclam: /etc/network/if-up.d/clamav-freshclam-ifupdown
ethtool: /etc/network/if-pre-up.d/ethtool
ethtool: /etc/network/if-up.d/ethtool
guidedog: /etc/network/if-down.d/51guidedog
guidedog: /etc/network/if-up.d/51guidedog
hostapd: /etc/network/if-post-down.d/hostapd
hostapd: /etc/network/if-pre-up.d/hostapd
htpdate: /etc/network/if-up.d/htpdate
ifenslave: /etc/network/if-post-down.d/ifenslave
ifenslave: /etc/network/if-pre-up.d/ifenslave
ifenslave: /etc/network/if-up.d/ifenslave
ifmetric: /etc/network/if-up.d/ifmetric
initscripts: /etc/network/if-up.d/mountnfs
isatapd: /etc/network/if-down.d/isatapd
isatapd: /etc/network/if-up.d/isatapd
linux-wlan-ng: /etc/network/if-post-down.d/linux-wlan-ng-post-down
linux-wlan-ng: /etc/network/if-pre-up.d/linux-wlan-ng-pre-up
lprng: /etc/network/if-up.d/lprng
macchanger: /etc/network/if-post-down.d/macchanger
macchanger: /etc/network/if-pre-up.d/macchanger
miredo: /etc/network/if-up.d/miredo
nslcd: /etc/network/if-up.d/nslcd
ntpsec-ntpdate: /etc/network/if-up.d/ntpsec-ntpdate
openntpd: /etc/network/if-up.d/openntpd
openresolv: /etc/network/if-down.d/resolvconf
openresolv: /etc/network/if-up.d/000resolvconf
openvpn: /etc/network/if-down.d/openvpn
openvpn: /etc/network/if-up.d/openvpn
openvswitch-switch: /etc/network/if-post-down.d/openvswitch
openvswitch-switch: /etc/network/if-pre-up.d/openvswitch
postfix: /etc/network/if-down.d/postfix
postfix: /etc/network/if-up.d/postfix
quicktun: /etc/network/if-down.d/quicktun
quicktun: /etc/network/if-post-down.d/quicktun
quicktun: /etc/network/if-pre-up.d/quicktun
quicktun: /etc/network/if-up.d/quicktun
resolvconf: /etc/network/if-down.d/resolvconf
resolvconf: /etc/network/if-up.d/000resolvconf
sendmail-base: /etc/network/if-down.d/sendmail
sendmail-base: /etc/network/if-post-down.d/sendmail
sendmail-base: /etc/network/if-up.d/sendmail
shorewall-init: /etc/network/if-post-down.d/shorewall
shorewall-init: /etc/network/if-up.d/shorewall
sidedoor: /etc/network/if-up.d/sidedoor
slrn: /etc/network/if-up.d/slrn
slrnpull: /etc/network/if-up.d/slrnpull
tinc: /etc/network/if-post-down.d/tinc
tinc: /etc/network/if-pre-up.d/tinc
tinc: /etc/network/if-up.d/tinc
ucarp: /etc/network/if-up.d/ucarp
uml-utilities: /etc/network/if-pre-up.d/uml-utilities
uml-utilities: /etc/network/if-up.d/uml-utilities
vde2: /etc/network/if-post-down.d/vde2
vde2: /etc/network/if-pre-up.d/vde2
vlan: /etc/network/if-post-down.d/vlan
vlan: /etc/network/if-pre-up.d/vlan
vlan: /etc/network/if-up.d/ip
whereami: /etc/network/if-pre-up.d/whereami
wide-dhcpv6-client: /etc/network/if-post-down.d/wide-dhcpv6-client
wide-dhcpv6-client: /etc/network/if-up.d/wide-dhcpv6-client
wireless-tools: /etc/network/if-post-down.d/wireless-tools
wireless-tools: /etc/network/if-pre-up.d/wireless-tools
wpasupplicant: /etc/network/if-down.d/wpasupplicant
wpasupplicant: /etc/network/if-post-down.d/wpasupplicant
wpasupplicant: /etc/network/if-pre-up.d/wpasupplicant
wpasupplicant: /etc/network/if-up.d/wpasupplicant


I plan to do a MBF, asking those packages to ship a native NetworkManager-dispatcher hook script in /usr/lib/NetworkManager/dispatcher.d

From the above list, I plan to exclude the following packages:

chrony
ntpsec-ntpdate
=> already provide native NM-dispatcher scripts

bridge-utils
ethtool
ifenslave
ifmetric
initscripts
macchanger
openvswitch-switch
vde2
vlan
wireless-tools
wpasupplicant
=> afaics, those are packages, that extend the functionality of ifupdown and have no functional equivalent in NM or would actually conflict with builtin functionality of NM.


So, the remaining list of packages which I plan to do a MBF for is:
aoetools
auto6to4
avahi-autoipd
bind9
chrony
clamav-freshclam
guidedog
hostapd
htpdate
isatapd
linux-wlan-ng
lprng
miredo
nslcd
openntpd
openresolv
openvpn
postfix
quicktun
resolvconf
sendmail-base
shorewall-init
sidedoor
slrn
slrnpull
tinc
ucarp
uml-utilities
whereami
wide-dhcpv6-client


Please let me know, if in the remaining list of 30 packages there is an obvious omission and should be excluded as well or if I was too eager with my list of omissions for the MBF.


Regards,
Michael


[1] https://manpages.debian.org/bookworm/network-manager/NetworkManager-dispatcher.8.en.html

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


Reply to: