⚠️ VeridianOS Kernel Documentation - This is low-level kernel code. All functions are unsafe unless explicitly marked otherwise. no_std

Module multicast

Module multicast 

Source
Expand description

Multicast group management with IGMP/MLD protocol support

Provides IPv4 multicast via IGMPv2 and IPv6 multicast via MLDv2, including group join/leave, periodic report generation, and query response handling.

Structs§

GroupState
State of a joined multicast group
IgmpMessage
IGMPv2 message (8 bytes on the wire)
MldAddressRecord
MLDv2 multicast address record
MldMessage
MLDv2 message header
MulticastGroup
IPv4 multicast group identifier
MulticastGroupV6
IPv6 multicast group identifier
MulticastManager
Manages multicast group memberships for IPv4 and IPv6.

Enums§

MulticastError
Errors from multicast operations
OutgoingMessage
Outgoing message produced by the manager (for the network layer to send)

Constants§

IGMP_LEAVE_GROUP
Leave Group
IGMP_MEMBERSHIP_QUERY
Membership Query
IGMP_MEMBERSHIP_REPORT
IGMPv2 Membership Report
MLD_QUERY
Multicast Listener Query
MLD_RECORD_ALLOW
Source-List-Change: allow new sources
MLD_RECORD_BLOCK
Source-List-Change: block old sources
MLD_RECORD_IS_EX
Current-State Record: Exclude mode
MLD_RECORD_IS_IN
Current-State Record: Include mode
MLD_RECORD_TO_EX
Filter-Mode-Change: to Exclude
MLD_RECORD_TO_IN
Filter-Mode-Change: to Include
MLD_REPORT_V2
MLDv2 Multicast Listener Report

Functions§

init
Initialize the global multicast manager.
internet_checksum
Compute the Internet checksum (RFC 1071) over a byte slice.
is_ipv4_multicast
Check if an IPv4 address is in the multicast range (224.0.0.0/4).
is_ipv6_multicast
Check if an IPv6 address is in the multicast range (ff00::/8).
with_manager
Access the global multicast manager.