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

compat_6515.h (4255B)


      1 /*
      2  * $Id: compat_6515.h,v 2.0 2018/09/20
      3  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      4  * 
      5  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
      6  *
      7  * RPC Compatibility with sdk-6.5.15 routines
      8 */
      9 
     10 #ifndef _COMPAT_6515_H_
     11 #define _COMPAT_6515_H_
     12 
     13 #ifdef BCM_RPC_SUPPORT
     14 #include <bcm/types.h>
     15 #include <bcm/mpls.h>
     16 #include <bcm/l3.h>
     17 #include <bcm/ipmc.h>
     18 
     19 #ifdef INCLUDE_L3
     20 /* IPMC address type. */
     21 typedef struct bcm_compat6515_ipmc_addr_s {
     22     bcm_ip_t s_ip_addr;                 /* IPv4 Source address. */
     23     bcm_ip_t mc_ip_addr;                /* IPv4 Destination address. */
     24     bcm_ip6_t s_ip6_addr;               /* IPv6 Source address. */
     25     bcm_ip6_t mc_ip6_addr;              /* IPv6 Destination address. */
     26     bcm_vlan_t vid;                     /* VLAN identifier. */
     27     bcm_vrf_t vrf;                      /* Virtual Router Instance. */
     28     bcm_cos_t cos;                      /* COS based on dst IP multicast addr. */
     29     int ts;                             /* Source port or TGID bit. */
     30     int port_tgid;                      /* Source port or TGID. */
     31     int v;                              /* Valid bit. */
     32     int mod_id;                         /* Module ID. */
     33     bcm_multicast_t group;              /* Use this index to program IPMC table
     34                                            for XGS chips based on flags value.
     35                                            For SBX chips it is the Multicast
     36                                            Group index */
     37     uint32 flags;                       /* See BCM_IPMC_XXX flag definitions. */
     38     int lookup_class;                   /* Classification lookup class ID. */
     39     bcm_fabric_distribution_t distribution_class; /* Fabric Distribution Class. */
     40     bcm_if_t l3a_intf;                  /* L3 interface associated with route. */
     41     int rp_id;                          /* Rendezvous point ID. */
     42     bcm_ip_t s_ip_mask;                 /* IPv4 Source subnet mask. */
     43     bcm_if_t ing_intf;                  /* L3 interface associated with this
     44                                            Entry */
     45     bcm_ip_t mc_ip_mask;                /* IPv4 Destination subnet mask. */
     46     bcm_ip6_t mc_ip6_mask;              /* IPv6 Destination subnet mask. */
     47     bcm_multicast_t group_l2;           /* Use this index to program IPMC table
     48                                            for l2 recipients if TTL/RPF check
     49                                            fails. */
     50     uint32 stat_id;                     /* Object statistics ID. */
     51     int stat_pp_profile;                /* Statistics profile. */
     52     bcm_ip6_t s_ip6_mask;               /* IPv6 Source subnet mask. */
     53     int priority;                       /* Entry priority. */
     54 } bcm_compat6515_ipmc_addr_t;
     55 
     56 /* Add new IPMC group. */
     57 extern int bcm_compat6515_ipmc_add(
     58     int unit,
     59     bcm_compat6515_ipmc_addr_t *data);
     60 
     61 /* Find info of an IPMC group. */
     62 extern int bcm_compat6515_ipmc_find(
     63     int unit,
     64     bcm_compat6515_ipmc_addr_t *data);
     65 
     66 /* Remove IPMC group. */
     67 extern int bcm_compat6515_ipmc_remove(
     68     int unit,
     69     bcm_compat6515_ipmc_addr_t *data);
     70 
     71 #endif
     72 /* Port Resource Configuration */
     73 typedef struct bcm_compat6515port_resource_s {
     74     uint32 flags;                   /* BCM_PORT_RESOURCE_XXX */
     75     bcm_gport_t port;               /* Local logical port number to connect to
     76                                        the given physical port */
     77     int physical_port;              /* Local physical port, -1 if the logical to
     78                                        physical mapping is to be deleted */
     79     int speed;                      /* Initial speed after FlexPort operation */
     80     int lanes;                      /* Number of PHY lanes for this physical
     81                                        port */
     82     bcm_port_encap_t encap;         /* Encapsulation mode for port */
     83     bcm_port_phy_fec_t fec_type;    /* fec_type for port */
     84     int phy_lane_config;            /* serdes pmd lane config for port */
     85     int link_training;              /* link training on or off */
     86     int roe_compression;            /* roe_compression enable */
     87 } bcm_compat6515_port_resource_t;
     88 
     89 #endif
     90 #endif /* !_COMPAT_6515_H */