diff options
author | Ole Troan <ot@cisco.com> | 2017-10-12 13:06:35 +0200 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2018-01-23 13:03:53 +0000 |
commit | 9d42087149a6870965896be74dc6260f72d2cac9 (patch) | |
tree | f86ed97a4b28845934aeb5fbc9dd4e33b9bdfdac /src/plugins | |
parent | 2aa22909c70ff5c5eed6a7f7a0f8a587c9260da8 (diff) |
VPPAPIGEN: vppapigen replacement in Python PLY.
This is a version of the VPP API generator in Python PLY. It supports
the existing language, and has a plugin architecture for generators.
Currently C and JSON are supported.
Changes:
- vl_api_version to option version = "major.minor.patch"
- enum support
- Added error checking and reporting
- import support (removed the C pre-processor)
- services (tying request/reply together)
Version:
option version = "1.0.0";
Enum:
enum colours {
RED,
BLUE = 50,
};
define foo {
vl_api_colours_t colours;
};
Services:
service {
rpc foo returns foo_reply;
rpc foo_dump returns stream foo_details;
rpc want_stats returns want_stats_reply
events ip4_counters, ip6_counters;
};
Future planned features:
- unions
- bool, text
- array support (including length)
- proto3 output plugin
- Refactor C/C++ generator as a plugin
- Refactor Java generator as a plugin
Change-Id: Ifa289966c790e1b1a8e2938a91e69331e3a58bdf
Signed-off-by: Ole Troan <ot@cisco.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/acl/acl.api | 2 | ||||
-rw-r--r-- | src/plugins/dpdk/api/dpdk.api | 2 | ||||
-rw-r--r-- | src/plugins/flowprobe/flowprobe.api | 2 | ||||
-rw-r--r-- | src/plugins/gtpu/gtpu.api | 2 | ||||
-rw-r--r-- | src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api | 2 | ||||
-rw-r--r-- | src/plugins/ioam/export/ioam_export.api | 2 | ||||
-rw-r--r-- | src/plugins/ioam/ip6/ioam_cache.api | 2 | ||||
-rw-r--r-- | src/plugins/ioam/lib-pot/pot.api | 2 | ||||
-rw-r--r-- | src/plugins/ioam/lib-trace/trace.api | 2 | ||||
-rw-r--r-- | src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api | 2 | ||||
-rw-r--r-- | src/plugins/ioam/udp-ping/udp_ping.api | 2 | ||||
-rw-r--r-- | src/plugins/kubeproxy/kp.api | 4 | ||||
-rw-r--r-- | src/plugins/l2e/l2e.api | 2 | ||||
-rw-r--r-- | src/plugins/lb/lb.api | 2 | ||||
-rw-r--r-- | src/plugins/memif/memif.api | 2 | ||||
-rw-r--r-- | src/plugins/nat/nat.api | 2 | ||||
-rw-r--r-- | src/plugins/pppoe/pppoe.api | 2 | ||||
-rw-r--r-- | src/plugins/stn/stn.api | 1 |
18 files changed, 19 insertions, 18 deletions
diff --git a/src/plugins/acl/acl.api b/src/plugins/acl/acl.api index 19f007aeea7..e3166d691a8 100644 --- a/src/plugins/acl/acl.api +++ b/src/plugins/acl/acl.api @@ -19,7 +19,7 @@ used to control the ACL plugin */ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief Get the plugin version @param client_index - opaque cookie to identify the sender diff --git a/src/plugins/dpdk/api/dpdk.api b/src/plugins/dpdk/api/dpdk.api index 5ded450136a..2c20ef4ea8a 100644 --- a/src/plugins/dpdk/api/dpdk.api +++ b/src/plugins/dpdk/api/dpdk.api @@ -13,7 +13,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief DPDK interface HQoS pipe profile set request @param client_index - opaque cookie to identify the sender diff --git a/src/plugins/flowprobe/flowprobe.api b/src/plugins/flowprobe/flowprobe.api index 5bfe4510178..5bbe011f363 100644 --- a/src/plugins/flowprobe/flowprobe.api +++ b/src/plugins/flowprobe/flowprobe.api @@ -5,7 +5,7 @@ used to control the flowprobe plugin */ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief Enable / disable per-packet IPFIX recording on an interface @param client_index - opaque cookie to identify the sender diff --git a/src/plugins/gtpu/gtpu.api b/src/plugins/gtpu/gtpu.api index fea47916b8c..f8333ff2ebc 100644 --- a/src/plugins/gtpu/gtpu.api +++ b/src/plugins/gtpu/gtpu.api @@ -13,7 +13,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief Set or delete an GTPU tunnel @param client_index - opaque cookie to identify the sender diff --git a/src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api b/src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api index 3637ae8e4b2..f6a63dfad65 100644 --- a/src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api +++ b/src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api @@ -14,7 +14,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /* Define a simple binary API to control the feature */ diff --git a/src/plugins/ioam/export/ioam_export.api b/src/plugins/ioam/export/ioam_export.api index 47a8cc057c4..c127bd2e865 100644 --- a/src/plugins/ioam/export/ioam_export.api +++ b/src/plugins/ioam/export/ioam_export.api @@ -14,7 +14,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /* Define a simple binary API to control the feature */ diff --git a/src/plugins/ioam/ip6/ioam_cache.api b/src/plugins/ioam/ip6/ioam_cache.api index c953b674fe6..71a048baba8 100644 --- a/src/plugins/ioam/ip6/ioam_cache.api +++ b/src/plugins/ioam/ip6/ioam_cache.api @@ -14,7 +14,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /* API to control ioam caching */ diff --git a/src/plugins/ioam/lib-pot/pot.api b/src/plugins/ioam/lib-pot/pot.api index d1bfe447e34..f133748c460 100644 --- a/src/plugins/ioam/lib-pot/pot.api +++ b/src/plugins/ioam/lib-pot/pot.api @@ -14,7 +14,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief Proof of Transit(POT): Set POT profile @param id - id of the profile diff --git a/src/plugins/ioam/lib-trace/trace.api b/src/plugins/ioam/lib-trace/trace.api index 59d664adbd7..52dc648ea3c 100644 --- a/src/plugins/ioam/lib-trace/trace.api +++ b/src/plugins/ioam/lib-trace/trace.api @@ -14,7 +14,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief iOAM6 Trace - Set the iOAM6 trace profile @param trace_type - Type of trace requested diff --git a/src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api b/src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api index dfaecff60c9..0cbdf6dc41a 100644 --- a/src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api +++ b/src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api @@ -14,7 +14,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief iOAM Over VxLAN-GPE - Set iOAM transport for VxLAN-GPE @param client_index - opaque cookie to identify the sender diff --git a/src/plugins/ioam/udp-ping/udp_ping.api b/src/plugins/ioam/udp-ping/udp_ping.api index b5b5f23810b..72e578c5674 100644 --- a/src/plugins/ioam/udp-ping/udp_ping.api +++ b/src/plugins/ioam/udp-ping/udp_ping.api @@ -14,7 +14,7 @@ * limitations under the License. */ -vl_api_version 2.0.0 +option version = "2.0.0"; /** \brief UDP-Probe Add/Delete request @param src_ip_address - Source ipv4/v6 address for the udp-ping flow diff --git a/src/plugins/kubeproxy/kp.api b/src/plugins/kubeproxy/kp.api index e8063c194b3..1eedd9ef795 100644 --- a/src/plugins/kubeproxy/kp.api +++ b/src/plugins/kubeproxy/kp.api @@ -12,8 +12,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -vl_api_version 1.0.0 + +option version = "1.0.0"; /** \brief Configure Kube-proxy global parameters @param client_index - opaque cookie to identify the sender diff --git a/src/plugins/l2e/l2e.api b/src/plugins/l2e/l2e.api index e4e3438375d..dd2eb164380 100644 --- a/src/plugins/l2e/l2e.api +++ b/src/plugins/l2e/l2e.api @@ -14,7 +14,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief L2 emulation at L3 @param client_index - opaque cookie to identify the sender diff --git a/src/plugins/lb/lb.api b/src/plugins/lb/lb.api index 7f48666a4b1..f5036edf79d 100644 --- a/src/plugins/lb/lb.api +++ b/src/plugins/lb/lb.api @@ -1,4 +1,4 @@ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief Configure Load-Balancer global parameters @param client_index - opaque cookie to identify the sender diff --git a/src/plugins/memif/memif.api b/src/plugins/memif/memif.api index 08d056f04dd..cd09b92dc9c 100644 --- a/src/plugins/memif/memif.api +++ b/src/plugins/memif/memif.api @@ -13,7 +13,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief Create memory interface @param client_index - opaque cookie to identify the sender diff --git a/src/plugins/nat/nat.api b/src/plugins/nat/nat.api index 1de70edaaad..02c1627b9ce 100644 --- a/src/plugins/nat/nat.api +++ b/src/plugins/nat/nat.api @@ -13,7 +13,7 @@ * limitations under the License. */ -vl_api_version 2.3.0 +option version = "2.3.0"; /** * @file nat.api diff --git a/src/plugins/pppoe/pppoe.api b/src/plugins/pppoe/pppoe.api index 78982f3e2e4..b687d51500a 100644 --- a/src/plugins/pppoe/pppoe.api +++ b/src/plugins/pppoe/pppoe.api @@ -13,7 +13,7 @@ * limitations under the License. */ -vl_api_version 1.0.0 +option version = "1.0.0"; /** \brief Set or delete an PPPOE session @param client_index - opaque cookie to identify the sender diff --git a/src/plugins/stn/stn.api b/src/plugins/stn/stn.api index 07d214d852a..97731b3c25e 100644 --- a/src/plugins/stn/stn.api +++ b/src/plugins/stn/stn.api @@ -19,6 +19,7 @@ * */ +option version = "1.0.0"; /** \brief Add/del STN rules @param client_index - opaque cookie to identify the sender |