Odhcpd by default?

Hi, what keeps us from using odhcpd as default IPv4 and 6 daemon rather than shipping with a dnsmasq for IPv4 and odcpd-ipv6only for IPv6?


And a related question:
Why use a separate ohdcp6c instead of busybox udhcpc.


There's some relevant info:

Actually, I already use odhcpd for DHCPv4.

Dnsmasq-specific features:

1 Like

I think that in 2013-2016 when odhcpd and odhcp6c were mainly written & adopted, the IPv6 support in dnsmasq was not that good and integrating OpenWrt specific tools was seen as easier.

Possibly also there is also a better integration with netifd etc. OpenWrt specific tools e.g. regarding 6in4, 6to4, and prefix delegation etc.

@dedeckeh and Steven Barth (sbyx, not even present here in the new forum?) probably know the most of the original reasoning.

1 Like

Dynamic (changing) IPv6 prefixes are (were?) a major weakness of dnsmasq. Sadly most consumer ISPs only provide those (either intentionally highly dynamic (always a new IP/ prefix after each auth) or semi-static at best). Even worse, by now quite a few endusers consider this to be an important privacy feature against tracking, rather than the problems this causes.


I migrated to a fully odhcpd / Unbound setup. You'll still need a DNS server if you go full odhcpd, maybe that's why OpenWrt sticks with a stripped odhcdp for IPv6-only functionality + dnsmasq for the remainder?

Why use Unbound instead of Stubby? Stubby at least supports persistent DNS connections if you're going to use the DoT or DoH features.

It's still a good idea to use dnsmasq with that setup, as a DNS cache, since Stubby does not support DNS caching.

Unbound is a resolver, unlike Stubby or dnsmasq.