Registries included below
Specification Required
Kevin Ma, Ben Niven-Jenkins
| Payload Type | Reference |
|---|---|
| ci-trigger-command | [RFC8007] |
| ci-trigger-status | [RFC8007] |
| ci-trigger-collection | [RFC8007] |
| FCI.DeliveryProtocol | [RFC8008] |
| FCI.AcquisitionProtocol | [RFC8008] |
| FCI.RedirectionMode | [RFC8008] |
| FCI.Logging | [RFC8008] |
| FCI.Metadata | [RFC8008] |
| logging-file | [RFC7937] |
| redirection-request | [RFC7975] |
| redirection-response | [RFC7975] |
| MI.HostIndex | [RFC8006] |
| MI.HostMatch | [RFC8006] |
| MI.HostMetadata | [RFC8006] |
| MI.PathMatch | [RFC8006] |
| MI.PatternMatch | [RFC8006] |
| MI.PathMetadata | [RFC8006] |
| MI.SourceMetadata | [RFC8006] |
| MI.Source | [RFC8006] |
| MI.LocationACL | [RFC8006] |
| MI.LocationRule | [RFC8006] |
| MI.Footprint | [RFC8006] |
| MI.TimeWindowACL | [RFC8006] |
| MI.TimeWindowRule | [RFC8006] |
| MI.TimeWindow | [RFC8006] |
| MI.ProtocolACL | [RFC8006] |
| MI.ProtocolRule | [RFC8006] |
| MI.DeliveryAuthorization | [RFC8006] |
| MI.Cache | [RFC8006] |
| MI.Auth | [RFC8006] |
| MI.Grouping | [RFC8006] |
RFC Required
| JSON String | Description | Reference |
|---|---|---|
| preposition | A request for the dCDN to acquire metadata or content. | [RFC8007] |
| invalidate | A request for the dCDN to invalidate metadata or content. After servicing this request the dCDN will not use the specified data without first re-validating it using, for example, an "If-None-Match" HTTP request. The dCDN need not erase the associated data. | [RFC8007] |
| purge | A request for the dCDN to erase metadata or content. After servicing the request, the specified data MUST NOT be held on the dCDN (the dCDN should re-acquire the metadata or content from uCDN if it needs it). | [RFC8007] |
Specification Required
Unassigned
| Error Code | Description | Reference |
|---|---|---|
| emeta | The dCDN was unable to acquire metadata required to fulfil the request. | [RFC8007] |
| econtent | The dCDN was unable to acquire content (CT/T preposition commands only). | [RFC8007] |
| eperm | The uCDN does not have permission to issue the CI/T Command (for example, the data is owned by another CDN). | [RFC8007] |
| ereject | The dCDN is not willing to fulfil the CI/T Command (for example, a preposition request for content at a time when the dCDN would not accept Request Routing requests from the uCDN). | [RFC8007] |
| ecdn | An internal error in the dCDN or one of its downstream CDNs. | [RFC8007] |
| ecancelled | The uCDN cancelled the request. | [RFC8007] |
| eunsupported | The Trigger Specification contained a "type" that is not supported by the dCDN. No action was taken by the dCDN other than to create a Trigger Status Resource in state "failed". | [RFC8007] |
IETF Review
| Redirection Mode | Description | Reference |
|---|---|---|
| DNS-I | Iterative DNS-based Redirection | [RFC8008] |
| DNS-R | Recursive DNS-based Redirection | [RFC8008] |
| HTTP-I | Iterative HTTP-based Redirection | [RFC8008] |
| HTTP-R | Recursive HTTP-based Redirection | [RFC8008] |
Specification Required
Kevin Ma, Francois Le Faucheur
Directive names are to be allocated with a format of NAMEFORMAT (see
Section 3.1 of [RFC7937]). All directive names defined
in the logging file are case-insensitive as per the basic ABNF
([RFC5234]).
Each specification that defines a new CDNI Logging directive needs to
contain a description for the new directive with the same set of
information as provided in Section 3.3 of [RFC7937]
(i.e., format, directive value and occurrence).
| Directive Name | Reference |
|---|---|
| version | [RFC7937] |
| UUID | [RFC7937] |
| claimed-origin | [RFC7937] |
| established-origin | [RFC7937] |
| remark | [RFC7937] |
| record-type | [RFC7937] |
| fields | [RFC7937] |
| SHA256-hash | [RFC7937] |
Specification Required
Kevin Ma, Francois Le Faucheur
Version values are to be allocated with a format of NAMEFORMAT (see
Section 3.1 of [RFC7937]). All version values defined
in the logging file are case-insensitive as per the basic ABNF
([RFC5234]).
| version | Description | Reference |
|---|---|---|
| cdni/1.0 | CDNI Logging File version 1.0 as specified in [RFC7937] | [RFC7937] |
Specification Required
Kevin Ma, Francois Le Faucheur
Record-types are to be allocated with a format of NAMEFORMAT (see
Section 3.1 of [RFC7937]). All record-types defined
in the logging file are case-insensitive as per the basic ABNF
([RFC5234]).
Each specification that defines a new record-type needs to contain a
description for the new record-type with the same set of information
as provided in Section 3.4.1 of [RFC7937]. This
includes:
o a list of all the CDNI Logging fields that can appear in a CDNI
Logging Record of the new record-type
o for all these fields: a specification of the occurrence for each
Field in the new record-type
o for every newly defined Field, i.e., for every Field that results
in a registration in the CDNI Logging Field Names Registry: a
specification of the field name, format and field value.
| record-types | Description | Reference |
|---|---|---|
| cdni_http_request_v1 | CDNI Logging Record version 1 for content delivery using HTTP | [RFC7937] |
Specification Required
Kevin Ma, Francois Le Faucheur
Field names are to be allocated with a format of NHTABSTRING (see
Section 3.1 of [RFC7937]). All field names defined
in the logging file are case-insensitive as per the basic ABNF
([RFC5234]).
| Field Name | Reference |
|---|---|
| date | [RFC7937] |
| time | [RFC7937] |
| time-taken | [RFC7937] |
| c-groupid | [RFC7937] |
| s-ip | [RFC7937] |
| s-hostname | [RFC7937] |
| s-port | [RFC7937] |
| cs-method | [RFC7937] |
| cs-uri | [RFC7937] |
| u-uri | [RFC7937] |
| protocol | [RFC7937] |
| sc-status | [RFC7937] |
| sc-total-bytes | [RFC7937] |
| sc-entity-bytes | [RFC7937] |
| cs(insert_HTTP_header_name_here) | [RFC7937] |
| sc(insert_HTTP_header_name_here) | [RFC7937] |
| s-ccid | [RFC7937] |
| s-sid | [RFC7937] |
| s-cached | [RFC7937] |
Specification Required
Unassigned
| Code | Reason | Description | Reference |
|---|---|---|---|
| 100 | <reason> (see Description) | Generic informational error-code meant for carrying a human-readable string | [RFC7975] |
| 400 | <reason> (see Description) | Generic error-code for uCDN errors where the dCDN cannot or will not process the request due to something that is perceived to be a uCDN error. The reason field may be used to provide more details about the source of the error. | [RFC7975] |
| 500 | <reason> (see Description) | Generic error-code for dCDN errors where the dCDN is aware that it has erred or is incapable of satisfying the RI request for some reason. The reason field may be used to provide more details about the source of the error. | [RFC7975] |
| 501 | Unable to retrieve metadata | The dCDN is unable to retrieve the metadata associated with the content requested by the UA. This may indicate a configuration error or that the content requested by the UA does not exist. | [RFC7975] |
| 502 | Loop detected | The dCDN detected a redirection loop (see Section 4.8 of [RFC7975]). | [RFC7975] |
| 503 | Maximum hops exceeded | The dCDN detected the maximum number of redirection hops exceeding max-hops (see Section 4.8 of [RFC7975]). | [RFC7975] |
| 504 | Out of capacity | The dCDN does not currently have sufficient capacity to handle the UA request. | [RFC7975] |
| 505 | Delivery protocol not supported | The dCDN does not support the (set of) delivery protocols indicated in the CDNI Metadata of the content requested by the UA. | [RFC7975] |
| 506 | Redirection protocol not supported | The dCDN does not support the requested redirection protocol. This error-code is also used when the RI request has the dns-only flag set to True and the dCDN is not supported or is not prepared to return an RT of a surrogate directly. | [RFC7975] |
Specification Required
Unassigned
| Footprint Type | Description | Reference |
|---|---|---|
| ipv4cidr | IPv4 CIDR address block | [RFC8006] |
| ipv6cidr | IPv6 CIDR address block | [RFC8006] |
| asn | Autonomous System Number (ASN) | [RFC8006] |
| countrycode | ISO 3166-1 alpha-2 code | [RFC8006] |
Specification Required
Unassigned
| Protocol Type | Description | Type Specification | Protocol Specification |
|---|---|---|---|
| http/1.1 | Hypertext Transfer Protocol -- HTTP/1.1 | [RFC8006] | [RFC7230] |
| https/1.1 | HTTP/1.1 over TLS | [RFC8006] | [RFC7230][RFC2818] |