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