dig - not resolving all records with mdns subtype's included
When using avahi and the option --subtype dig fails to find all records, however some of them are found.
- the .service files are identical except for the <name>instancen
My goal with the setup is to use dns-sd to annonce what parts of the application protocol "avms" actually are implemented or running at the local network. This approach are currently evaluated in a EU R&D project, and the outcome will be a recommendation for extention of the CEN standard EN13149-7 and -9
Ex. of a .service file:
<?xml version="1.0" standalone=
<!DOCTYPE service-group SYSTEM "avahi-
<service-group>
<name>
<service protocol="ipv4">
<type>
<subtype>
<port>
<txt-
<txt-
<txt-
<txt-
<txt-
</service>
</service-group>
The dig command:
dig @224.0.0.251 -p 5353 -t any _avms._
returns:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @224.0.0.251 -p 5353 -t any _avms._
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44915
;; flags: qr aa; QUERY: 1, ANSWER: 11, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;_avms.
;; ANSWER SECTION:
_avms._
vehiclemonitori
vehiclemonitori
noname.local. 10 IN AAAA ffff::111:
noname.local. 10 IN A 10.0.8.106
_avms._
runmonitoring.
runmonitoring.
_avms._
plannedpattern.
_avms._
;; Query time: 0 msec
;; SERVER: 10.0.8.
;; WHEN: Wed Sep 21 10:03:38 CEST 2016
;; MSG SIZE rcvd: 498
Eg. it found 3 of 6 instances..
vehiclemonitoring
runmonitoring
plannedpattern
running the command:
avahi-browse -tr _avms._
returns:
+ eth0 IPv4 runmonitoring _ebsf2._tcp local
+ eth0 IPv4 plannedpattern _ebsf2._tcp local
+ eth0 IPv4 patternmonitoring _ebsf2._tcp local
+ eth0 IPv4 journeymonitoring _ebsf2._tcp local
+ eth0 IPv4 generalmessage _ebsf2._tcp local
+ eth0 IPv4 vehiclemonitoring _ebsf2._tcp local
= eth0 IPv4 runmonitoring _ebsf2._tcp local
hostname = [noname.local]
address = [10.0.8.106]
port = [8085]
txt = ["xstatus=
= eth0 IPv4 plannedpattern _ebsf2._tcp local
hostname = [noname.local]
address = [10.0.8.106]
port = [8086]
txt = ["xstatus=
= eth0 IPv4 patternmonitoring _ebsf2._tcp local
hostname = [noname.local]
address = [10.0.8.106]
port = [8085]
txt = ["xstatus=
= eth0 IPv4 journeymonitoring _ebsf2._tcp local
hostname = [noname.local]
address = [10.0.8.106]
port = [8085]
txt = ["xstatus=
= eth0 IPv4 generalmessage _ebsf2._tcp local
hostname = [noname.local]
address = [10.0.8.106]
port = [8087]
txt = ["xstatus=
= eth0 IPv4 vehiclemonitoring _ebsf2._tcp local
hostname = [noname.local]
address = [10.0.8.106]
port = [8085]
txt = ["xstatus=
Eg.
All the 6 instances are found..
vehiclemonitoring
runmonitoring
plannedpattern
journeymonitoring
generalmessage
patternmonitoring
Is there a bug? or am I doing something wrong??
A nice behaviour would also be to resolve:
dig @224.0.0.251 -p 5353 -t any _sub._ebsf2.
to return a list of all subtypes to _ebsf2
it may also be useful to sometimes leave out the _tcp or _udp part
(dig @224.0.0.251 -p 5353 -t any _sub._ebsf2..local) or something like it
and why only _tcp and _udp??
Best regards,
Anders Fromell
Senior System Architect
Question information
- Language:
- English Edit question
- Status:
- Expired
- For:
- Ubuntu bind9 Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply: