1/* 2 * Copyright (c) 2012, The Linux Foundation. All rights reserved. 3 * Permission to use, copy, modify, and/or distribute this software for 4 * any purpose with or without fee is hereby granted, provided that the 5 * above copyright notice and this permission notice appear in all copies. 6 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 7 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 8 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 9 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 11 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 12 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 13 */ 14 15 16/** 17 * @defgroup garuda_igmp GARUDA_IGMP 18 * @{ 19 */ 20#ifndef _GARUDA_IGMP_H_ 21#define _GARUDA_IGMP_H_ 22 23#ifdef __cplusplus 24extern "C" { 25#endif /* __cplusplus */ 26 27#include "fal/fal_igmp.h" 28 29 sw_error_t 30 garuda_igmp_init(a_uint32_t dev_id); 31 32#ifdef IN_IGMP 33#define GARUDA_IGMP_INIT(rv, dev_id) \ 34 { \ 35 rv = garuda_igmp_init(dev_id); \ 36 SW_RTN_ON_ERROR(rv); \ 37 } 38#else 39#define GARUDA_IGMP_INIT(rv, dev_id) 40#endif 41 42#ifdef HSL_STANDALONG 43 44 45 HSL_LOCAL sw_error_t 46 garuda_port_igmps_status_set(a_uint32_t dev_id, fal_port_t port_id, a_bool_t enable); 47 48 49 50 HSL_LOCAL sw_error_t 51 garuda_port_igmps_status_get(a_uint32_t dev_id, fal_port_t port_id, a_bool_t *enable); 52 53 54 55 HSL_LOCAL sw_error_t 56 garuda_igmp_mld_cmd_set(a_uint32_t dev_id, fal_fwd_cmd_t cmd); 57 58 59 60 HSL_LOCAL sw_error_t 61 garuda_igmp_mld_cmd_get(a_uint32_t dev_id, fal_fwd_cmd_t * cmd); 62 63 64 65 HSL_LOCAL sw_error_t 66 garuda_port_igmp_mld_join_set(a_uint32_t dev_id, fal_port_t port_id, a_bool_t enable); 67 68 69 70 HSL_LOCAL sw_error_t 71 garuda_port_igmp_mld_join_get(a_uint32_t dev_id, fal_port_t port_id, a_bool_t * enable); 72 73 74 75 HSL_LOCAL sw_error_t 76 garuda_port_igmp_mld_leave_set(a_uint32_t dev_id, fal_port_t port_id, a_bool_t enable); 77 78 79 80 HSL_LOCAL sw_error_t 81 garuda_port_igmp_mld_leave_get(a_uint32_t dev_id, fal_port_t port_id, a_bool_t * enable); 82 83 84 85 HSL_LOCAL sw_error_t 86 garuda_igmp_mld_rp_set(a_uint32_t dev_id, fal_pbmp_t pts); 87 88 89 90 HSL_LOCAL sw_error_t 91 garuda_igmp_mld_rp_get(a_uint32_t dev_id, fal_pbmp_t * pts); 92 93 94 95 HSL_LOCAL sw_error_t 96 garuda_igmp_mld_entry_creat_set(a_uint32_t dev_id, a_bool_t enable); 97 98 99 100 HSL_LOCAL sw_error_t 101 garuda_igmp_mld_entry_creat_get(a_uint32_t dev_id, a_bool_t * enable); 102#endif 103 104#ifdef __cplusplus 105} 106#endif /* __cplusplus */ 107 108#endif /* _GARUDA_IGMP_H_ */ 109/** 110 * @} 111 */ 112