From 1f36023d29137825b8a09578d09b955046c2415b Mon Sep 17 00:00:00 2001 From: Filip Varga Date: Mon, 14 Sep 2020 11:20:16 +0200 Subject: nat: move nat64 to a subfeature Type: refactor Change-Id: I3b9e17164647d2019b1f40cffeed63393345219e Signed-off-by: Filip Varga --- src/plugins/nat/nat.api | 233 +----------------------------------------------- 1 file changed, 3 insertions(+), 230 deletions(-) (limited to 'src/plugins/nat/nat.api') diff --git a/src/plugins/nat/nat.api b/src/plugins/nat/nat.api index 00e9e71ecc6..09c4d4a10b7 100644 --- a/src/plugins/nat/nat.api +++ b/src/plugins/nat/nat.api @@ -88,6 +88,7 @@ define nat_show_config */ define nat_show_config_reply { + option deprecated; u32 context; i32 retval; bool static_mapping_only; @@ -115,6 +116,7 @@ define nat_show_config_reply */ define nat_show_config_2 { + option deprecated; u32 client_index; u32 context; }; @@ -144,6 +146,7 @@ define nat_show_config_2 */ define nat_show_config_2_reply { + option deprecated; u32 context; i32 retval; bool static_mapping_only; @@ -1088,233 +1091,3 @@ define nat44_forwarding_is_enabled_reply { u32 context; bool enabled; }; - -/* - * NAT64 APIs - */ - -/** \brief Add/delete address range to NAT64 pool - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param start_addr - start IPv4 address of the range - @param end_addr - end IPv4 address of the range - @param vrf_id - VRF id of tenant, ~0 means independent of VRF - @param is_add - true if add, false if delete -*/ -autoreply define nat64_add_del_pool_addr_range { - u32 client_index; - u32 context; - vl_api_ip4_address_t start_addr; - vl_api_ip4_address_t end_addr; - u32 vrf_id; - bool is_add; -}; - -/** \brief Dump NAT64 pool addresses - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -define nat64_pool_addr_dump { - u32 client_index; - u32 context; -}; - -/** \brief NAT64 pool address details response - @param context - sender context, to match reply w/ request - @param address - IPv4 address - @param vfr_id - VRF id of tenant, ~0 means independent of VRF -*/ -define nat64_pool_addr_details { - u32 context; - vl_api_ip4_address_t address; - u32 vrf_id; -}; - -/** \brief Enable/disable NAT64 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 flags - flag NAT_IS_INSIDE if interface is inside else - interface is outside - @param sw_if_index - index of the interface -*/ -autoreply define nat64_add_del_interface { - u32 client_index; - u32 context; - bool is_add; - vl_api_nat_config_flags_t flags; - vl_api_interface_index_t sw_if_index; -}; - -/** \brief Dump interfaces with NAT64 feature - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -define nat64_interface_dump { - u32 client_index; - u32 context; -}; - -/** \brief NAT64 interface details response - @param context - sender context, to match reply w/ request - @param flags - flag NAT_IS_INSIDE if interface is inside, - flag NAT_IS_OUTSIDE if interface is outside - and if both flags are set the interface is - both inside and outside - @param sw_if_index - index of the interface -*/ -define nat64_interface_details { - u32 context; - vl_api_nat_config_flags_t flags; - vl_api_interface_index_t sw_if_index; -}; - -/** \brief Add/delete NAT64 static BIB entry - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param i_addr - inside IPv6 address - @param o_addr - outside IPv4 address - @param i_port - inside port number - @param o_port - outside port number - @param vrf_id - VRF id of tenant - @param proto - protocol number - @param is_add - true if add, false if delete -*/ - autoreply define nat64_add_del_static_bib { - u32 client_index; - u32 context; - vl_api_ip6_address_t i_addr; - vl_api_ip4_address_t o_addr; - u16 i_port; - u16 o_port; - u32 vrf_id; - u8 proto; - bool is_add; -}; - -/** \brief Dump NAT64 BIB - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param proto - protocol of the BIB: 255 - all BIBs - 6 - TCP BIB - 17 - UDP BIB - 1/58 - ICMP BIB - otherwise - "unknown" protocol BIB -*/ -define nat64_bib_dump { - u32 client_index; - u32 context; - u8 proto; -}; - -/** \brief NAT64 BIB details response - @param context - sender context, to match reply w/ request - @param i_addr - inside IPv6 address - @param o_addr - outside IPv4 address - @param i_port - inside port number - @param o_port - outside port number - @param vrf_id - VRF id of tenant - @param proto - protocol number - @param flags - flag NAT_IS_STATIC if BIB entry is static - or BIB entry is dynamic - @param ses_num - number of sessions associated with the BIB entry -*/ -define nat64_bib_details { - u32 context; - vl_api_ip6_address_t i_addr; - vl_api_ip4_address_t o_addr; - u16 i_port; - u16 o_port; - u32 vrf_id; - u8 proto; - vl_api_nat_config_flags_t flags; - u32 ses_num; -}; - -/** \brief Dump NAT64 session table - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param proto - protocol of the session table: 255 - all STs - 6 - TCP ST - 17 - UDP ST - 1/58 - ICMP ST - otherwise - "unknown" proto ST -*/ -define nat64_st_dump { - u32 client_index; - u32 context; - u8 proto; -}; - -/** \brief NAT64 session table details response - @param context - sender context, to match reply w/ request - @param il_addr - inside IPv6 address of the local host - @param ol_addr - outside IPv4 address of the local host - @param il_port - inside port number id of the local host/inside ICMP id - @param ol_port - outside port number of the local host/outside ICMP id - @param ir_addr - inside IPv6 address of the remote host - @param or_addr - outside IPv4 address of the remote host - @param r_port - port number of the remote host (not used for ICMP) - @param vrf_id - VRF id of tenant - @param proto - protocol number -*/ -define nat64_st_details { - u32 context; - vl_api_ip6_address_t il_addr; - vl_api_ip4_address_t ol_addr; - u16 il_port; - u16 ol_port; - vl_api_ip6_address_t ir_addr; - vl_api_ip4_address_t or_addr; - u16 r_port; - u32 vrf_id; - u8 proto; -}; - -/** \brief Add/del NAT64 prefix - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param prefix - NAT64 prefix - @param vrf_id - VRF id of tenant - @param is_add - true if add, false if delete -*/ -autoreply define nat64_add_del_prefix { - u32 client_index; - u32 context; - vl_api_ip6_prefix_t prefix; - u32 vrf_id; - bool is_add; -}; - -/** \brief Dump NAT64 prefix - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request -*/ -define nat64_prefix_dump { - u32 client_index; - u32 context; -}; - -/** \brief Dump NAT64 prefix details response - @param context - sender context, to match reply w/ request - @param prefix - NAT64 prefix - @param vrf_id - VRF id of tenant -*/ -define nat64_prefix_details { - u32 context; - vl_api_ip6_prefix_t prefix; - u32 vrf_id; -}; - -/** \brief Add/delete NAT64 pool address from specific interfce - @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 sw_if_index - software index of the interface -*/ -autoreply define nat64_add_del_interface_addr { - u32 client_index; - u32 context; - bool is_add; - vl_api_interface_index_t sw_if_index; -}; -- cgit 1.2.3-korg