igmp_host_misc.h
IgmpHostGroup * igmpHostCreateGroup(IgmpHostContext *context, Ipv4Addr groupAddr)
Create a new multicast group.
Definition: igmp_host_misc.c:1299
int_t igmpHostFindSrcAddr(const IgmpHostSrcAddrList *list, Ipv4Addr srcAddr)
Search the list of sources for a given IP address.
Definition: igmp_host_misc.c:1559
void igmpHostProcessMessage(IgmpHostContext *context, const Ipv4PseudoHeader *pseudoHeader, const IgmpMessage *message, size_t length)
Process incoming IGMP message.
Definition: igmp_host_misc.c:671
void igmpHostDecGroupRetransmitCounters(IgmpHostGroup *group)
Decrement retransmission counters for a given group.
Definition: igmp_host_misc.c:1238
bool_t igmpHostGetGroupRetransmitStatus(IgmpHostGroup *group)
Get the retransmission status for a given group.
Definition: igmp_host_misc.c:1206
void igmpHostRemoveSrcAddr(IgmpHostSrcAddrList *list, Ipv4Addr srcAddr)
Remove a source address from a given list.
Definition: igmp_host_misc.c:1522
void igmpHostProcessMembershipQuery(IgmpHostContext *context, const Ipv4PseudoHeader *pseudoHeader, const IgmpMessage *message, size_t length)
Process incoming Membership Query message.
Definition: igmp_host_misc.c:717
bool_t igmpHostMatchGroup(IgmpHostGroup *group, Ipv4Addr multicastAddr)
Check whether a group matches a given multicast address.
Definition: igmp_host_misc.c:1392
void igmpHostSendLeaveGroup(IgmpHostContext *context, Ipv4Addr groupAddr)
Send Leave Group message.
Definition: igmp_host_misc.c:155
void igmpHostDeleteGroup(IgmpHostGroup *group)
Delete a multicast group.
Definition: igmp_host_misc.c:1420
void igmpHostSendCurrentStateReport(IgmpHostContext *context, Ipv4Addr groupAddr)
Send Current-State Report message.
Definition: igmp_host_misc.c:200
void igmpHostSendStateChangeReport(IgmpHostContext *context)
Send State-Change Report message.
Definition: igmp_host_misc.c:426
void igmpHostFlushReportRecords(IgmpHostContext *context, NetBuffer *buffer, size_t offset, size_t *length)
Flush report records.
Definition: igmp_host_misc.c:625
void igmpHostProcessMembershipReport(IgmpHostContext *context, const Ipv4PseudoHeader *pseudoHeader, const IgmpMessage *message, size_t length)
Process incoming Membership Report message.
Definition: igmp_host_misc.c:1031
bool_t igmpHostGetRetransmitStatus(IgmpHostContext *context)
Get the retransmission status of the State-Change report.
Definition: igmp_host_misc.c:1168
IgmpHostGroup * igmpHostFindGroup(IgmpHostContext *context, Ipv4Addr groupAddr)
Search the list of multicast groups for a given group address.
Definition: igmp_host_misc.c:1359
void igmpHostMergeReports(IgmpHostGroup *group, IpFilterMode newFilterMode, const Ipv4SrcAddrList *newFilter)
Merge difference the report and the pending report.
Definition: igmp_host_misc.c:1073
IGMP host.
error_t igmpHostAddSrcAddr(IgmpHostSrcAddrList *list, Ipv4Addr srcAddr)
Append a source address to a given list.
Definition: igmp_host_misc.c:1474
void igmpHostProcessMembershipQueryV3(IgmpHostContext *context, const Ipv4PseudoHeader *pseudoHeader, const IgmpMembershipQueryV3 *message, size_t length)
Process incoming Version 3 Membership Query message.
Definition: igmp_host_misc.c:833
void igmpHostSendMembershipReport(IgmpHostContext *context, Ipv4Addr groupAddr)
Send Membership Report message.
Definition: igmp_host_misc.c:108
void igmpHostChangeCompatibilityMode(IgmpHostContext *context, IgmpVersion compatibilityMode)
Change host compatibility mode.
Definition: igmp_host_misc.c:53
void igmpHostFlushUnusedGroups(IgmpHostContext *context)
Delete groups in "non-existent" state.
Definition: igmp_host_misc.c:1436
TCP/IP stack core.