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