{
  "id": "ipv6subnet",
  "kind": "datatype",
  "status": "stable",
  "name": "IPv6 routing prefix (subnet)",
  "doc": "Block of IPv6 addresses written as an IPv6 address, a slash and a prefix length from 0 to 128 (RFC 4291, section 2.3), such as 2001:db8::/32. Most single network segments are /64, because the interface identifier takes the last 64 bits of an address. Wikidata records the address blocks of organizations in property P3793.",
  "parent": "ipsubnet",
  "is_pii": true,
  "categories": [
    "internet"
  ],
  "langs": [
    "common"
  ],
  "classification": "identifier",
  "regexp": "^(?:(?:[0-9A-Fa-f]{1,4}:){6}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|::(?:[0-9A-Fa-f]{1,4}:){5}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){4}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:(?:[0-9A-Fa-f]{1,4}:){0,1}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){3}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:(?:[0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:){2}(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:(?:[0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}:(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:(?:[0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})?::(?:[0-9A-Fa-f]{1,4}:[0-9A-Fa-f]{1,4}|(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])){3})|(?:(?:[0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})?::[0-9A-Fa-f]{1,4}|(?:(?:[0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})?::)/(?:12[0-8]|1[01][0-9]|[1-9]?[0-9])$",
  "examples": [
    {
      "value": "2001:610::/29",
      "description": "SURFnet (example of Wikidata property P3793)",
      "valid": true
    },
    {
      "value": "2001:630:440::/44",
      "description": "University of Oxford (example of Wikidata property P3793)",
      "valid": true
    },
    {
      "value": "2001:db8::/32",
      "description": "Documentation prefix (RFC 3849)",
      "valid": true
    },
    {
      "value": "08:00-22:00",
      "description": "A time range, not an IPv6 prefix",
      "valid": false
    },
    {
      "value": "2001:db8::",
      "description": "An IPv6 address without the prefix length",
      "valid": false
    },
    {
      "value": "2001:db8::/129",
      "description": "The prefix length is larger than 128",
      "valid": false
    }
  ],
  "mappings": {
    "wikidata": "P3793"
  },
  "links": [
    {
      "type": "wikipedia",
      "url": "https://en.wikipedia.org/wiki/IPv6_address"
    },
    {
      "type": "wikidata",
      "url": "https://www.wikidata.org/wiki/Property:P3793"
    },
    {
      "type": "doc",
      "url": "https://www.rfc-editor.org/rfc/rfc4291#section-2.3"
    }
  ],
  "translations": {
    "ru": {
      "name": "Префикс сети IPv6 (подсеть)",
      "doc": "Блок IPv6-адресов: адрес, косая черта и длина префикса до 128, например 2001:db8::/32."
    }
  },
  "quality": {
    "score": 90,
    "missing": [
      "detector coverage"
    ]
  },
  "source": {
    "path": "data/datatypes/any/internet/ipv6subnet.yaml",
    "url": "https://github.com/apicrafter/metacrafter-registry/blob/main/data/datatypes/any/internet/ipv6subnet.yaml",
    "edit_url": "https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/internet/ipv6subnet.yaml"
  },
  "urls": {
    "html": "http://registry.apicrafter.io/datatype/ipv6subnet",
    "json": "http://registry.apicrafter.io/api/v1/datatypes/ipv6subnet.json"
  }
}