openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

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__*/