Skip to content

mDNS library does not send IPv6 packets and does not provide AAAA records #6135

Open
@owendelong

Description

@owendelong

Basic Infos

  • This issue complies with the issue POLICY doc.
  • I have read the documentation at readthedocs and the issue is not addressed there.
  • I have tested that the issue is present in current master branch (aka latest git).
  • I have searched the issue tracker for a similar issue.
  • [N/A] If there is a stack dump, I have decoded it.
  • I have filled out all fields below.

Platform

  • Hardware: ESP12F Breakout (Adafruit)
  • Core Version: 2019-05-23
  • Development Env: [Arduino IDE]
  • Operating System: [MacOS]

Settings in IDE

  • Module: [Generic ESP8266 Module]
  • Flash Mode: [qio]
  • Flash Size: [4MB]
  • lwip Variant: [v2 IPv6 Higher Bandwidth]
  • Reset Method: [nodemcu]
  • Flash Frequency: [40Mhz]
  • CPU Frequency: [160MHz]
  • Upload Using: [SERIAL]
  • Upload Speed: [460800] (serial upload only)

Problem Description

Running mDNS on an ESP8266 with an IPv6 enabled sketch only transmits IPv4 mDNS packets and even those packets do not include AAAA information for the IPv6 address.

MCVE Sketch

Reproduceable with example sketches.

Debug Messages

N/A

Further information:
tcpdump -v -n -s 1500 ether host <mac_addr> and port 5353
193.0.27.131.5353 > 224.0.0.251.5353: 0*- [0q] 4/0/1 _services._dns-sd._udp.local. PTR _arduino._tcp.local., _arduino._tcp.local. PTR gr8LED-701777._arduino._tcp.local., gr8LED-701777._arduino._tcp.local. (Cache flush) SRV gr8LED-701777.local.:8266 0 0, gr8LED-701777._arduino._tcp.local. (Cache flush) TXT "auth_upload=yes" "board="ESP8266_ESP12"" "ssh_upload=no" "tcp_check=no" (252)
08:27:49.924159 IP (tos 0x0, ttl 255, id 17, offset 0, flags [none], proto UDP (17), length 114)
193.0.27.131.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 gr8LED-701777.local. (Cache flush) A 193.0.27.131, 131.27.0.193.in-addr.arpa. (Cache flush) PTR gr8LED-701777.local. (86)
08:27:49.924986 IP (tos 0x0, ttl 255, id 18, offset 0, flags [none], proto UDP (17), length 280)
193.0.27.131.5353 > 224.0.0.251.5353: 0*- [0q] 4/0/1 _services._dns-sd._udp.local. PTR _arduino._tcp.local., _arduino._tcp.local. PTR gr8LED-701777._arduino._tcp.local., gr8LED-701777._arduino._tcp.local. (Cache flush) SRV gr8LED-701777.local.:8266 0 0, gr8LED-701777._arduino._tcp.local. (Cache flush) TXT "auth_upload=yes" "board="ESP8266_ESP12"" "ssh_upload=no" "tcp_check=no" (252)
08:27:50.846542 IP (tos 0x0, ttl 255, id 19, offset 0, flags [none], proto UDP (17), length 114)
193.0.27.131.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 gr8LED-701777.local. (Cache flush) A 193.0.27.131, 131.27.0.193.in-addr.arpa. (Cache flush) PTR gr8LED-701777.local. (86)
08:27:50.948694 IP (tos 0x0, ttl 255, id 20, offset 0, flags [none], proto UDP (17), length 280)
193.0.27.131.5353 > 224.0.0.251.5353: 0*- [0q] 4/0/1 _services._dns-sd._udp.local. PTR _arduino._tcp.local., _arduino._tcp.local. PTR gr8LED-701777._arduino._tcp.local., gr8LED-701777._arduino._tcp.local. (Cache flush) SRV gr8LED-701777.local.:8266 0 0, gr8LED-701777._arduino._tcp.local. (Cache flush) TXT "auth_upload=yes" "board="ESP8266_ESP12"" "ssh_upload=no" "tcp_check=no" (252)
08:27:51.871012 IP (tos 0x0, ttl 255, id 21, offset 0, flags [none], proto UDP (17), length 114)
193.0.27.131.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 gr8LED-701777.local. (Cache flush) A 193.0.27.131, 131.27.0.193.in-addr.arpa. (Cache flush) PTR gr8LED-701777.local. (86)
08:27:51.975507 IP (tos 0x0, ttl 255, id 22, offset 0, flags [none], proto UDP (17), length 280)

Note: no IPv6 packets recorded.

Also:
odmbpro2:src owendelong$ ping esp8266-701777.local
PING esp8266-701777.local (193.0.27.131): 56 data bytes
64 bytes from 193.0.27.131: icmp_seq=0 ttl=255 time=41.600 ms
64 bytes from 193.0.27.131: icmp_seq=1 ttl=255 time=4.782 ms
64 bytes from 193.0.27.131: icmp_seq=2 ttl=255 time=5.351 ms
^C
--- esp8266-701777.local ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 4.782/17.244/41.600/17.224 ms
odmbpro2:src owendelong$ ping6 esp8266-701777.local
ping6: getaddrinfo -- nodename nor servname provided, or not known
odmbpro2:src owendelong$

And:
odmbpro2:src owendelong$ dns-sd -q gr8led-701777.local AAAA IN
DATE: ---Thu 23 May 2019---
8:27:24.490 ...STARTING...
^C
odmbpro2:src owendelong$ dns-sd -q gr8led-701777.local A IN
DATE: ---Thu 23 May 2019---
8:41:56.222 ...STARTING...
Timestamp A/R Flags if Name Type Class Rdata
8:41:56.223 Add 2 5 gr8LED-701777.local. Addr IN 193.0.27.131

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions