tools: FEATURE.yaml meta-data infrastructure 63/19563/3
authorOle Troan <ot@cisco.com>
Tue, 14 May 2019 11:24:10 +0000 (13:24 +0200)
committerDave Barach <openvpp@barachs.net>
Fri, 31 May 2019 11:44:27 +0000 (11:44 +0000)
commit6a3064fdf6883fa09b4325e6f011f0e8acad295e
tree0a39438c3b52606598973cb8b772b2c9fbdb64e1
parent41deceaf25bc2360a9ee6571b5485b8a4a1cbd5b
tools: FEATURE.yaml meta-data infrastructure

Add tooling for feature metadata configuration files.
The main tool is in src/scripts/fts.py

make checkfeaturelist to validate against schema.
make featurelist to dump all feature lists to stdout.

Example feature definition:

name: IP in IP tunnelling
maintainer: Ole Troan <ot@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)

JSON schema is embedded in fts.py

Example markdown: https://github.com/otroan/scratch/blob/master/features.md

Change-Id: I903b4ee6b316a9378c259e86dc937092e5d4b7da
Type: make
Signed-off-by: Ole Troan <ot@cisco.com>
Makefile
build-root/scripts/fts.py [new symlink]
src/plugins/flowprobe/FEATURE.yaml [new file with mode: 0644]
src/plugins/map/FEATURE.yaml [new file with mode: 0644]
src/scripts/fts.py [new file with mode: 0755]
src/vnet/ipip/FEATURE.yaml [new file with mode: 0644]