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

multicast.h (3557B)


      1 /*
      2  * 
      3  * 
      4  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      5  * 
      6  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
      7  * 
      8  * DO NOT EDIT THIS FILE!
      9  * This file is auto-generated.
     10  * Edits to this file will be lost when it is regenerated.
     11  */
     12 
     13 #ifndef __BCMX_MULTICAST_H__
     14 #define __BCMX_MULTICAST_H__
     15 
     16 #include <bcm/types.h>
     17 #include <bcmx/bcmx.h>
     18 #include <bcm/multicast.h>
     19 
     20 /* Initialize the multicast module. */
     21 extern int bcmx_multicast_init(void);
     22 
     23 /* Shut down (uninitialize) the multicast module. */
     24 extern int bcmx_multicast_detach(void);
     25 
     26 extern int bcmx_multicast_create(
     27     uint32 flags, 
     28     bcm_multicast_t *group);
     29 
     30 extern int bcmx_multicast_destroy(
     31     bcm_multicast_t group);
     32 
     33 /* Retrieve the flags associated with a multicast group. */
     34 extern int bcmx_multicast_group_get(
     35     bcm_multicast_t group, 
     36     uint32 *flags);
     37 
     38 extern int bcmx_multicast_l3_encap_get(
     39     bcm_multicast_t group, 
     40     bcm_gport_t port, 
     41     bcm_if_t intf, 
     42     bcm_if_t *encap_id);
     43 
     44 extern int bcmx_multicast_l2_encap_get(
     45     bcm_multicast_t group, 
     46     bcm_gport_t port, 
     47     bcm_vlan_t vlan, 
     48     bcm_if_t *encap_id);
     49 
     50 extern int bcmx_multicast_vpls_encap_get(
     51     bcm_multicast_t group, 
     52     bcm_gport_t port, 
     53     bcm_gport_t mpls_port_id, 
     54     bcm_if_t *encap_id);
     55 
     56 extern int bcmx_multicast_trill_encap_get(
     57     bcm_multicast_t group, 
     58     bcm_gport_t port, 
     59     bcm_if_t intf, 
     60     bcm_if_t *encap_id);
     61 
     62 extern int bcmx_multicast_subport_encap_get(
     63     bcm_multicast_t group, 
     64     bcm_gport_t port, 
     65     bcm_gport_t subport, 
     66     bcm_if_t *encap_id);
     67 
     68 extern int bcmx_multicast_mim_encap_get(
     69     bcm_multicast_t group, 
     70     bcm_gport_t port, 
     71     bcm_gport_t mim_port_id, 
     72     bcm_if_t *encap_id);
     73 
     74 extern int bcmx_multicast_wlan_encap_get(
     75     bcm_multicast_t group, 
     76     bcm_gport_t port, 
     77     bcm_gport_t wlan_port_id, 
     78     bcm_if_t *encap_id);
     79 
     80 extern int bcmx_multicast_vlan_encap_get(
     81     bcm_multicast_t group, 
     82     bcm_gport_t port, 
     83     bcm_gport_t vlan_port_id, 
     84     bcm_if_t *encap_id);
     85 
     86 extern int bcmx_multicast_niv_encap_get(
     87     bcm_multicast_t group, 
     88     bcm_gport_t port, 
     89     bcm_gport_t niv_port_id, 
     90     bcm_if_t *encap_id);
     91 
     92 extern int bcmx_multicast_egress_add(
     93     bcm_multicast_t group, 
     94     bcm_gport_t port, 
     95     bcm_if_t encap_id);
     96 
     97 extern int bcmx_multicast_egress_delete(
     98     bcm_multicast_t group, 
     99     bcm_gport_t port, 
    100     bcm_if_t encap_id);
    101 
    102 extern int bcmx_multicast_egress_delete_all(
    103     bcm_multicast_t group);
    104 
    105 extern int bcmx_multicast_egress_set(
    106     bcm_multicast_t group, 
    107     int port_count, 
    108     bcm_gport_t *port_array, 
    109     bcm_if_t *encap_id_array);
    110 
    111 extern int bcmx_multicast_egress_get(
    112     bcm_multicast_t group, 
    113     int port_max, 
    114     bcm_gport_t *port_array, 
    115     bcm_if_t *encap_id_array, 
    116     int *port_count);
    117 
    118 /* Assign a set of VLANs as the selected port's replication list. */
    119 extern int bcmx_multicast_repl_set(
    120     int index, 
    121     bcmx_lport_t port, 
    122     bcm_vlan_vector_t vlan_vec);
    123 
    124 /* Return set of VLANs selected for port's replication list. */
    125 extern int bcmx_multicast_repl_get(
    126     int index, 
    127     bcmx_lport_t port, 
    128     bcm_vlan_vector_t vlan_vec);
    129 
    130 /* Set multicast group control. */
    131 extern int bcmx_multicast_control_set(
    132     bcm_multicast_t group, 
    133     bcm_multicast_control_t type, 
    134     int arg);
    135 
    136 /* Get multicast group control. */
    137 extern int bcmx_multicast_control_get(
    138     bcm_multicast_t group, 
    139     bcm_multicast_control_t type, 
    140     int *arg);
    141 
    142 #endif /* __BCMX_MULTICAST_H__ */