diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/nat/FEATURE.yaml | 27 | ||||
-rwxr-xr-x | src/scripts/fts.py | 18 |
2 files changed, 42 insertions, 3 deletions
diff --git a/src/plugins/nat/FEATURE.yaml b/src/plugins/nat/FEATURE.yaml new file mode 100644 index 00000000000..65cd9590c69 --- /dev/null +++ b/src/plugins/nat/FEATURE.yaml @@ -0,0 +1,27 @@ +--- +name: Network Address Translation (NAT) +maintainer: + - Ole Troan <ot@cisco.com> + - Filip Varga <fivarga@cisco.com> +features: + - NAT44: + - 1:1 NAT + - 1:1 NAT with ports + - VRF awareness + - Multiple inside interfaces + - Hairpinning + - IPFIX + - Syslog + - Endpoint dependent NAT + - TCP MSS clamping + - Local bypass (DHCP) + - CGN - deterministic NAT + - NAT64 + - NAT66 + - DS-lite + - 464XLAT +description: "The NAT plugin offers a multiple address translation functions. + These can be used in a raft of different scenarios. CPE, CGN, + etc." +state: production +properties: [API, CLI, STATS, MULTITHREAD] diff --git a/src/scripts/fts.py b/src/scripts/fts.py index eb44be9a59a..f3165ced0cd 100755 --- a/src/scripts/fts.py +++ b/src/scripts/fts.py @@ -17,9 +17,9 @@ schema = { "properties": { "name": {"type": "string"}, "description": {"type": "string"}, - "maintainer": {"type": "string"}, + "maintainer": {"$ref": "#/definitions/maintainers"}, "state": {"type": "string", - "enum": ["production", "experimental"]}, + "enum": ["production", "experimental", "development"]}, "features": {"$ref": "#/definitions/features"}, "missing": {"$ref": "#/definitions/features"}, "properties": {"type": "array", @@ -30,6 +30,14 @@ schema = { }, "additionalProperties": False, "definitions": { + "maintainers": { + "anyof": [{ + "type": "array", + "items": {"type": "string"}, + "minItems": 1, + }, + {"type": "string"}], + }, "featureobject": { "type": "object", "patternProperties": { @@ -86,7 +94,11 @@ def output_features(indent, fl): def output_markdown(features): for k, v in features.items(): print('# {}'.format(v['name'])) - print('Maintainer: {} '.format(v['maintainer'])) + if type(v['maintainer']) is list: + print('Maintainers: ' + + ', '.join('{}'.format(m) for m in v['maintainer'])) + else: + print('Maintainer: {} '.format(v['maintainer'])) print('State: {}\n'.format(v['state'])) print('{}\n'.format(v['description'])) output_features(0, v['features']) |