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/wpasupplicantI 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-clientPlease 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