-
Notifications
You must be signed in to change notification settings - Fork 46
Ripping out support for ancient protocols
Kartik Agaram edited this page Dec 30, 2016
·
3 revisions
At the static initialization of the domains global, commenting out:
- Everything but
inetdomain: leads to this error:
pfctl: getifaddrs: Protocol not available.
-
Everything but
inetdomainandpfkeydomain: same error as above. -
Just
mplsdomainandpfkeydomain: works fine. -
mplsdomain,pfkeydomainandinet6domain: boot fails without the earlier "Protocol not available" error. Page fault inside functionin6_update_ifa. -
mplsdomain,pfkeydomainandroutedomain: errors on boot, but eventually gets to login screen:
route: socket: Protocol not supported
route: socket: Protocol not supported
pfctl: getifaddrs: Protocol not available
starting early daemons: syslogd pflogd(failed) ntpd.
..
starting network daemons: sshd smtdpd(failed) sndiod.
starting local daemons: cron.
No ssh access.
-
mplsdomain,pfkeydomainandunixdomain: errors on boot, but eventually gets to login screen:
socketpair: Protocol not supported
starting early daemons: syslogd(failed) pflogd(failed) ntpd(failed).
..
starting network daemons: sshd smtdpd(failed) sndiod(failed).
starting local daemons: cron(failed).
No ssh access.
- (one final lark)
mplsdomain,pfkeydomainandinetdomain(ssh access not expected): boot fails. Page fault inside functionin_pcballoc.
So it looks like we require, at least for now:
-
inet6domain(at least for an explicit setup call) inetdomain-
unixdomain(for syslogd, pflogd, ntpd, smtpd, sndiod, cron, ssh access) -
routedomain(for pflogd, smtpd, ssh access)
Easily disabled are just:
mplsdomainpfkeydomain
Call graph during boot sequence:
in6_update_ifa
-
in6_ifattach_loopbackandin6_ifattach_linklocal(fromnetinet6/in6_ifattach.c)-
in6_ifattach-
ifioctlandif_up(fromnet/if.c)
-
-
-
in6_control(fromnetinet6/in6.c)-
udp_usrreq(fromnetinet/udp_usrreq.c)
-
Disabling pflogd is done through rcctl which in turn updates /etc/rc.conf.