Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Voucher extension registry #79

Open
wants to merge 1 commit into
base: fix-up-sid-allocations
Choose a base branch
from

Conversation

mcr
Copy link
Member

@mcr mcr commented Feb 18, 2025

close #74

@mcr mcr changed the base branch from main to fix-up-sid-allocations February 18, 2025 18:19
@EskoDijk
Copy link

@mcr I'm unable to review this or understand this without further context. Why not use one of the design team calls to go over this? That would be very useful.

I very much doubt at this point that we need the registry defined by this PR, but obviously you do so I must be missing some hugely important point.

There are 2 different extendibility reasons in general:

  1. vendor-specific, private extensions just to send data to the Pledge (no public definitions required of the data fields)
  2. IETF-defined voucher extensions (assume we can just spin another RFC to do these, just like 8366bis does?)

In both cases I don't see a need for any registry or the need to include data elements any differently in the voucher than the way we've defined so far.

@mcr
Copy link
Member Author

mcr commented Feb 19, 2025 via email

@EskoDijk
Copy link

@mcr So let's discuss in one of the Tuesday calls or otherwise IETF (if agenda/time permits).

Just wanted to note that with CBOR vouchers with SIDs, it's also possible to add a few string-key / value pairs as well i.e. mix SIDs and string-keys. This allows the "vendor.example:foobar" key also. It's just not very efficient.

The range 60,000 to 99,999 is Experimental Use which formally seems to disallow use by a vendor for its products, although in practice it wouldn't hurt.

Maybe the range 2550-2600 could be allocated to vendor-specific usage in both vouchers and voucher-requests. Or alternatively allocate a single SID in the 2450-2499 range and a single SID in the 2500-2549 range for holding a container (map) of vendor-specific keys/values. The latter would be easier to understand and easier to avoid encoding mistakes.

IANA is asked to create a registry of extensions as follows:

Registry name: Voucher Extensions
Registry policy: Standards Action
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Registry policy: Standards Action
Registry policy: First Come First Served

Items within that list are strings (in JSON serialization), or integers (in CBOR serialization), as defined by the Voucher Extension Registry.

Extensions are full YANG moduals, which are subject to SID allocation process described in {{RFC9254}}.
When serialized the extensions are placed in a sub-map in the value section.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other part of sentence missing?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, misunderstood. Maybe

Suggested change
When serialized the extensions are placed in a sub-map in the value section.
When an extension is serialized, the extension is placed in a sub-map in the value section.

The "extensions" list attribute definied in this model allows for new standard extensions to be defined.
Items within that list are strings (in JSON serialization), or integers (in CBOR serialization), as defined by the Voucher Extension Registry.

Extensions are full YANG moduals, which are subject to SID allocation process described in {{RFC9254}}.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Extensions are full YANG moduals, which are subject to SID allocation process described in {{RFC9254}}.
Extensions are full YANG modules, which are subject to the SID allocation process described in {{RFC9254}}.

@@ -84,6 +84,17 @@ RFCEDITOR: please replace XXXX with the RFC number assigned.
Future work MAY create verification requirements based on
this node.";
}

leaf-list extensions {
type string {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's a list of strings, how do we envision the CBOR serialization?
Formally it also have to be strings. It would be strange to put SID integer values in string e.g. [ "123", "456" ] ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow vendor-specific info items to be stored in the Voucher
2 participants