Network Component  Version 7.12.0
MDK Middleware for IPv4 and IPv6 Networking
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
NetIGMP: IGMP Management

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

Functions

__STATIC_INLINE void EvrNetIGMP_InitManager (uint32_t num_entries)
 Event on IGMP manager initialize (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_Join (const uint8_t *ip4_addr)
 Event on IGMP join group membership (API) More...
 
__STATIC_INLINE void EvrNetIGMP_AlreadyInGroup (uint8_t group_id)
 Event on IGMP join already a member (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_NoFreeEntries (uint8_t num_used)
 Event on IGMP join no free entries available (Error) More...
 
__STATIC_INLINE void EvrNetIGMP_SendReport (const uint8_t *ip4_addr)
 Event on IGMP send report message (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_Leave (const uint8_t *ip4_addr)
 Event on IGMP leave group membership (API) More...
 
__STATIC_INLINE void EvrNetIGMP_NotInGroup (const uint8_t *ip4_addr)
 Event on IGMP leave not a member (Error) More...
 
__STATIC_INLINE void EvrNetIGMP_SendLeave (const uint8_t *ip4_addr)
 Event on IGMP send leave message (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_ReceiveFrame (uint8_t message_type, uint32_t length)
 Event on IGMP receive frame (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_FrameTooShort (uint32_t length, uint32_t min_length)
 Event on IGMP receive frame is too short (Error) More...
 
__STATIC_INLINE void EvrNetIGMP_ChecksumFailed (uint32_t length)
 Event on IGMP frame checksum check failed (Error) More...
 
__STATIC_INLINE void EvrNetIGMP_GroupSpecificQuery (const uint8_t *ip4_addr)
 Event on IGMPv2 group specific query (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_DestAddressWrong (const uint8_t *ip4_addr)
 Event on IGMPv2 destination address wrong (Error) More...
 
__STATIC_INLINE void EvrNetIGMP_DelayedReportScheduled (uint8_t max_time)
 Event on IGMPv2 report message delayed (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_GeneralQuery (const uint8_t *ip4_addr)
 Event on IGMPv1 general query (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_StartModeIGMPv1 (void)
 Event on start IGMPv1 mode (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_MaxTimeForReport (uint8_t max_time)
 Event on IGMPv2 maximum time for report messages (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_GroupReportsScheduled (uint32_t n_reports)
 Event on IGMP scheduled reports for all active groups (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_ReportReceived (const uint8_t *ip4_addr)
 Event on IGMP received report message (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_OwnReportCanceled (uint8_t group_id)
 Event on own report canceled (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_StartModeIGMPv2 (void)
 Event on start IGMPv2 mode (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_SendDelayedReport (const uint8_t *ip4_addr)
 Event on IGMP send delayed report message (Op) More...
 
__STATIC_INLINE void EvrNetIGMP_UninitManager (void)
 Event on IGMP manager de-initialize (Op) More...
 

Description

Events generated by the Network - IGMP Group Management functions.

The Network IGMP Group Management functions generate events that report events in the Internet Group Management Protocol and help in troubleshooting.

Function Documentation

__STATIC_INLINE void EvrNetIGMP_AlreadyInGroup ( uint8_t  group_id)

Event on IGMP join already a member (Op)

Parameters
group_idgroup membership identifier

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

Value in the Event Recorder shows:

  • id: membership group table identifier.
__STATIC_INLINE void EvrNetIGMP_ChecksumFailed ( uint32_t  length)

Event on IGMP frame checksum check failed (Error)

Parameters
lengthframe length in bytes

The event ChecksumFailed is created when the network library has checked the checksum on the received IGMP frame and the verification failed. The IGMP frame is therefore discarded.

Value in the Event Recorder shows:

  • len: length of the IGMP frame in bytes.
__STATIC_INLINE void EvrNetIGMP_DelayedReportScheduled ( uint8_t  max_time)

Event on IGMPv2 report message delayed (Op)

Parameters
max_timemaximum delay time in 100 ms ticks

The event DelayedReportScheduled is created when the network library receives the IGMPv2 group specific query.

Value in the Event Recorder shows:

  • max_time: maximum allowed time before sending the report in milliseconds.
__STATIC_INLINE void EvrNetIGMP_DestAddressWrong ( const uint8_t *  ip4_addr)

Event on IGMPv2 destination address wrong (Error)

Parameters
ip4_addrpointer to IPv4 address of a group

The event DestAddressWrong is created when the network library receives the IGMP group query, but the destination IP address is wrong.

For the general IGMP query (group 0.0.0.0) the destination IP address must be the IP address of all hosts (244.0.0.1).

For IGMPv2 group specific query the destination IP address must be the same as the IP address of the query group.

Value in the Event Recorder shows:

  • addr: destination IP address.
__STATIC_INLINE void EvrNetIGMP_FrameTooShort ( uint32_t  length,
uint32_t  min_length 
)

Event on IGMP receive frame is too short (Error)

Parameters
lengthframe length in bytes
min_lengthminimum length of the frame

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

Value in the Event Recorder shows:

  • len: length of the received frame in bytes.
  • min: minimum valid frame length in bytes.
__STATIC_INLINE void EvrNetIGMP_GeneralQuery ( const uint8_t *  ip4_addr)

Event on IGMPv1 general query (Op)

Parameters
ip4_addrpointer to IPv4 address of a group

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

Value in the Event Recorder shows:

  • addr: IP address of the query group.
__STATIC_INLINE void EvrNetIGMP_GroupReportsScheduled ( uint32_t  n_reports)

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

Parameters
n_reportsnumber of scheduled reports

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

Value in the Event Recorder shows:

  • num: number of group reports to be sent.
__STATIC_INLINE void EvrNetIGMP_GroupSpecificQuery ( const uint8_t *  ip4_addr)

Event on IGMPv2 group specific query (Op)

Parameters
ip4_addrpointer to IPv4 address of a group

The event GroupSpecificQuery is created when the network library receives the IGMPv2 group specific query.

Value in the Event Recorder shows:

  • addr: IP address of the query group.
__STATIC_INLINE void EvrNetIGMP_InitManager ( uint32_t  num_entries)

Event on IGMP manager initialize (Op)

Parameters
num_entriesnumber of entries available in membership table

The event InitManager is created when the IGMP group manager is initialized, that is, when the function netInitialize is executed.

Value in the Event Recorder shows:

  • groups: number of available groups.
__STATIC_INLINE void EvrNetIGMP_Join ( const uint8_t *  ip4_addr)

Event on IGMP join group membership (API)

Parameters
ip4_addrpointer to IPv4 address of a group

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

Value in the Event Recorder shows:

  • addr: IP address of a group to join to.
__STATIC_INLINE void EvrNetIGMP_Leave ( const uint8_t *  ip4_addr)

Event on IGMP leave group membership (API)

Parameters
ip4_addrpointer to IPv4 address of a group

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

Value in the Event Recorder shows:

  • addr: IP address of the group to leave.
__STATIC_INLINE void EvrNetIGMP_MaxTimeForReport ( uint8_t  max_time)

Event on IGMPv2 maximum time for report messages (Op)

Parameters
max_timemaximum delay time in 100 ms ticks

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

Value in the Event Recorder shows:

  • max_time: maximum allowed time before sending the report in milliseconds.
__STATIC_INLINE void EvrNetIGMP_NoFreeEntries ( uint8_t  num_used)

Event on IGMP join no free entries available (Error)

Parameters
num_usednumber of used membership table entries

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

Value in the Event Recorder shows:

  • used: number of used membership table entries.
__STATIC_INLINE void EvrNetIGMP_NotInGroup ( const uint8_t *  ip4_addr)

Event on IGMP leave not a member (Error)

Parameters
ip4_addrpointer to IPv4 address of a group

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

Value in the Event Recorder shows:

  • addr: IP address of the group to leave.
__STATIC_INLINE void EvrNetIGMP_OwnReportCanceled ( uint8_t  group_id)

Event on own report canceled (Op)

Parameters
group_idgroup membership identifier

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

Value in the Event Recorder shows:

  • id: membership group table identifier.
__STATIC_INLINE void EvrNetIGMP_ReceiveFrame ( uint8_t  message_type,
uint32_t  length 
)

Event on IGMP receive frame (Op)

Parameters
message_typetype of received message
lengthlength of received message

The event ReceiveFrame is created when the network library receives the IGMP frame.

Value in the Event Recorder shows:

  • type: type of received message (QUERY, REPORT_V1, REPORT_V2, LEAVE_V2, REPORT_V3).
  • len: length of the received frame in bytes.
__STATIC_INLINE void EvrNetIGMP_ReportReceived ( const uint8_t *  ip4_addr)

Event on IGMP received report message (Op)

Parameters
ip4_addrpointer to IPv4 address of a group

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

Value in the Event Recorder shows:

  • addr: IP address of the reported group.
__STATIC_INLINE void EvrNetIGMP_SendDelayedReport ( const uint8_t *  ip4_addr)

Event on IGMP send delayed report message (Op)

Parameters
ip4_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:

  • addr: IP address of the group membership report.
__STATIC_INLINE void EvrNetIGMP_SendLeave ( const uint8_t *  ip4_addr)

Event on IGMP send leave message (Op)

Parameters
ip4_addrpointer to IPv4 address of a group

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

Value in the Event Recorder shows:

  • addr: IP address of the group to leave.
__STATIC_INLINE void EvrNetIGMP_SendReport ( const uint8_t *  ip4_addr)

Event on IGMP send report message (Op)

Parameters
ip4_addrpointer to IPv4 address of a group

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

Value in the Event Recorder shows:

  • addr: IP address of the group to join.
__STATIC_INLINE void EvrNetIGMP_StartModeIGMPv1 ( void  )

Event on start IGMPv1 mode (Op)

The event StartModeIGMPv1 is created when the network library starts the IGMPv1 mode.

Value in the Event Recorder shows:

  • v1
__STATIC_INLINE void EvrNetIGMP_StartModeIGMPv2 ( void  )

Event on start IGMPv2 mode (Op)

The event StartModeIGMPv2 is created when the network library starts the IGMPv2 mode.

Value in the Event Recorder shows:

  • v2
__STATIC_INLINE void EvrNetIGMP_UninitManager ( void  )

Event on IGMP manager de-initialize (Op)

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

Value in the Event Recorder shows:

  • igmp