[Dnsmasq-discuss] [PATCH] Report filtered A or AAAA records via EDE code
Simon Kelley
simon at thekelleys.org.uk
Fri Mar 31 23:36:01 UTC 2023
On 31/03/2023 08:25, Dominik Derigs wrote:
> Hey Simon,
>
> On Thu, 2023-03-30 at 18:28 +0100, Simon Kelley wrote:
>> I just merged the branch I've been working on for the last week which
>> includes this patch, but much modified because the surrounding code has
>> changed. The function is unaltered.
>>
>> The other changes are adding the ability to cache any RR-type, and the
>> ability to filter any RR-type. There's quite a bit of code cleanup in
>> the affected code paths too.
>
> The new man page says:
>> By default, dnsmasq caches A, AAAA, CNAME and SRV DNS
> record types. This option adds other record types to the
> cache. [...]
>
> I wonder how useful this really is. Won't it cause config
> files to explode with lines like (possibly line-per-line):
> --cache-
> rr=NS,MD,MF,SOA,MB,MG,MR,NULL,WKS,PTR,HINFO,MINFO,MX,TXT,RP,
> AFSDB,X25,ISDN,RT,NSAP,NSAP_PTR,SIG,KEY,PX,GPOS,LOC,NXT,EID,
> NIMLOC,ATMA,NAPTR,KX,CERT,A6,DNAME,SINK,OPT,APL,DS,SSHFP,IPS
> ECKEY,RRSIG,NSEC,DNSKEY,DHCID,NSEC3,NSEC3PARAM,TLSA,SMIMEA,H
> IP,NINFO,RKEY,TALINK,CDS,CDNSKEY,OPENPGPKEY,CSYNC,ZONEMD,SVC
> B,HTTPS,SPF,UINFO,UID,GID,UNSPEC,NID,L32,L64,LP,EUI48,EUI64,
> TKEY,TSIG,IXFR,AXFR,MAILB,MAILA,ANY,URI,CAA,AVC,DOA,AMTRELAY
> ,TA,DLV
>
> if I want to cache all types known to dnsmasq by name (yes,
> this does not include proprietary extensions by numbers). It
> also seems inefficient to always loop over these 86 RR types
> when we check if this RR is to be cached.
>
> Looking at this new option, it seems really counter-
> intuitive to specify "I want to cache ANY but not TXT". Is
> there a real-world scenario where someone would not like to
> cache a specific type? I suppose these queries should
> arguably have a TTL of 0 from upstream to prevent caching.
>
> My feeling is that we should really have at least a shortcut
> to specify "cache everything you can". May this be "--cache-
> rr" without options, some special "--cache-rr=all" or maybe
> a dedicated option like "--cache-all".
>
Good question. The motive for making caching opt-in rather than opt-out
is only that just silently starting to cache everything has the
potential to have a big enough affect on the memory footprint of dnsmasq
to be noticeable on small routers.
I've made --cache-rr=ANY do the obvious thing.
> Others than that - thanks for working on this! I already
> started testing (using the long command above) and will
> report any oddities I come across.
>
Thanks. Please pick up the latest code, which is more efficient at
storing small RRs.
Cheers,
Simon.
> Best,
> Dominik
>
More information about the Dnsmasq-discuss
mailing list