attachment
<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Smith,<div class=""><br class=""></div><div class="">OK, I've been thinking more about this and RFC 6763 does talk about flagship naming, so perhaps the thing to do is just list _printer._tcp as one of the required service types and either drop the references to the Bonjour Printing Specification entirely (it is still referenced by RFC 6763 so implementors can get to it indirectly at least...) or make it informational and just make _printer._tcp normative (Safari doesn't even support the Bonjour menu anymore...)</div><div class=""><br class=""></div><div class="">How about the following?</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><b class="">4.2 DNS Service Discovery (DNS-SD)</b></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class="">DNS Service Discovery (DNS-SD) [RFC6763] uses service (SRV) records and traditional unicast and multicast DNS (mDNS) [RFC6762] queries. Services are identified by a service instance name consisting of an instance name, a service type or subtype name, and a domain name. Discovery of Printers involves multiple service types and subtypes as described in the following sections.</font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class="">Printers that support DNS-SD MUST support mDNS and MAY support dynamic DNS updates via Dynamic Updates in the Domain Name System (DNS UPDATE) [RFC2136] and other mechanisms.</font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><b class="">4.2.1 IPP Everywhere™ Service Sub-Types</b></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class="">In order for a Client to discover IPP Printers that conform to this specification (and not just [STD92]), this specification defines the following DNS-SD service subtypes:</font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><ul class=""><li class=""><span style="font-size: 14px; font-family: Helvetica;" class="">"_print._sub._ipp._tcp" for IPP Everywhere™ Printers using the "ipp" URI scheme [RFC3510]; and</span></li><li class=""><span style="font-size: 14px; font-family: Helvetica;" class="">"_print._sub._ipps._tcp" for IPP Everywhere™ Printers using the "ipps" URI scheme [RFC7472].</span></li></ul></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><b class="">4.2.2 Service (SRV) Instance Name</b></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class="">Printers MUST NOT use a service instance name containing a unique identifier by default. A unique identifier MAY be added to the instance if there is a name collision.</font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class="">The domain portion of the service instance name MUST BE "local." for mDNS.</font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class="">Printers that support DNS-SD MUST advertise the "_printer._tcp" (LPD) service over mDNS in order to conform to the Flagship Naming requirements as defined in [RFC6763]. For example, a Printer named "Example Printer" would advertise the service instance name "Example Printer._printer._tcp.local." with a port number of 0 to indicate that the LPD protocol is not actually supported.</font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class="">Printers that support DNS-SD MUST also advertise the "_ipp._tcp" (generic IPP) and "_print._sub._ipp._tcp" (IPP Everywhere™) services over mDNS. For example, a Printer named "Example Printer" would advertise the service instance names "Example Printer._ipp._tcp.local." and "Example Printer._print._sub._ipp._tcp.local.".</font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class=""><br class=""></font></div></div><div class=""><div class=""><font face="Helvetica" style="font-size: 14px;" class="">Printers that support DNS-SD and the "ipps" URI scheme [RFC7472] MUST advertise the "_ipps._tcp" (generic IPPS) and "_print._sub._ipps._tcp" (IPP Everywhere™ Secure) services over mDNS. For example, a Printer named "Example Printer" would advertise the service instance names "Example Printer._ipps._tcp.local." and "Example Printer._print._sub._ipps._tcp.local.".</font></div></div></blockquote><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""><br class=""><blockquote type="cite" class="">On Mar 5, 2020, at 4:57 PM, Michael Sweet via ipp <<a href="mailto:ipp@pwg.org" class="">ipp@pwg.org</a>> wrote:<br class=""><br class="">Smith,<br class=""><br class="">I generally agree with most of your comments. See below...<br class=""><br class=""><br class=""><blockquote type="cite" class="">On Mar 5, 2020, at 4:09 PM, Kennedy, Smith (Wireless & IPP Standards) <<a href="mailto:smith.kennedy@hp.com" class="">smith.kennedy@hp.com</a>> wrote:<br class=""><blockquote type="cite" class="">...<br class="">4.2.1 History of Printer Discovery with DNS-SD<br class=""><br class="">The Bonjour Printing Specification defines a discovery mechanism for three different printing protocols which are mapped to DNS-SD service types: "_ipp._tcp" for any version of IPP, "_pdl-datastream._tcp" for direct socket communications, and "_printer._tcp" for the Line Printer Daemon (LPD) [RFC1179] protocol. For historical reasons, the primary ("flagship") protocol used for DNS-SD Printer discovery is LPD regardless of whether the Printer actually supports LPD.<br class=""><br class="">DNS-SD makes use of service "sub-types" to identify specific types of services, and the Bonjour Printing Specification also defines a well-known "_printer._sub._http._tcp" service sub-type for a Printer's embedded web server to differentiate a Printer web page from a regular web page.<br class=""></blockquote><br class="">I'm sorry but I really don't agree with having this new section 4.2.1. If we want to avoid future confusion between _print._sub._ipp._tcp and _printer._tcp and _printer._sub._http._tcp, I might suggest we drop all references to the Bonjour Printing spec and focus solely on what IPP Everywhere uses for its DNS-SD advertisements. Other than the TXT portions, what are we getting by referencing Bonjour Printing at this point? Some of the normative statements above are redundant with the requirements in Bonjour Printing 1.2.1.<br class=""></blockquote><br class="">The flagship naming stuff is, unfortunately, still relevant. So even if your printer doesn't support LPD you need to register "printername._printer._tcp.local." to deal with name collisions properly...<br class=""><br class="">________________________<br class="">Michael Sweet<br class=""><br class=""><br class=""><br class="">_______________________________________________<br class="">ipp mailing list<br class=""><a href="mailto:ipp@pwg.org" class="">ipp@pwg.org</a><br class="">https://www.pwg.org/mailman/listinfo/ipp<br class=""><br class=""></blockquote><br class=""><div class="">________________________<br class="">Michael Sweet<br class=""><br class=""><br class=""></div><br class=""></div></body></html>