Subject: [babel] info-model: HMAC/DTLS/interface references

From: "STARK, BARBARA H" <[email-masked]>
Date: Fri, 19 Apr 2019 02:17:28 +0000

I've posted a draft draft version of info-model at 
https://bhstark2.github.io/babel-information-model/draft-ietf-babel-information-model.html 

It has (I hope) resolution of all issues except the question I had around describing the IANA Babel Link Properties wired and wireless items.
Barbara
================
In Prague we discussed that the direction of reference (from HMAC and DTLS object to interface object) should be reversed (from interface to DTLS and HMAC), and parameters moved out of the HMAC and DTLS objects into the interface object. Here is what the new draft has...

under interface (see the draft for the entire description of parameters -- what I have here is abbreviated):
   |  +-- babel-interfaces-hmac-keys: List of references to the babel-hmac entries that apply to this interface. When an interface instance is created, all babel-hmac instances with babel-hmac-default-apply "true" will be included in this list.
   |  +-- babel-hmac-algorithm: The name of the HMAC algorithm used on this interface.
   |  +-- babel-hmac-verify: A Boolean flag indicating whether HMAC hashes in incoming Babel packets are required to be present and are verified.
   |  +-- babel-interfaces-dtls-certs: List of references to the babel-dtls entries that apply to this interface. When an interface instance is created, all babel-dtls instances with babel-dtls-default-apply "true" will be included in this list.
   |  +-- babel-dtls-cached-info: Indicates whether the cached_info extension is included in ClientHello and ServerHello packets.
   |  +-- babel-dtls-cert-prefer: List of supported certificate types, in order of preference.

under hmac and dtls:
   +-- babel-hmac
   |  +-- babel-hmac-default-apply: A Boolean flag indicating whether this babel-dtls instance is applied to all interfaces, by default. If "true", this instance is applied to new babel-interfaces instances at the time they are created, by including it in the babel-interface-dtls-certs list. If "false", this instance is not applied to new babel-interfaces instances when they are created.
   |  |  +-- babel-hmac-key-name
   |  |  +-- babel-hmac-key-use-sign
   |  |  +-- babel-hmac-key-use-verify
   |  |  +-- babel-hmac-key-value

   +-- babel-dtls
   |  +-- babel-dtls-default-apply: A Boolean flag indicating whether this babel-dtls instance is applied to all interfaces, by default. If "true", this instance is applied to new babel-interfaces instances at the time they are created, by including it in the babel-interface-dtls-certs list. If "false", this instance is not applied to new babel-interfaces instances when they are created.
   |  |  +-- babel-cert-name: A unique name for this DTLS certificate that can be used to identify the certificate in this object instance, since the value is too long to be useful for identification. This value can only be provided when this instance is created, and is not subsequently writable. (this is a new parameter, as agreed to in Prague)
   |  |  +-- babel-cert-value
   |  |  +-- babel-cert-type
   |  |  +-- babel-cert-private-key
   |  |  +-- babel-cert-test