FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
igmp_pkt.h
Go to the documentation of this file.
1 /*
2  *------------------------------------------------------------------
3  * Copyright (c) 2017 Cisco and/or its affiliates.
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at:
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *------------------------------------------------------------------
16  */
17 
18 #ifndef __IGMP_PKT_H__
19 #define __IGMP_PKT_H__
20 
21 #include <igmp/igmp.h>
22 
23 typedef struct igmp_pkt_build_t_
24 {
30 
32 {
37 
40 
42  const ip46_address_t * grp,
43  const ip46_address_t * srcs,
45  type);
46 
48  const igmp_group_t * group,
50  type);
51 
53 
54 
56 {
60 
63 
65  const igmp_group_t * group,
66  const ip46_address_t * srcs);
67 
69 
70 #endif
71 
72 /*
73  * fd.io coding-style-patch-verification: ON
74  *
75  * Local Variables:
76  * eval: (c-set-style "gnu")
77  * End:
78  */
igmp_pkt_report_v3_add_report
void igmp_pkt_report_v3_add_report(igmp_pkt_build_report_t *br, const ip46_address_t *grp, const ip46_address_t *srcs, igmp_membership_group_v3_type_t type)
Definition: igmp_pkt.c:308
igmp_pkt_build_report_t_::n_srcs
u16 n_srcs
Definition: igmp_pkt.h:35
igmp.h
u16
unsigned short u16
Definition: types.h:57
igmp_group_t_
IGMP group A multicast group address for which reception has been requested.
Definition: igmp_group.h:56
igmp_pkt_report_v3_add_group
void igmp_pkt_report_v3_add_group(igmp_pkt_build_report_t *br, const igmp_group_t *group, igmp_membership_group_v3_type_t type)
Definition: igmp_pkt.c:348
igmp_pkt_build_report_t
struct igmp_pkt_build_report_t_ igmp_pkt_build_report_t
igmp_pkt_build_t_
Definition: igmp_pkt.h:23
igmp_membership_group_v3_type_t
igmp_membership_group_v3_type_t
Definition: igmp_packet.h:140
igmp_pkt_build_query_t_
Definition: igmp_pkt.h:55
igmp_pkt_build_query_t_::base
igmp_pkt_build_t base
Definition: igmp_pkt.h:57
igmp_pkt_build_report_init
void igmp_pkt_build_report_init(igmp_pkt_build_report_t *br, u32 sw_if_index)
Definition: igmp_pkt.c:399
igmp_pkt_build_report_t_::base
igmp_pkt_build_t base
Definition: igmp_pkt.h:33
igmp_pkt_build_report_t_::n_groups
u32 n_groups
Definition: igmp_pkt.h:34
igmp_pkt_query_v3_add_group
void igmp_pkt_query_v3_add_group(igmp_pkt_build_query_t *bq, const igmp_group_t *group, const ip46_address_t *srcs)
Definition: igmp_pkt.c:447
igmp_pkt_build_t_::n_avail
u32 n_avail
Definition: igmp_pkt.h:27
igmp_pkt_query_v3_send
void igmp_pkt_query_v3_send(igmp_pkt_build_query_t *bq)
Definition: igmp_pkt.c:512
igmp_pkt_report_v3_send
void igmp_pkt_report_v3_send(igmp_pkt_build_report_t *br)
Definition: igmp_pkt.c:207
igmp_pkt_build_query_t
struct igmp_pkt_build_query_t_ igmp_pkt_build_query_t
u32
unsigned int u32
Definition: types.h:88
igmp_pkt_build_t_::buffers
u32 * buffers
Definition: igmp_pkt.h:25
igmp_pkt_build_t
struct igmp_pkt_build_t_ igmp_pkt_build_t
igmp_pkt_build_t_::n_bytes
u32 n_bytes
Definition: igmp_pkt.h:28
igmp_pkt_build_report_t_
Definition: igmp_pkt.h:31
igmp_pkt_build_query_t_::n_srcs
u32 n_srcs
Definition: igmp_pkt.h:58
igmp_pkt_build_t_::sw_if_index
u32 sw_if_index
Definition: igmp_pkt.h:26
sw_if_index
vl_api_interface_index_t sw_if_index
Definition: wireguard.api:34
igmp_pkt_build_query_init
void igmp_pkt_build_query_init(igmp_pkt_build_query_t *bq, u32 sw_if_index)
Definition: igmp_pkt.c:522
type
vl_api_fib_path_type_t type
Definition: fib_types.api:123