algo_tunnel.h (1680B)
1 /** 2 * \file algo_tunnel.h Internal tunnel APIs 3 PIs This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 PIs 5 PIs Copyright 2007-2020 Broadcom Inc. All rights reserved. 6 */ 7 8 #ifndef ALGO_TUNNEL_H_INCLUDED 9 /* 10 * { 11 */ 12 #define ALGO_TUNNEL_H_INCLUDED 13 14 #include <shared/shrextend/shrextend_debug.h> 15 #include <bcm_int/dnx/algo/template_mngr/template_manager_types.h> 16 17 #ifndef BCM_DNX_SUPPORT 18 #error "This file is for use by DNX (JR2) family only!" 19 #endif 20 21 /** 22 * Resource name defines for algo tunnel 23 * { 24 */ 25 26 #define DNX_ALGO_TUNNEL_IPV6_SIP_PROFILE "TUNNEL IPV6 SIP PROFILE" 27 28 #define DNX_ALGO_TUNNEL_UDP_PORTS_PROFILE "TUNNEL UDP PORTS PROFILE" 29 30 #define DNX_ALGO_TUNNEL_IPV6_SIP_PROFILE_TEMPLATE_SIZE 80 31 /** 32 * } 33 */ 34 /** 35 * \brief 36 * allocate resource pool for all TUNNEL profiles types 37 * \param [in] unit - 38 * The unit number. 39 * \return 40 * \retval Negative in case of an error. 41 * \retval Zero in case of NO ERROR 42 */ 43 shr_error_e dnx_algo_tunnel_init( 44 int unit); 45 46 /** 47 * \brief 48 * Print an entry of ipv6 sip tunnel profile template. 49 * \param [in] unit - the unit number 50 * \param [in] data - Pointer of the struct to be printed. 51 * \return 52 * None 53 */ 54 void dnx_algo_tunnel_ipv6_sip_profile_template_print_cb( 55 int unit, 56 const void *data); 57 58 /** 59 * \brief 60 * Print an entry of UDP ports tunnel profile template. 61 * \param [in] unit - the unit number 62 * \param [in] data - Pointer of the struct to be printed. 63 * \return 64 * None 65 */ 66 void dnx_algo_tunnel_udp_ports_profile_template_print_cb( 67 int unit, 68 const void *data); 69 70 /* 71 * } 72 */ 73 #endif/*_ALGO_QOS_API_INCLUDED__*/