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

trunk.h (2210B)


      1 /*
      2  * 
      3  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      4  * 
      5  * Copyright 2007-2019 Broadcom Inc. All rights reserved.
      6  *
      7  * This file contains trunk definitions internal to the BCM library.
      8  */
      9 
     10 #ifndef _BCM_COMMON_TRUNK_H
     11 #define _BCM_COMMON_TRUNK_H
     12 
     13 #include <bcm/trunk.h>
     14 
     15 typedef struct bcm_trunk_add_info_s {
     16     uint32 flags;                       /* BCM_TRUNK_FLAG_xxx. */
     17     int num_ports;                      /* Number of ports in the trunk group. */
     18     int psc;                            /* Port selection criteria. */
     19     int ipmc_psc;                       /* Port selection criteria for software
     20                                            IPMC trunk resolution. */
     21     int dlf_index;                      /* DLF/broadcast port for trunk group. */
     22     int mc_index;                       /* Multicast port for trunk group. */
     23     int ipmc_index;                     /* IPMC port for trunk group. */
     24     uint32 member_flags[BCM_TRUNK_MAX_PORTCNT]; /* BCM_TRUNK_MEMBER_xxx */
     25     bcm_port_t tp[BCM_TRUNK_MAX_PORTCNT]; /* Ports in trunk. */
     26     bcm_module_t tm[BCM_TRUNK_MAX_PORTCNT]; /* Modules per port. */
     27     uint32 dynamic_size;                /* Number of flows for dynamic load
     28                                            balancing. Valid values are 512, 1k,
     29                                            doubling up to 32k */
     30     uint32 dynamic_age;                 /* Inactivity duration, in microseconds. */
     31     uint32 dynamic_load_exponent;       /* The exponent used in the
     32                                            exponentially weighted moving average
     33                                            calculation of historical member
     34                                            load. */
     35     uint32 dynamic_expected_load_exponent; /* The exponent used in the
     36                                            exponentially weighted moving average
     37                                            calculation of historical expected
     38                                            member load. */
     39 } bcm_trunk_add_info_t;
     40 
     41 extern void bcm_trunk_add_info_t_init(bcm_trunk_add_info_t *add_info);
     42 
     43 #endif	/* !_BCM_COMMON_TRUNK_H */