Skip to content

Dotted-quad #16

@vvilimek

Description

@vvilimek

The RFC 6991 defines also a dotted-quad which is generalization of encoding of IPv4. Do we care about this?

I think a good CBOR stand-in could be tag CPA114 with u32. The dotted-quad is used for example as router-id in the IETF model for OSPF. The tag CPA114 may have similar semantics to MAC address tag. I am not sure if the tag data item should be byte string or just unsigned integer data item.

RFC 6991, ietf-yang-types.yang

typedef dotted-quad {
  type string {
    pattern
      '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}'
    + '([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
  }
  description
    "An unsigned 32-bit number expressed in the dotted-quad
     notation, i.e., four octets written as decimal numbers
     and separated with the '.' (full stop) character.";
}

RFC 9129, model tree of ietf-ospf.yang

Important: /ietf-ospf:ospf/router-id and /ietf-ospf/ospf/areas/area/virtual-links/router-id

 module: ietf-ospf
   augment /rt:routing/rt:control-plane-protocols/
           rt:control-plane-protocol:
    +--rw ospf
       .
       .
       .
       +--rw node-tags {node-tag}?
       |  +--rw node-tag* [tag]
       |     +--rw tag      uint32
       +--ro router-id?          rt-types:router-id
       +--ro local-rib
       .
       .
       .
       +--rw areas
       |  +--rw area* [area-id]
       |     +--rw area-id                   area-id-type
       |        .
       |        .
       |     +--rw virtual-links
       |     |  +--rw virtual-link* [transit-area-id router-id]
       |     |  |  +--rw transit-area-id        -> ../../../../area/area-id
       |     |  |  +--rw router-id              rt-types:router-id
       |     |     .
       |     |     .
       |     +--rw sham-links {pe-ce-protocol}?
       |     |  +--rw sham-link* [local-id remote-id]
       |     |     .
       |     |     .
       |     +--rw interfaces
       |        +--rw interface* [name]
       |           .
       |           .
       +--rw topologies {multi-topology}?
          +--rw topology* [name]
             .
             .

  import ietf-routing-types {
    prefix rt-types;
    reference
      "RFC 8294: Common YANG Data Types for the Routing Area";
  }
  // ...
  typedef area-id-type {
    type yang:dotted-quad;
    description
      "Area ID type.";
  }

RFC 8294, ietf-routing-types

 typedef router-id {
   type yang:dotted-quad;
  description
    "A 32-bit number in the dotted-quad format assigned to each
     router.  This number uniquely identifies the router within
     an Autonomous System.";
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions