Network Component  
MDK Middleware for IPv4 and IPv6 Networking
 
Loading...
Searching...
No Matches
NetMLD: MLD Multicast Listener Discovery

Events generated by the Network - MLD Group Management functions. More...

Functions

__STATIC_INLINE void EvrNetMLD_InitNode (uint16_t if_id, uint32_t num_entries)
 Event on MLD node initialize (Op)
 
__STATIC_INLINE void EvrNetMLD_Join (uint16_t if_id, const uint8_t *ip6_addr)
 Event on MLD join group membership (API)
 
__STATIC_INLINE void EvrNetMLD_AlreadyInGroup (uint16_t if_id, uint8_t group_id)
 Event on MLD join already a member (Op)
 
__STATIC_INLINE void EvrNetMLD_NoFreeEntries (uint16_t if_id, uint8_t num_used)
 Event on MLD join no free entries available (Error)
 
__STATIC_INLINE void EvrNetMLD_SendReport (uint16_t if_id, const uint8_t *ip6_addr)
 Event on MLD send report message (Op)
 
__STATIC_INLINE void EvrNetMLD_Leave (uint16_t if_id, const uint8_t *ip6_addr)
 Event on MLD leave group membership (API)
 
__STATIC_INLINE void EvrNetMLD_NotInGroup (uint16_t if_id, const uint8_t *ip6_addr)
 Event on MLD leave not a member (Error)
 
__STATIC_INLINE void EvrNetMLD_SendLeave (uint16_t if_id, const uint8_t *ip6_addr)
 Event on MLD send leave message (Op)
 
__STATIC_INLINE void EvrNetMLD_FrameTooShort (uint16_t if_id, uint32_t length, uint32_t min_length)
 Event on MLD receive frame is too short (Error)
 
__STATIC_INLINE void EvrNetMLD_AddressSpecificQuery (uint16_t if_id, const uint8_t *ip6_addr)
 Event on MLD address specific query (Op)
 
__STATIC_INLINE void EvrNetMLD_DestAddressWrong (uint16_t if_id, const uint8_t *ip6_addr)
 Event on MLD destination address wrong (Error)
 
__STATIC_INLINE void EvrNetMLD_DelayedReportScheduled (uint16_t if_id, uint16_t max_time)
 Event on MLD report message delayed (Op)
 
__STATIC_INLINE void EvrNetMLD_GeneralQuery (uint16_t if_id, const uint8_t *ip6_addr)
 Event on MLD general query (Op)
 
__STATIC_INLINE void EvrNetMLD_MaxTimeForReport (uint16_t if_id, uint16_t max_time)
 Event on MLD maximum time for report messages (Op)
 
__STATIC_INLINE void EvrNetMLD_GroupReportsScheduled (uint16_t if_id, uint32_t n_reports)
 Event on MLD scheduled reports for all active groups (Op)
 
__STATIC_INLINE void EvrNetMLD_NoReportScheduled (uint16_t if_id)
 Event on MLD no report scheduled as no active group (Op)
 
__STATIC_INLINE void EvrNetMLD_ReportReceived (uint16_t if_id, const uint8_t *ip6_addr)
 Event on MLD received report message (Op)
 
__STATIC_INLINE void EvrNetMLD_OwnReportCanceled (uint16_t if_id, uint8_t group_id)
 Event on own report canceled (Op)
 
__STATIC_INLINE void EvrNetMLD_SendDelayedReport (uint16_t if_id, const uint8_t *ip6_addr)
 Event on MLD send delayed report message (Op)
 
__STATIC_INLINE void EvrNetMLD_UninitNode (uint16_t if_id)
 Event on MLD node de-initialize (Op)
 

Description

Events generated by the Network - MLD Group Management functions.

The Network MLD Group Management functions generate events that report events in the Multicast Listener Discovery Protocol and help in troubleshooting.

Function Documentation

◆ EvrNetMLD_AddressSpecificQuery()

__STATIC_INLINE void EvrNetMLD_AddressSpecificQuery ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

Event on MLD address specific query (Op)

Parameters
if_idnetwork interface identifier
ip6_addrpointer to IPv6 address

The event AddressSpecificQuery is created when the network library receives the MLD address specific query.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • addr: IPv6 address of the query group.

◆ EvrNetMLD_AlreadyInGroup()

__STATIC_INLINE void EvrNetMLD_AlreadyInGroup ( uint16_t  if_id,
uint8_t  group_id 
)

Event on MLD join already a member (Op)

Parameters
if_idnetwork interface identifier
group_idgroup membership identifier

The event AlreadyInGroup is created when the function netMLD_Join is executed, and the host is already a member of the group.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • id: membership group table identifier.

◆ EvrNetMLD_DelayedReportScheduled()

__STATIC_INLINE void EvrNetMLD_DelayedReportScheduled ( uint16_t  if_id,
uint16_t  max_time 
)

Event on MLD report message delayed (Op)

Parameters
if_idnetwork interface identifier
max_timemaximum delay time in ms

The event DelayedReportScheduled is created when the network library receives the MLD address specific query.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • max_time: maximum allowed delay before sending the report in milliseconds.

◆ EvrNetMLD_DestAddressWrong()

__STATIC_INLINE void EvrNetMLD_DestAddressWrong ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

Event on MLD destination address wrong (Error)

Parameters
if_idnetwork interface identifier
ip6_addrpointer to IPv6 address

The event DestAddressWrong is created when the network library receives the MLD address specific query, but the destination IPv6 address is wrong.

For the general MLD query (address 0:0:0:0:0:0:0:0) the destination IPv6 address must be the IPv6 address of all nodes (FF02::2).

For MLD address specific query the destination IPv6 address must be the same as the IPv6 address of the query group.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • addr: destination IPv6 address.

◆ EvrNetMLD_FrameTooShort()

__STATIC_INLINE void EvrNetMLD_FrameTooShort ( uint16_t  if_id,
uint32_t  length,
uint32_t  min_length 
)

Event on MLD receive frame is too short (Error)

Parameters
if_idnetwork interface identifier
lengthframe length in bytes
min_lengthminimum length of the frame

The event FrameTooShort is created when the network library receives the MLD frame that is too short. The frame is discarded.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • len: length of the received frame in bytes.
  • min: minimum valid frame length in bytes.

◆ EvrNetMLD_GeneralQuery()

__STATIC_INLINE void EvrNetMLD_GeneralQuery ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

Event on MLD general query (Op)

Parameters
if_idnetwork interface identifier
ip6_addrpointer to IPv6 address

The event GeneralQuery is created when the network library receives the MLD general query.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • addr: IPv6 address of the query group.

◆ EvrNetMLD_GroupReportsScheduled()

__STATIC_INLINE void EvrNetMLD_GroupReportsScheduled ( uint16_t  if_id,
uint32_t  n_reports 
)

Event on MLD scheduled reports for all active groups (Op)

Parameters
if_idnetwork interface identifier
n_reportsnumber of scheduled reports

The event GroupReportsScheduled is created when the network library receives the MLD general query and generates reports for all active groups.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • num: number of group reports to be sent.

◆ EvrNetMLD_InitNode()

__STATIC_INLINE void EvrNetMLD_InitNode ( uint16_t  if_id,
uint32_t  num_entries 
)

Event on MLD node initialize (Op)

Parameters
if_idnetwork interface identifier
num_entriesnumber of entries available in membership table

The event InitNode is created when the MLD group manager is initialized, that is, when the function netInitialize is executed.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • groups: number of available groups.

◆ EvrNetMLD_Join()

__STATIC_INLINE void EvrNetMLD_Join ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

Event on MLD join group membership (API)

Parameters
if_idnetwork interface identifier
ip6_addrpointer to IPv6 address of a group

The event Join is created when the function netMLD_Join is executed.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • addr: IPv6 address of a group to join to.

◆ EvrNetMLD_Leave()

__STATIC_INLINE void EvrNetMLD_Leave ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

Event on MLD leave group membership (API)

Parameters
if_idnetwork interface identifier
ip6_addrpointer to IPv6 address of a group

The event Leave is created when the function netMLD_Leave is executed.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • addr: IPv6 address of the group to leave.

◆ EvrNetMLD_MaxTimeForReport()

__STATIC_INLINE void EvrNetMLD_MaxTimeForReport ( uint16_t  if_id,
uint16_t  max_time 
)

Event on MLD maximum time for report messages (Op)

Parameters
if_idnetwork interface identifier
max_timemaximum delay time in ms

The event MaxTimeForReport is created when the network library receives the MLD general query.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • max_time: maximum allowed delay before sending the report in milliseconds.

◆ EvrNetMLD_NoFreeEntries()

__STATIC_INLINE void EvrNetMLD_NoFreeEntries ( uint16_t  if_id,
uint8_t  num_used 
)

Event on MLD join no free entries available (Error)

Parameters
if_idnetwork interface identifier
num_usednumber of used membership table entries

The event NoFreeEntries is created when the function netMLD_Join is executed, and no free membership table entries are available.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • used: number of used membership table entries.

◆ EvrNetMLD_NoReportScheduled()

__STATIC_INLINE void EvrNetMLD_NoReportScheduled ( uint16_t  if_id)

Event on MLD no report scheduled as no active group (Op)

Parameters
if_idnetwork interface identifier

The event NoReportScheduled is created when the network library receives the MLD general query and does not generate a report because there is no active group.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • num: number of group reports to be sent.

◆ EvrNetMLD_NotInGroup()

__STATIC_INLINE void EvrNetMLD_NotInGroup ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

Event on MLD leave not a member (Error)

Parameters
if_idnetwork interface identifier
ip6_addrpointer to IPv6 address of a group

The event NotInGroup is created when the function netMLD_Leave is executed, and the requested IPv6 address of the group is not a member of any group.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • addr: IPv6 address of the group to leave.

◆ EvrNetMLD_OwnReportCanceled()

__STATIC_INLINE void EvrNetMLD_OwnReportCanceled ( uint16_t  if_id,
uint8_t  group_id 
)

Event on own report canceled (Op)

Parameters
if_idnetwork interface identifier
group_idgroup membership identifier

The event OwnReportCanceled is created when the network library receives a report for the group we are a member of. Therefore, our group report can be cancelled because the router is already aware of this group.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • id: membership group table identifier.

◆ EvrNetMLD_ReportReceived()

__STATIC_INLINE void EvrNetMLD_ReportReceived ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

Event on MLD received report message (Op)

Parameters
if_idnetwork interface identifier
ip6_addrpointer to IPv6 address

The event ReportReceived is created when the network library receives a group report from another host.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • addr: IPv6 address of the reported group.

◆ EvrNetMLD_SendDelayedReport()

__STATIC_INLINE void EvrNetMLD_SendDelayedReport ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

Event on MLD send delayed report message (Op)

Parameters
if_idnetwork interface identifier
ip6_addrpointer to IPv4 address of a group

The event SendDelayedReport is created when the network library wants to send a delayed group membership report.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • addr: IPv6 address of the group membership report.

◆ EvrNetMLD_SendLeave()

__STATIC_INLINE void EvrNetMLD_SendLeave ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

Event on MLD send leave message (Op)

Parameters
if_idnetwork interface identifier
ip6_addrpointer to IPv6 address of a group

The event SendLeave is created when the function netMLD_Leave is executed, and the network library wants to send a leave message.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • addr: IPv6 address of the group to leave.

◆ EvrNetMLD_SendReport()

__STATIC_INLINE void EvrNetMLD_SendReport ( uint16_t  if_id,
const uint8_t *  ip6_addr 
)

Event on MLD send report message (Op)

Parameters
if_idnetwork interface identifier
ip6_addrpointer to IPv6 address of a group

The event SendReport is created when the function netMLD_Join is executed, and the network library wants to send a report message.

Value in the Event Recorder shows:

  • netif: network interface identifier.
  • addr: IPv6 address of the group to join.

◆ EvrNetMLD_UninitNode()

_STATIC_INLINE void EvrNetMLD_UninitNode ( uint16_t  if_id)

Event on MLD node de-initialize (Op)

Parameters
if_idnetwork interface identifier

The event UninitNode is created when the function netUninitialize is executed.

Value in the Event Recorder shows:

  • netif: network interface identifier.