Re: [netmod] 6021 ipv4-prefix

Randy Presuhn <> Thu, 02 May 2019 02:41 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C38BD1202CE for <>; Wed, 1 May 2019 19:41:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id J9YmilXbrCzo for <>; Wed, 1 May 2019 19:41:34 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 05B7B1202D1 for <>; Wed, 1 May 2019 19:41:33 -0700 (PDT)
Received: by with SMTP id l2so305740plt.11 for <>; Wed, 01 May 2019 19:41:33 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=SEkfgxeawLl5zRDG0/6PqgJbeY67cYwNiZElKjZCu7U=; b=XbC0mRXQzsul0/5ajwy7lzfRjGaHpnLQjLfk+JFYc/bvachrzloxy7BHIbW/eMKynO VEA8+zday2ZcgS4KBB9q0igT9bdRlD94b595rJaQk2+U7KEWdFNgKbfpa07eTsjkbTk+ LPDRitUPKAZhvXib2QQ7jxmiphjm8ErRjhY+xuYrYFqio0QS+1pbLPXmDRMCIPWdSrmT jTH0+OGGjwZTX+14DxGXU94sQpa9cj1zLinIsf09TVLbQgMCe1u+0wmGuqau9By8+Bq0 EfRZJnjL6UfnxXxKaAswakmwafb0rOiAEf0hNcRrJb+PKByc0FnoGJ/yHeFP+qmZ39y7 3HmA==
X-Gm-Message-State: APjAAAVJiF96eMA6/Yy+km/yq54g9KarrlnGj5PEZHpl9wmQg6escdkw R/0yfqbXfGvDRDJyJeuT6SRRsUSrM3g=
X-Google-Smtp-Source: APXvYqyfJOc8fvy9QMi7lZmzP7OiiEVW7eRcgQuNwurFp/RmzrvI66Y1bLS4VfqkjVdJaQA5bQ+EHQ==
X-Received: by 2002:a17:902:b589:: with SMTP id a9mr1065578pls.66.1556764892670; Wed, 01 May 2019 19:41:32 -0700 (PDT)
Received: from [] ( []) by with ESMTPSA id j10sm12604087pfa.37.2019. for <> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 May 2019 19:41:32 -0700 (PDT)
References: <> <> <> <> <> <> <> <> <> <> <> <>
From: Randy Presuhn <>
Message-ID: <>
Date: Wed, 01 May 2019 19:41:30 -0700
User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:38.0) Gecko/20100101 Thunderbird/38.5.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <>
Subject: Re: [netmod] 6021 ipv4-prefix
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 02 May 2019 02:41:36 -0000

Hi -

On 5/1/2019 12:46 PM, Mikael Abrahamsson wrote:
> Where is the text that tells the server implementor whether to throw an
> error when client commits non-zero bits, or to just throw the bits away
> and store the value in the canonical format?

Such text would be an inappropriate constraint the server's
internal representation.  We should only specify
the externally-visible behaviour: that the reported value
will be in the canonical format.  Whether an implementation
preserves extraneous cruft in its internal representation is
purely an implementation decision, and not subject to standardization.

>> (Even for the case of simple signed integers, it depends on my internal
>> number representation whether normalizing +7 to 7 causes a change of
>> the internal representation or not.)
> I think this example is not relevant to this discussion. +7 and 7
> doesn't change any integer backend representation. It's the same value.

You don't know whether it does or does not affect the internal
representation used by the backend.  If the backend is a textual
configuration file virtualized through netconf, the "+" might
very well be preserved in the file, even though it would disappear
in response to a query.  We only know that for purposes
of the protocol's operation, the server needs to behave as though
it is in the canonical form.

> Again, I have no problem with the server throwing away the bits at
> commit time, I just want it to be clear from the specs that this is the
> correct behaviour and what the server should do when the above text is
> not true:
> "The IPv6 address should have all bits that do not belong
>        to the prefix set to zero."
> Throw an error or "fix it"?

Since the language is "should" an error seems inappropriate.

> It seems it should "fix it", so we should
> have text that reflects this.

False dichotomy.  An implementation might actually preserve
those bits, though of course they'd never be seen again (at
least not on a netconf interface) since the netconf server
will always behave as though the value were in its canonical
form, regardless of the internal representation.

> I have no idea where this text should go,
> though.

I agree with the earlier sentiment that anything addressing
this really belongs in whatever further clarification of
canonicalization goes into the update.