FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
nat66.api
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2020 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 option version = "1.0.0";
17 import "vnet/ip/ip_types.api";
18 import "vnet/interface_types.api";
19 import "plugins/nat/lib/nat_types.api";
20 
21 
22 /** \brief Enable/disable NAT66 plugin
23  @param client_index - opaque cookie to identify the sender
24  @param context - sender context, to match reply w/ request
25  @param outside_vrf - outside vrf id
26  @param enable - true if enable, false if disable
27 */
28 autoreply define nat66_plugin_enable_disable {
32  bool enable;
33 };
34 
35 /** \brief Enable/disable NAT66 feature on the interface
36  @param client_index - opaque cookie to identify the sender
37  @param context - sender context, to match reply w/ request
38  @param is_add - true if add, false if delete
39  @param flags - flag NAT_IS_INSIDE if interface is inside or
40  interface is outside,
41  @param sw_if_index - software index of the interface
42 */
43 autoreply define nat66_add_del_interface {
46  bool is_add;
47  vl_api_nat_config_flags_t flags;
48  vl_api_interface_index_t sw_if_index;
49 };
50 
51 /** \brief Dump interfaces with NAT66 feature
52  @param client_index - opaque cookie to identify the sender
53  @param context - sender context, to match reply w/ request
54 */
55 define nat66_interface_dump {
58 };
59 
60 /** \brief NAT66 interface details response
61  @param context - sender context, to match reply w/ request
62  @param flags - flag NAT_IS_INSIDE if interface is inside or
63  interface is outside,
64  @param sw_if_index - software index of the interface
65 */
66 define nat66_interface_details {
68  vl_api_nat_config_flags_t flags;
69  vl_api_interface_index_t sw_if_index;
70 };
71 
72 /** \brief Add/delete 1:1 NAT66
73  @param client_index - opaque cookie to identify the sender
74  @param context - sender context, to match reply w/ request
75  @param is_add - true if add, false if delete
76  @param local_ip_address - local IPv6 address
77  @param external_ip_address - external IPv6 address
78  @param vrf_id - VRF id of tenant
79 */
80 autoreply define nat66_add_del_static_mapping {
83  bool is_add;
84  vl_api_ip6_address_t local_ip_address;
85  vl_api_ip6_address_t external_ip_address;
87 };
88 
89 /** \brief Dump NAT66 static mappings
90  @param client_index - opaque cookie to identify the sender
91  @param context - sender context, to match reply w/ request
92 */
93 define nat66_static_mapping_dump {
96 };
97 
98 /** \brief NAT66 static mapping details response
99  @param context - sender context, to match reply w/ request
100  @param local_ip_address - local IPv6 address
101  @param external_ip_address - external IPv6 address
102  @param vrf_id - VRF id of tenant
103  @param total_bytes - count of bytes sent through static mapping
104  @param total_pkts - count of pakets sent through static mapping
105 */
106 define nat66_static_mapping_details {
108  vl_api_ip6_address_t local_ip_address;
109  vl_api_ip6_address_t external_ip_address;
113 };
vl_api_nat66_interface_details_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: nat66.api:69
vl_api_nat66_add_del_interface_t::context
u32 context
Definition: nat66.api:45
vl_api_nat66_static_mapping_dump_t::client_index
u32 client_index
Definition: nat66.api:94
vl_api_nat66_plugin_enable_disable_t::context
u32 context
Definition: nat66.api:30
vl_api_nat66_add_del_interface_t::flags
vl_api_nat_config_flags_t flags
Definition: nat66.api:47
vl_api_nat66_add_del_static_mapping_t::local_ip_address
vl_api_ip6_address_t local_ip_address
Definition: nat66.api:84
vl_api_nat66_add_del_static_mapping_t::client_index
u32 client_index
Definition: nat66.api:81
vl_api_nat66_add_del_static_mapping_t::context
u32 context
Definition: nat66.api:82
vl_api_nat66_plugin_enable_disable_t::outside_vrf
u32 outside_vrf
Definition: nat66.api:31
vl_api_nat66_static_mapping_details_t::context
u32 context
Definition: nat66.api:107
vl_api_nat66_interface_details_t::context
u32 context
Definition: nat66.api:67
vl_api_nat66_interface_details_t
NAT66 interface details response.
Definition: nat66.api:66
vl_api_nat66_plugin_enable_disable_t::client_index
u32 client_index
Definition: nat66.api:29
vl_api_nat66_interface_dump_t::client_index
u32 client_index
Definition: nat66.api:56
vl_api_nat66_plugin_enable_disable_t
Enable/disable NAT66 plugin.
Definition: nat66.api:28
vl_api_nat66_add_del_interface_t::client_index
u32 client_index
Definition: nat66.api:44
vl_api_nat66_static_mapping_details_t::vrf_id
u32 vrf_id
Definition: nat66.api:110
vl_api_nat66_add_del_static_mapping_t::vrf_id
u32 vrf_id
Definition: nat66.api:86
vl_api_nat66_static_mapping_dump_t
Dump NAT66 static mappings.
Definition: nat66.api:93
vl_api_nat66_add_del_interface_t::is_add
bool is_add
Definition: nat66.api:46
vl_api_nat66_static_mapping_details_t::external_ip_address
vl_api_ip6_address_t external_ip_address
Definition: nat66.api:109
vl_api_nat66_add_del_interface_t
Enable/disable NAT66 feature on the interface.
Definition: nat66.api:43
vl_api_nat66_interface_dump_t
Dump interfaces with NAT66 feature.
Definition: nat66.api:55
u64
unsigned long u64
Definition: types.h:89
version
option version
Definition: nat66.api:16
u32
unsigned int u32
Definition: types.h:88
vl_api_nat66_add_del_static_mapping_t::external_ip_address
vl_api_ip6_address_t external_ip_address
Definition: nat66.api:85
vl_api_nat66_add_del_interface_t::sw_if_index
vl_api_interface_index_t sw_if_index
Definition: nat66.api:48
vl_api_nat66_static_mapping_details_t::local_ip_address
vl_api_ip6_address_t local_ip_address
Definition: nat66.api:108
vl_api_nat66_static_mapping_dump_t::context
u32 context
Definition: nat66.api:95
vl_api_nat66_static_mapping_details_t::total_bytes
u64 total_bytes
Definition: nat66.api:111
vl_api_nat66_plugin_enable_disable_t::enable
bool enable
Definition: nat66.api:32
vl_api_nat66_static_mapping_details_t
NAT66 static mapping details response.
Definition: nat66.api:106
vl_api_nat66_add_del_static_mapping_t::is_add
bool is_add
Definition: nat66.api:83
vl_api_nat66_add_del_static_mapping_t
Add/delete 1:1 NAT66.
Definition: nat66.api:80
vl_api_nat66_static_mapping_details_t::total_pkts
u64 total_pkts
Definition: nat66.api:112
vl_api_nat66_interface_details_t::flags
vl_api_nat_config_flags_t flags
Definition: nat66.api:68
vl_api_nat66_interface_dump_t::context
u32 context
Definition: nat66.api:57