Network Component  Version 7.19.0
MDK Middleware for IPv4 and IPv6 Networking
NetIGMP: IGMP Management

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

Functions

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

◆ EvrNetIGMP_AlreadyInGroup()

__STATIC_INLINE void EvrNetIGMP_AlreadyInGroup ( uint16_t  if_id,
uint8_t  group_id 
)

Event on IGMP join already a member (Op)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_ChecksumFailed()

__STATIC_INLINE void EvrNetIGMP_ChecksumFailed ( uint16_t  if_id,
uint32_t  length 
)

Event on IGMP frame checksum check failed (Error)

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • len: length of the IGMP frame in bytes.

◆ EvrNetIGMP_DelayedReportScheduled()

__STATIC_INLINE void EvrNetIGMP_DelayedReportScheduled ( uint16_t  if_id,
uint8_t  max_time 
)

Event on IGMPv2 report message delayed (Op)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_DestAddressWrong()

__STATIC_INLINE void EvrNetIGMP_DestAddressWrong ( uint16_t  if_id,
const uint8_t *  ip4_addr 
)

Event on IGMPv2 destination address wrong (Error)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_FrameTooShort()

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

Event on IGMP 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 IGMP 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.

◆ EvrNetIGMP_GeneralQuery()

__STATIC_INLINE void EvrNetIGMP_GeneralQuery ( uint16_t  if_id,
const uint8_t *  ip4_addr 
)

Event on IGMPv1 general query (Op)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_GroupReportsScheduled()

__STATIC_INLINE void EvrNetIGMP_GroupReportsScheduled ( uint16_t  if_id,
uint32_t  n_reports 
)

Event on IGMP 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 IGMP 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.

◆ EvrNetIGMP_GroupSpecificQuery()

__STATIC_INLINE void EvrNetIGMP_GroupSpecificQuery ( uint16_t  if_id,
const uint8_t *  ip4_addr 
)

Event on IGMPv2 group specific query (Op)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_InitManager()

__STATIC_INLINE void EvrNetIGMP_InitManager ( uint16_t  if_id,
uint32_t  num_entries 
)

Event on IGMP manager initialize (Op)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_Join()

__STATIC_INLINE void EvrNetIGMP_Join ( uint16_t  if_id,
const uint8_t *  ip4_addr 
)

Event on IGMP join group membership (API)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_Leave()

__STATIC_INLINE void EvrNetIGMP_Leave ( uint16_t  if_id,
const uint8_t *  ip4_addr 
)

Event on IGMP leave group membership (API)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_MaxTimeForReport()

__STATIC_INLINE void EvrNetIGMP_MaxTimeForReport ( uint16_t  if_id,
uint8_t  max_time 
)

Event on IGMPv2 maximum time for report messages (Op)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_NoFreeEntries()

__STATIC_INLINE void EvrNetIGMP_NoFreeEntries ( uint16_t  if_id,
uint8_t  num_used 
)

Event on IGMP 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 netIGMP_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.

◆ EvrNetIGMP_NotInGroup()

__STATIC_INLINE void EvrNetIGMP_NotInGroup ( uint16_t  if_id,
const uint8_t *  ip4_addr 
)

Event on IGMP leave not a member (Error)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_OwnReportCanceled()

__STATIC_INLINE void EvrNetIGMP_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 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:

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

◆ EvrNetIGMP_ReceiveFrame()

__STATIC_INLINE void EvrNetIGMP_ReceiveFrame ( uint16_t  if_id,
uint8_t  message_type,
uint32_t  length 
)

Event on IGMP receive frame (Op)

Parameters
if_idnetwork interface identifier
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:

  • netif: network interface identifier.
  • type: type of received message (QUERY, REPORT_V1, REPORT_V2, LEAVE_V2, REPORT_V3).
  • len: length of the received frame in bytes.

◆ EvrNetIGMP_ReportReceived()

__STATIC_INLINE void EvrNetIGMP_ReportReceived ( uint16_t  if_id,
const uint8_t *  ip4_addr 
)

Event on IGMP received report message (Op)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_SendDelayedReport()

__STATIC_INLINE void EvrNetIGMP_SendDelayedReport ( uint16_t  if_id,
const uint8_t *  ip4_addr 
)

Event on IGMP send delayed report message (Op)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_SendLeave()

__STATIC_INLINE void EvrNetIGMP_SendLeave ( uint16_t  if_id,
const uint8_t *  ip4_addr 
)

Event on IGMP send leave message (Op)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_SendReport()

__STATIC_INLINE void EvrNetIGMP_SendReport ( uint16_t  if_id,
const uint8_t *  ip4_addr 
)

Event on IGMP send report message (Op)

Parameters
if_idnetwork interface identifier
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:

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

◆ EvrNetIGMP_StartModeIGMPv1()

__STATIC_INLINE void EvrNetIGMP_StartModeIGMPv1 ( uint16_t  if_id)

Event on start IGMPv1 mode (Op)

Parameters
if_idnetwork interface identifier

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

Value in the Event Recorder shows:

  • netif: network interface identifier.

◆ EvrNetIGMP_StartModeIGMPv2()

__STATIC_INLINE void EvrNetIGMP_StartModeIGMPv2 ( uint16_t  if_id)

Event on start IGMPv2 mode (Op)

Parameters
if_idnetwork interface identifier

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

Value in the Event Recorder shows:

  • netif: network interface identifier.

◆ EvrNetIGMP_UninitManager()

__STATIC_INLINE void EvrNetIGMP_UninitManager ( uint16_t  if_id)

Event on IGMP manager de-initialize (Op)

Parameters
if_idnetwork interface identifier

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

Value in the Event Recorder shows:

  • netif: network interface identifier.