/* Hey Emacs use -*- mode: C -*- */ /* * Copyright (c) 2016 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** \file This file defines the vpp control-plane API messages used to control the L3XC plugin */ option version = "1.0.1"; import "vnet/fib/fib_types.api"; import "vnet/interface_types.api"; /** \brief Get the plugin version @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request */ define l3xc_plugin_get_version { u32 client_index; u32 context; }; /** \brief Reply to get the plugin version @param context - returned sender context, to match reply w/ request @param major - Incremented every time a known breaking behavior change is introduced @param minor - Incremented with small changes, may be used to avoid buggy versions */ define l3xc_plugin_get_version_reply { u32 context; u32 major; u32 minor; }; /** \brief A description of an L3XC policy @param input interface of the x-connect @param n_paths Number of paths @param paths The set of forwarding paths. */ typedef l3xc { vl_api_interface_index_t sw_if_index; bool is_ip6; u8 n_paths; vl_api_fib_path_t paths[n_paths]; }; define l3xc_update { u32 client_index; u32 context; vl_api_l3xc_t l3xc; }; define l3xc_update_reply { u32 context; i32 retval; u32 stats_index; }; autoreply define l3xc_del { u32 client_index; u32 context; vl_api_interface_index_t sw_if_index; bool is_ip6; }; /** \brief Dump all L3XC policies */ define l3xc_dump { u32 client_index; u32 context; vl_api_interface_index_t sw_if_index; }; /** \brief description returned in the dump */ define l3xc_details { u32 context; vl_api_l3xc_t l3xc; };