This is the second of three proposals for process changes.
This patch proposes a new metadata file FEATURE.yaml in each component:
https://gerrit.fd.io/r/#/c/19563/
The purpose is to make it easier to be able to answer the question: "What
features do VPP support"?
Example feature definition:
-----------------------------------
name: IP in IP tunnelling
maintainer: Ole Troan <o...@cisco.com>
features:
- IPv4/IPv6 over IPv4/IPv6 encapsulation:
- Fragmentation and Reassembly
- Configurable MTU
- Inner to outer Traffic Class / TOS copy
- Configurable Traffic Class / TOS
- ICMPv4 / ICMPv6 proxying
- 6RD (RFC5969):
- Border Relay
description: "Implements IP{v4,v6} over IP{v4,v6} tunnelling as
described in RFC2473. This module also implement the border relay
of
6RD (RFC5969)."
state: production
properties: [API, CLI, STATS, MULTITHREAD]
missing:
- Tunnel PMTUD
- Tracking of FIB state for tunnel state
- IPv6 extension headers (Tunnel encapsulation limit option)
------------------------
# VPP feature JSON schema
schema = {
"$schema": "http://json-schema.org/schema#",
"type": "object",
"properties": {
"name": {"type": "string"},
"description": { "type": "string" },
"maintainer": { "type": "string" },
"state": {"type": "string",
"enum": ["production", "experimental"]},
"features": { "$ref": "#/definitions/features" },
"missing": { "$ref": "#/definitions/features" },
"properties": { "type": "array",
"items": { "type": "string",
"enum": ["API", "CLI", "STATS",
"MULTITHREAD"] },
},
},
"additionalProperties": False,
"definitions": {
"featureobject": {
"type": "object",
"patternProperties": {
"^.*$": { "$ref": "#/definitions/features" },
},
},
"features": {
"type": "array",
"items": {"anyOf": [{ "$ref": "#/definitions/featureobject" },
{ "type": "string" },
]},
"minItems": 1,
},
},
}
It also adds two new makefile targets.
make featurelist
make checkfeaturelist
The first generates a markdown report, the second verifies the FEATURE.yaml
files against the JSON schema.
Comments are welcome!
(I will also ask for time at next weeks community call)
Best regards,
Ole
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13106): https://lists.fd.io/g/vpp-dev/message/13106
Mute This Topic: https://lists.fd.io/mt/31699470/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-