On Thu, Apr 14, 2022 at 09:23:38AM -0700, Andy Bierman wrote:
> >
> So is this a correct summary:
> 
>  - zone index is not used in IPv4 at all

There are link-local IPv4 addresses, they are less wide-spread since
IPv4 stacks generally do not auto-configure IPv4 link-local addresses.
Nobody will be able to confirm "not used at all", this questions is
somewhat rhetoric since nobody can answer it.

>  - zone index is not configured by a client in IPv6 at all

Configuring zone indexes is required in many cases to reach services
that are only reachable via link-local addresses. I mentioned the DNS
resolver example and this applies to pretty much any transport layer
endpoint. This is why by design (and not by accident) the with zone
version of ip-address is used in the inet:host typedef.

>  - zone index is assigned by the system (as needed) to IPv6 link-local
> addresses

A link-local address exists on a link and as such does not need a zone
index as long it is used on the link. However, when you want to refer
to a link-local address on a system with more than one link, then the
link-local address is ambiguous and to disambiguate things you either
specify in adding the interface to be used or you embed the zone index
in the address. Since application code usually assumes that a
transport address is an (ip-address, port) tuple, people converged on
adding the zone to the ip address (instead of rewriting all APIs to
use (ip-address, port, interface) tuples. The zoned IP address
notation is meanwhile widely supported. This is why we have, for
example, RFC 6874 (but the IPv6 folks have a reoccuring debate about
the question whether the % needs to be percent encoded or not,
draft-carpenter-6man-rfc6874bis-03).

> I want to add a server option in our code to always reject (or alter)
> an edit that contains a zone index.  I need to know the consensus on
> whether it is OK to ignore a zone index from a client.

It is your choice to design a product that will not work with
link-local addresses. For IETF data models, I expect that the bar is
higher and that people can expect that IETF data models are written to
also work with link-local addresses. If implementers than decide that
their users do not need to work with link-local addresses, so be it,
you can make your server reject the optional zone index. But others
can decide that they customers can also work with link-local
addresses. If we blindly remove the zone index from ip-address, then
the IETF would break data models for those who consider link-local
addresses a first class citizen.

> Nothing in RFC 6241 suggests that this is OK for <edit-config>.

I have no clue what you mean. If your server recceives a value that
your server does not support, you reject the value.

/js

PS: I recall the side meetings with IPv6 people to sort out how we add
    proper IPv6 support to MIB modules, which led to RFC 4001, which
    later influenced the YANG typedefs. Almost 20 years later (and
    IPv6 deployed at a much larger scale) I find myself in a
    discussion where people question that we need to support
    link-local addresses. This is very irritating.

    Apparently, getaddrinfo() implementations tend to handle zoned
    link-local addresses just fine and any code that passes a zoned ip
    address string to getaddrinfo() will likely return you a socket
    address with the sin6_scope_id filled in properly. You actually
    have to do extra work to prevent the right thing to happen if your
    code passes strings on to getaddinfo(). I am puzzled why people
    want to do this.

-- 
Jürgen Schönwälder              Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to