/* * Copyright (c) 2020 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. */ option version = "1.0.0"; import "vnet/ip/ip_types.api"; import "vnet/interface_types.api"; import "plugins/nat/nat_types.api"; /** * @file det44.api * @brief VPP control-plane API messages. * * This file defines VPP control-plane API messages which are generally * called through a shared memory interface. */ /** \brief Enable/disable DET44 plugin @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param inside_vrf - inside VRF id @param outside_vrf - outside VRF id @param enable - true if enable, false if disable */ autoreply define det44_plugin_enable_disable { u32 client_index; u32 context; u32 inside_vrf; u32 outside_vrf; bool enable; vl_api_interface_index_t sw_if_index; option status="in_progress"; }; /** \brief Enable/disable DET44 feature on the interface @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_add - true if add, false if delete @param is_inside - true if interface is inside, false if outside @param sw_if_index - software index of the interface */ autoreply define det44_interface_add_del_feature { u32 client_index; u32 context; bool is_add; bool is_inside; vl_api_interface_index_t sw_if_index; option status="in_progress"; }; /** \brief Dump interfaces with DET44 feature @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request */ define det44_interface_dump { u32 client_index; u32 context; option status="in_progress"; }; /** \brief DET44 interface details response @param context - sender context, to match reply w/ request @param is_inside - true if interface is inside, false if outside @param sw_if_index - software index of the interface */ define det44_interface_details { u32 context; bool is_inside; bool is_outside; vl_api_interface_index_t sw_if_index; option status="in_progress"; }; /** \brief Add/delete DET44 mapping @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param is_add - true if add, false if delete @param in_addr - inside IPv4 address @param in_plen - inside IPv4 address prefix length @param out_addr - outside IPv4 address @param out_plen - outside IPv4 address prefix length */ autoreply define det44_add_del_map { u32 client_index; u32 context; bool is_add; vl_api_ip4_address_t in_addr; u8 in_plen; vl_api_ip4_address_t out_addr; u8 out_plen; }; /** \brief Get outside address and port range from inside address @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param in_addr - inside IP address */ define det44_forward { u32 client_index; u32 context; vl_api_ip4_address_t in_addr; }; /** \brief Get outside address and port range from inside address @param context - sender context, to match reply w/ request @param retval - return code @param out_port_lo - outside port range start @param out_port_hi - outside port range end @param out_addr - outside IPv4 address */ define det44_forward_reply { u32 context; i32 retval; u16 out_port_lo; u16 out_port_hi; vl_api_ip4_address_t out_addr; }; /** \brief Get inside address from outside address and port @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @param out_port - outside port @param out_addr - outside IPv4 address */ define det44_reverse { u32 client_index; u32 context; u16 out_port;
# Configuration for trex01-1g TRex machine
#
# machine_name - can be DNS name or IP for the TRex machine for ssh to the box
# password - root password for TRex machine
# machine_typ - 1G or 10G TRex machine
# config_file - [Optional] configuration file for TRex if needed
# is_dual - should the TRex inject with -p ?
# version_pat - path to the TRex version and executable
# exec - executable name (which will be under the version_path)
# cores - how many cores should be used
# limit-ports - how many ports should be used
# latency - rate of latency packets injected by the TRex
# misc_params - [Optional] misc parameters to be passed to the trex
[trex]
machine_name=trex01-1g
password=password
machine_type=1G
config_file=
is_dual=yes
version_path=/auto/proj-pcube-b/apps/PL-b/tools/bp_sim2/v1.35
exec=t-rex-64
cores=2
limit_ports=2
latency=1000
misc_params="--nc"
# Configuration for the router connected to the TRex
#
# interface - interface that can be used to communicate with the router
[router]
type=ASR
interface=10.56.30.49
password=cisco