#include <vlib/vlib.h>
#include <vnet/ip/ip.h>
+#define REPLY_MSG_ID_BASE (igmp_main.msg_id_base)
#include <vlibapi/api_helper_macros.h>
#include <vnet/ip/igmp_packet.h>
#include <vnet/adj/adj_mcast.h>
#include <igmp/igmp_timer.h>
#include <igmp/igmp_group.h>
#include <igmp/igmp_config.h>
+#include <igmp/igmp_proxy.h>
/**
* RFC 3376 Section 8.1
#define IGMP_SSM_DEFAULT (0x000000E8)
#endif
-/** helper macro to get igmp mebership group from pointer plus offset */
+/** helper macro to get igmp membership group from pointer plus offset */
#define group_ptr(p, l) ((igmp_membership_group_v3_t *)((u8*)(p) + (l)))
#define group_cptr(p, l) ((const igmp_membership_group_v3_t *)((u8*)(p) + (l)))
* pool of sources
*/
igmp_src_t *srcs;
+
+ /**
+ * per-vrf DB of proxy devices
+ */
+ u32 *igmp_proxy_device_by_vrf_id;
+
+ /**
+ * pool of proxy devices
+ */
+ igmp_proxy_device_t *proxy_devices;
} igmp_main_t;
extern igmp_main_t igmp_main;