Smith,
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...)
How about the following?
4.2 DNS Service Discovery (DNS-SD)
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.
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.
4.2.1 IPP Everywhere™ Service Sub-Types
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:
"_print._sub._ipp._tcp" for IPP Everywhere™ Printers using the "ipp" URI scheme [RFC3510]; and
"_print._sub._ipps._tcp" for IPP Everywhere™ Printers using the "ipps" URI scheme [RFC7472].
4.2.2 Service (SRV) Instance Name
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.
The domain portion of the service instance name MUST BE "local." for mDNS.
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.
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.".
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.".
> On Mar 5, 2020, at 4:57 PM, Michael Sweet via ipp <ipp at pwg.org> wrote:
>> Smith,
>> I generally agree with most of your comments. See below...
>>>> On Mar 5, 2020, at 4:09 PM, Kennedy, Smith (Wireless & IPP Standards) <smith.kennedy at hp.com> wrote:
>>> ...
>>> 4.2.1 History of Printer Discovery with DNS-SD
>>>>>> 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.
>>>>>> 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.
>>>> 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.
>> 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...
>> ________________________
> Michael Sweet
>>>> _______________________________________________
> ipp mailing list
>ipp at pwg.org>https://www.pwg.org/mailman/listinfo/ipp>
________________________
Michael Sweet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pwg.org/pipermail/ipp/attachments/20200312/049bed3b/attachment.html>