• Best way to force a TC=1 response?

    From Fred Morris@m3047@m3047.net to bind-users on Tue May 26 13:50:25 2020
    From Newsgroup: comp.protocols.dns.bind

    What's the best way to force an A query via UDP to return a TC=1 result:
    a really long CNAME chain?

    I want to set up a name that can be used in e.g. ping to perform an end
    to end resolution check in application context.


    The longer version is that there was a thread on postfix-users not too
    long ago about the fact that MUSL libc doesn't do TCP (among other
    things) and I want a way to test some hardware and statically built
    apps. No jumbo frames here.

    I was also mildly surprised to discover that glibc doesn't try TCP if
    UDP fails to answer; for some reason I thought it did! Instead it
    reports "Temporary failure in name resolution" in the ping example.

    --

    Fred Morris


    --- Synchronet 3.21d-Linux NewsLink 1.2
  • From Mark Andrews@marka@isc.org to comp.protocols.dns.bind on Wed May 27 09:28:47 2020
    From Newsgroup: comp.protocols.dns.bind


    On 27 May 2020, at 07:27, John Levine <johnl@iecc.com> wrote:

    In article <mailman.442.1590526210.942.bind-users@lists.isc.org> you write:
    What's the best way to force an A query via UDP to return a TC=1 result:
    a really long CNAME chain?

    I'd suggest lots of AAAA records. You could do it with A records but you'd need four times as many
    Well ~2 times as many. Each additional A record requires 16 bytes and each addition AAAA records requires 28 bytes. That means ~256 A records and ~146 AAAA records to force TCP with a 4096 byte UDP buffer size.
    JohnrCOs example had 187 AAAA records.
    Mark
    --
    Mark Andrews, ISC
    1 Seymour St., Dundas Valley, NSW 2117, Australia
    PHONE: +61 2 9871 4742 INTERNET: marka@isc.org
    --- Synchronet 3.21d-Linux NewsLink 1.2