mld_node_misc.h
void mldNodeProcessListenerReport(MldNodeContext *context, const Ipv6PseudoHeader *pseudoHeader, const MldMessage *message, size_t length)
Process incoming Multicast Listener Report message.
Definition: mld_node_misc.c:1034
void mldNodeProcessMessage(MldNodeContext *context, const Ipv6PseudoHeader *pseudoHeader, const MldMessage *message, size_t length)
Process incoming MLD message.
Definition: mld_node_misc.c:701
void mldNodeSendListenerReport(MldNodeContext *context, const Ipv6Addr *groupAddr)
Send Multicast Listener Report message.
Definition: mld_node_misc.c:144
void mldNodeSendStateChangeReport(MldNodeContext *context, const Ipv6Addr *groupAddr)
Send State-Change Report message.
Definition: mld_node_misc.c:453
error_t mldNodeAddSrcAddr(MldNodeSrcAddrList *list, const Ipv6Addr *srcAddr)
Append a source address to a given list.
Definition: mld_node_misc.c:1479
void mldNodeMergeReports(MldNodeGroup *group, IpFilterMode newFilterMode, const Ipv6SrcAddrList *newFilter)
Merge difference the report and the pending report.
Definition: mld_node_misc.c:1076
void mldNodeSendCurrentStateReport(MldNodeContext *context, const Ipv6Addr *groupAddr)
Send Current-State Report message.
Definition: mld_node_misc.c:223
void mldNodeChangeCompatibilityMode(MldNodeContext *context, MldVersion compatibilityMode)
Change host compatibility mode.
Definition: mld_node_misc.c:53
void mldNodeFlushUnusedGroups(MldNodeContext *context)
Delete groups in "non-existent" state.
Definition: mld_node_misc.c:1441
void mldNodeDeleteGroup(MldNodeGroup *group)
Delete a multicast group.
Definition: mld_node_misc.c:1425
void mldNodeDecGroupRetransmitCounters(MldNodeGroup *group)
Decrement retransmission counters for a given group.
Definition: mld_node_misc.c:1241
int_t mldNodeFindSrcAddr(const MldNodeSrcAddrList *list, const Ipv6Addr *srcAddr)
Search the list of sources for a given IP address.
Definition: mld_node_misc.c:1564
MldNodeGroup * mldNodeCreateGroup(MldNodeContext *context, const Ipv6Addr *groupAddr)
Create a new multicast group.
Definition: mld_node_misc.c:1302
void mldNodeRemoveSrcAddr(MldNodeSrcAddrList *list, const Ipv6Addr *srcAddr)
Remove a source address from a given list.
Definition: mld_node_misc.c:1527
bool_t mldNodeGetRetransmitStatus(MldNodeContext *context)
Get the retransmission status of the State-Change report.
Definition: mld_node_misc.c:1171
MLD node (Multicast Listener Discovery for IPv6)
MldNodeGroup * mldNodeFindGroup(MldNodeContext *context, const Ipv6Addr *groupAddr)
Search the list of multicast groups for a given group address.
Definition: mld_node_misc.c:1363
void mldNodeProcessListenerQueryV2(MldNodeContext *context, const Ipv6PseudoHeader *pseudoHeader, const MldListenerQueryV2 *message, size_t length)
Process incoming Version 2 Multicast Listener Query message.
Definition: mld_node_misc.c:839
bool_t mldNodeMatchGroup(MldNodeGroup *group, const Ipv6Addr *multicastAddr)
Check whether a group matches a given multicast address.
Definition: mld_node_misc.c:1397
void mldNodeFlushReportRecords(MldNodeContext *context, NetBuffer *buffer, size_t offset, size_t *length)
Flush report records.
Definition: mld_node_misc.c:658
void mldNodeSendListenerDone(MldNodeContext *context, const Ipv6Addr *groupAddr)
Send Multicast Listener Done message.
Definition: mld_node_misc.c:183
bool_t mldNodeGetGroupRetransmitStatus(MldNodeGroup *group)
Get the retransmission status for a given group.
Definition: mld_node_misc.c:1209
void mldNodeSendUnsolicitedReport(MldNodeContext *context, const Ipv6Addr *groupAddr)
Send an unsolicited Report message.
Definition: mld_node_misc.c:108
TCP/IP stack core.
void mldNodeProcessListenerQuery(MldNodeContext *context, const Ipv6PseudoHeader *pseudoHeader, const MldMessage *message, size_t length)
Process incoming Multicast Listener Query message.
Definition: mld_node_misc.c:747