| /* Hey Emacs use -*- mode: C -*- */ |
| /* |
| * Copyright (c) 2019 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 ABF plugin |
| */ |
| |
| option version = "1.0.0"; |
| |
| import "vnet/ip/ip_types.api"; |
| import "vnet/ethernet/ethernet_types.api"; |
| import "vnet/interface_types.api"; |
| |
| /** \brief Proxy ARP configuration type |
| @param table_id - VRF / Fib table ID |
| @param low - Low address of the Proxy ARP range |
| @param hi - High address of the Proxy ARP range |
| */ |
| typedef proxy_arp |
| { |
| u32 table_id; |
| vl_api_ip4_address_t low; |
| vl_api_ip4_address_t hi; |
| }; |
| |
| /** \brief Proxy ARP add / del request |
| @param client_index - opaque cookie to identify the sender |
| @param context - sender context, to match reply w/ request |
| @param is_add - 1 if adding the Proxy ARP range, 0 if deleting |
| @param proxy - Proxy configuration |
| */ |
| autoreply define proxy_arp_add_del |
| { |
| u32 client_index; |
| u32 context; |
| bool is_add; |
| vl_api_proxy_arp_t proxy; |
| }; |
| |
| /** \brief Proxy ARP dump request |
| */ |
| define proxy_arp_dump |
| { |
| u32 client_index; |
| u32 context; |
| }; |
| |
| /** \brief Proxy ARP dump details reply |
| * @param proxy - Same data as used to configure |
| */ |
| define proxy_arp_details |
| { |
| u32 context; |
| vl_api_proxy_arp_t proxy; |
| }; |
| |
| /** \brief Proxy ARP add / del interface request |
| @param client_index - opaque cookie to identify the sender |
| @param context - sender context, to match reply w/ request |
| @param sw_if_index - Which interface to enable / disable Proxy Arp on |
| @param enable - 1 to enable Proxy ARP on interface, 0 to disable |
| */ |
| autoreply define proxy_arp_intfc_enable_disable |
| { |
| u32 client_index; |
| u32 context; |
| vl_api_interface_index_t sw_if_index; |
| bool enable; |
| }; |
| |
| /** \brief Proxy ARP interface dump request |
| */ |
| define proxy_arp_intfc_dump |
| { |
| u32 client_index; |
| u32 context; |
| }; |
| |
| /** \brief Proxy ARP interface dump details reply |
| * @param sw_if_index The interface on which ARP proxy is enabled. |
| */ |
| define proxy_arp_intfc_details |
| { |
| u32 context; |
| u32 sw_if_index; |
| }; |