igmp_snooping.c
Go to the documentation of this file.
Debugging facilities.
void igmpSnoopingTick(IgmpSnoopingContext *context)
IGMP snooping switch timer handler.
Definition: igmp_snooping.c:255
void igmpSnoopingGetDefaultSettings(IgmpSnoopingSettings *settings)
Initialize settings with default values.
Definition: igmp_snooping.c:62
error_t igmpSnoopingStop(IgmpSnoopingContext *context)
Stop IGMP snooping switch.
Definition: igmp_snooping.c:202
error_t igmpSnoopingInit(IgmpSnoopingContext *context, const IgmpSnoopingSettings *settings)
IGMP snooping switch initialization.
Definition: igmp_snooping.c:94
error_t igmpSnoopingStart(IgmpSnoopingContext *context)
Start IGMP snooping switch.
Definition: igmp_snooping.c:157
IGMP snooping switch.
@ IGMP_SNOOPING_GROUP_STATE_NO_MEMBERS_PRESENT
Definition: igmp_snooping.h:57
void igmpSnoopingUpdateStaticFdbEntry(IgmpSnoopingContext *context, Ipv4Addr groupAddr)
Update a entry of the static MAC table.
Definition: igmp_snooping_misc.c:578
uint32_t igmpSnoopingGetRouterPorts(IgmpSnoopingContext *context)
Definition: igmp_snooping_misc.c:697
void igmpSnoopingSetUnknownMcastFwdPorts(IgmpSnoopingContext *context, bool_t enable, uint32_t forwardPorts)
Set forward ports for unknown multicast packets.
Definition: igmp_snooping_misc.c:673
void igmpSnoopingDeleteGroup(IgmpSnoopingContext *context, IgmpSnoopingGroup *group)
Delete a multicast group.
Definition: igmp_snooping_misc.c:538
void igmpSnoopingEnableMonitoring(IgmpSnoopingContext *context, bool_t enable)
Enable IGMP monitoring.
Definition: igmp_snooping_misc.c:555
Helper functions for IGMP snooping switch.
IPv4 (Internet Protocol Version 4)
Helper functions for IPv4.
TCP/IP stack core.
bool_t netTimerExpired(NetTimer *timer)
Check whether the timer has expired.
Definition: net_misc.c:803
void osAcquireMutex(OsMutex *mutex)
Acquire ownership of the specified mutex object.
Definition: os_port_chibios.c:388
void osReleaseMutex(OsMutex *mutex)
Release ownership of the specified mutex object.
Definition: os_port_chibios.c:400
bool_t floodReports
Flood IGMP report messages to all ports (not only to router ports)
Definition: igmp_snooping.h:116
bool_t floodUnknownMulticastPackets
Flood unregistered multicast traffic to all ports.
Definition: igmp_snooping.h:117
NetInterface * interface
The primary interface on an attached network.
Definition: igmp_snooping.h:111
bool_t floodReports
Flood IGMP report messages to all ports (not only to router ports)
Definition: igmp_snooping.h:98
bool_t floodUnknownMulticastPackets
Flood unregistered multicast traffic to all ports.
Definition: igmp_snooping.h:99