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

l3_arp.h (2444B)


      1 /** \file bcm_int/dnx/l3/l3_arp.h
      2  * 
      3  * Internal DNX L3 ARP APIs 
      4  * 
      5  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      6  * 
      7  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
      8  */
      9 
     10 #ifndef _L3_ARP_API_INCLUDED__
     11 /*
     12  * { 
     13  */
     14 #define _L3_ARP_API_INCLUDED__
     15 
     16 #ifndef BCM_DNX_SUPPORT
     17 #error "This file is for use by DNX (JR2) family only!"
     18 #endif
     19 
     20 #include <bcm/l3.h>
     21 
     22 /*
     23  * MACROs
     24  * {
     25  */
     26 /*
     27  * }
     28  */
     29 
     30 /*
     31  * FUNCTIONS
     32  * {
     33  */
     34 
     35 /**
     36 * \brief
     37 *   Creation function for bcm_l3_egress_create with BCM_L3_EGRESS_ONLY flag.
     38 *
     39 *    \param [in] unit - Relevant unit.
     40 *    \param [in] flags - Similar to bcm_l3_egress_create api input
     41 *    \param [in] egr - Similar to bcm_l3_egress_create api input
     42 * \return
     43 *    shr_error_e - 
     44 *      Error return value
     45 */
     46 shr_error_e dnx_l3_egress_create_arp(
     47     int unit,
     48     uint32 flags,
     49     bcm_l3_egress_t * egr);
     50 
     51 /**
     52 * \brief
     53 * Retrieve a L3 egress object egress side information 
     54 *
     55 *   \param [in] unit       -  Relevant unit.
     56 *   \param [in] intf  -    egress object ID .
     57 *   \param [in] egr  -    structure holding the egress object .
     58 *        [out]   egr.mac_addr - Next hop forwarding destination mac Next hop vlan id
     59 *        [out]   egr.vlan - Next hop vlan id Encapsulation index
     60 *        [out]   egr.encap_id - Encapsulation index
     61 *        [out]   egr.port - Outgoing port id (if !BCM_L3_TGID)
     62 *        [out]   egr.trunk - Outgoing Trunk id (if BCM_L3_TGID) General QOS map id
     63 *        [out]   egr.qos_map_id - General QOS map id 
     64 *        [out]   egr.failover_id - Failover Object Index Failover Egress Object index
     65 *        [out]   egr.failover_if_id - Failover Egress Object index
     66 * 
     67 * \return
     68 *   \retval  Zero if no error was detected
     69 *   \retval  Negative if error was detected. See \ref shr_error_e
     70 * \remark
     71 *   * None
     72 * \see
     73 *   * None
     74 */
     75 shr_error_e dnx_l3_egress_arp_info_get(
     76     int unit,
     77     bcm_if_t intf,
     78     bcm_l3_egress_t * egr);
     79 
     80 /**
     81 * \brief
     82 * Delete L3 egress object egress side information 
     83 *
     84 *   \param [in] unit       -  Relevant unit.
     85 *   \param [in] intf  -    egress object ID .
     86 * 
     87 * \return
     88 *   \retval  Zero if no error was detected
     89 *   \retval  Negative if error was detected. See \ref shr_error_e
     90 * \remark
     91 *   * None
     92 * \see
     93 *   * None
     94 */
     95 shr_error_e dnx_l3_egress_arp_info_delete(
     96     int unit,
     97     bcm_if_t intf);
     98 
     99 /*
    100  * }
    101  */
    102 
    103 /*
    104  * } 
    105  */
    106 #endif/*_L3_ARP_API_INCLUDED__*/