5 #ifndef vnsw_agent_gmp_proto_h 
    6 #define vnsw_agent_gmp_proto_h 
   14 #define GMP_TX_BUFF_LEN            512 
  142                             int instance, boost::asio::io_context &
io);
 
  190     boost::asio::io_context &
io_;
 
  213                             const std::string &name, 
int instance,
 
  214                             boost::asio::io_context &
io);
 
boost::asio::ip::address IpAddress
 
bool set_gmp_querying(bool querying)
 
const string & get_vrf_name()
 
GmpIntf(const GmpProto *)
 
const GmpProto * gmp_proto_
 
bool set_ip_address(const IpAddress &ip_addr)
 
void SetGif(gmp_intf *gif)
 
bool set_vrf_name(const std::string &vrf_name)
 
const IpAddress get_ip_address()
 
static bool DeleteGmpProto(GmpProto *gmp_proto)
 
static GmpProto * CreateGmpProto(GmpType::Type type, Agent *agent, const std::string &name, int instance, boost::asio::io_context &io)
 
void GmpBufferFree(uint8_t *pkt)
 
bool SendPacket(GmpIntf *gif, uint8_t *pkt, uint32_t pkt_len, IpAddress dest)
 
bool DeleteIntf(GmpIntf *gif)
 
bool GmpNotificationHandler()
 
boost::function< bool(const VrfEntry *, IpAddress, GmpPacket *)> Callback
 
void TriggerMvpnNotification(const VmInterface *vm_intf, bool join, IpAddress source, IpAddress group)
 
VmIpInterfaceMap vm_ip_to_vmi_
 
void GmpVrfNotify(DBTablePartBase *part, DBEntryBase *entry)
 
bool GmpProcessPkt(const VmInterface *vm_itf, void *rcv_pkt, uint32_t packet_len, IpAddress ip_saddr, IpAddress ip_daddr)
 
Timer * gmp_trigger_timer_
 
DBTableBase::ListenerId vn_listener_id()
 
const GmpStats & GetStats() const
 
static const int kGmpTriggerRestartTimer
 
void TriggerEvpnNotification(const VmInterface *vm_intf, bool join, IpAddress source, IpAddress group)
 
boost::asio::io_context & io_
 
TaskTrigger * gmp_notif_trigger_
 
DBTableBase::ListenerId vn_listener_id_
 
GmpProto(GmpType::Type type, Agent *agent, const std::string &task_name, int instance, boost::asio::io_context &io)
 
void GroupNotify(GmpIntf *gif, IpAddress source, IpAddress group, int group_action)
 
const std::string & name_
 
DBTableBase::ListenerId itf_listener_id_
 
void GmpNotificationReady()
 
void GmpVnNotify(DBTablePartBase *part, DBEntryBase *entry)
 
bool GmpNotificationTimer()
 
void Register(Callback cb)
 
std::map< IpAddress, boost::uuids::uuid > VmIpInterfaceMap
 
void GmpItfNotify(DBTablePartBase *part, DBEntryBase *entry)
 
void UpdateHostInSourceGroup(GmpIntf *gif, bool join, IpAddress host, IpAddress source, IpAddress group)
 
void GmpIntfSGClear(VnGmpDBState *state, VnGmpDBState::VnGmpIntfState *gmp_intf_state)
 
bool MulticastPolicyCheck(GmpIntf *gif, IpAddress source, IpAddress group)
 
DBTableBase::ListenerId itf_listener_id()
 
void ResyncNotify(GmpIntf *gif, IpAddress source, IpAddress group)
 
VnGmpIntfSGList gmp_intf_sg_list_
 
VnGmpIntfSGList::iterator VnGmpSGIntfListIter
 
std::set< GmpSourceGroup * > VnGmpSGList
 
VnGmpIntfMap gmp_intf_map_
 
std::set< GmpSourceGroup * > VnGmpIntfSGList
 
std::map< IpAddress, VnGmpIntfState * > VnGmpIntfMap
 
VnGmpSGList::iterator VnGmpSGListIter
 
GmpPacket(uint8_t *pkt, uint32_t pkt_len, IpAddress dst_addr)
 
uint32_t gmp_g_del_count_
 
uint32_t gmp_sg_del_count_
 
uint32_t gmp_g_add_count_
 
uint32_t gmp_sg_add_count_