Subject: [dnssd] Parsing Service Discovery Instruction for SRP (2.3.1.1)

From: Esko Dijk <[email-masked]>
Date: Wed, 18 Aug 2021 13:24:53 +0000

Hi all, Ted,

While doing my SRP review I found Section 2.3.1.1 on Service Discovery Instruction a bit difficult to parse:

"if the Service Discovery update is an "Add to an RRSet" instruction, the Service Description Instruction does not match if"

-> for me unclear what the 'does not match' refers to.  What is matched with what?

Why is Service Discovery Instruction mentioning “the” Service Description Instruction? (Which one?)

" if the Service Discovery Instruction is an "Delete an RR from an  RRSet" update, "

-> the bullet list tries to define what constitutes a Service Discovery Instruction. Now this bullet point mentions a Service Discovery Instruction, even though we don't know yet whether this instruction constitutes a Service Discovery Instruction or not! The bullet list was there in the first place to find this out so the instruction at this point may or may not be of the Service Discovery Instr type.

Below  is an attempted rewording of the entire section, to simplify and clarify – some parts I have probably wrong but I need this to understand what the intended definition is so I can give rewording suggestions.

An instruction within an SRP Update is a Service Discovery Instruction if

   *  it contains exactly one "Add to an RRSet" ([RFC2136], Section 2.5.1<https://datatracker.ietf.org/doc/html/rfc2136#section-2.5.1>) or exactly one "Delete an RR from an RRSet" ([RFC2136], Section 2.5.4<https://datatracker.ietf.org/doc/html/rfc2136#section-2.5.1>) RR update but no additional RR UPDATEs,
   *  which updates a PTR type RR,
   *  which points to a Service Instance Name,
   *  for which Service Instance Name also a Service Description Instruction is present in the same SRP Update,
   *  and in case the single contained RR update is "Add to an RRSet", the SRP Update also contains a Service Description Instruction including one "Add to an RRset" RR update for the SRV type RR
      defining the same Service Instance Name;
   * or in case the single contained RR update is "Delete an RR from an RRSet", the SRP Update contains no Service Description Instruction including an "Add to an RRset" update for the same Service Instance Name.

Corrections/feedback is welcome!

Best regards
Esko

IoTconsultancy.nl  |  Email/Teams: [email-masked]<mailto:[email-masked]>    |   +31 6 2385 8339

---

From: Esko Dijk <[email-masked]>
Date: Thu, 19 Aug 2021 11:25:51 +0000

As an alternative to my below email, here is another (simpler) text for Section 2.3.1.1 :

   *  it contains exactly one "Add to an RRSet" ([RFC2136], Section 2.5.1<https://datatracker.ietf.org/doc/html/rfc2136#section-2.5.1>) or exactly one "Delete an RR from an RRSet" ([RFC2136], Section 2.5.4<https://datatracker.ietf.org/doc/html/rfc2136#section-2.5.1>) RR update,
       o  which updates a PTR type RR,
       o  which points to a Service Instance Name that is being used in at least one other Instruction in this SRP Update,

   * and it contains no other RR UPDATEs.

This eliminates all references to external Service Description Instructions to simply the conditions. Due to the Section 2.3.2 requirements on the “instructions” it looks like it is not necessary to define these already as part of the 2.3.1.1 text.  (The Section 2.3.2 requirements will already weed out the bad cases.)

Best regards
Esko

From: Esko Dijk
Sent: Wednesday, August 18, 2021 15:25
To: DNSSD <[email-masked]>
Cc: Ted Lemon <[email-masked]>
Subject: Parsing Service Discovery Instruction for SRP (2.3.1.1)

Hi all, Ted,

Best regards
Esko