Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
mld.c File Reference
MLD (Multicast Listener Discovery for IPv6) More...
Go to the source code of this file.
Functions | |
| error_t | mldInit (NetInterface *interface) |
| MLD initialization. | |
| error_t | mldStartListening (NetInterface *interface, Ipv6FilterEntry *entry) |
| Start listening to the address on the interface. | |
| error_t | mldStopListening (NetInterface *interface, Ipv6FilterEntry *entry) |
| Stop listening to the address on the interface. | |
| void | mldTick (NetInterface *interface) |
| MLD timer handler. | |
| void | mldLinkChangeEvent (NetInterface *interface) |
| Callback function for link change event. | |
| void | mldProcessListenerQuery (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit) |
| Process incoming Multicast Listener Query message. | |
| void | mldProcessListenerReport (NetInterface *interface, Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, uint8_t hopLimit) |
| Process incoming Multicast Listener Report message. | |
| error_t | mldSendListenerReport (NetInterface *interface, Ipv6Addr *ipAddr) |
| Send Multicast Listener Report message. | |
| error_t | mldSendListenerDone (NetInterface *interface, Ipv6Addr *ipAddr) |
| Send Multicast Listener Done message. | |
| uint32_t | mldRand (uint32_t max) |
| Get a random value in the specified range. | |
| void | mldDumpMessage (const MldMessage *message) |
| Dump MLD message for debugging purpose. | |
Detailed Description
MLD (Multicast Listener Discovery for IPv6)
License
Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Description
MLD is used by an IPv6 router to discover the presence of multicast listeners on its directly attached links, and to discover specifically which multicast addresses are of interest to those neighboring nodes. Refer to the following RFCs for complete details:
- RFC 2710: Multicast Listener Discovery (MLD) for IPv6
- RFC 3810: Multicast Listener Discovery Version 2 (MLDv2) for IPv6
- Version:
- 1.7.6
Definition in file mld.c.
Function Documentation
| void mldDumpMessage | ( | const MldMessage * | message ) |
| error_t mldInit | ( | NetInterface * | interface ) |
| void mldLinkChangeEvent | ( | NetInterface * | interface ) |
| void mldProcessListenerQuery | ( | NetInterface * | interface, |
| Ipv6PseudoHeader * | pseudoHeader, | ||
| const NetBuffer * | buffer, | ||
| size_t | offset, | ||
| uint8_t | hopLimit | ||
| ) |
Process incoming Multicast Listener Query message.
- Parameters:
-
[in] interface Underlying network interface [in] pseudoHeader IPv6 pseudo header [in] buffer Multi-part buffer containing the incoming MLD message [in] offset Offset to the first byte of the MLD message [in] hopLimit Hop Limit field from IPv6 header
| void mldProcessListenerReport | ( | NetInterface * | interface, |
| Ipv6PseudoHeader * | pseudoHeader, | ||
| const NetBuffer * | buffer, | ||
| size_t | offset, | ||
| uint8_t | hopLimit | ||
| ) |
Process incoming Multicast Listener Report message.
- Parameters:
-
[in] interface Underlying network interface [in] pseudoHeader IPv6 pseudo header [in] buffer Multi-part buffer containing the incoming MLD message [in] offset Offset to the first byte of the MLD message [in] hopLimit Hop Limit field from IPv6 header
| uint32_t mldRand | ( | uint32_t | max ) |
| error_t mldSendListenerDone | ( | NetInterface * | interface, |
| Ipv6Addr * | ipAddr | ||
| ) |
| error_t mldSendListenerReport | ( | NetInterface * | interface, |
| Ipv6Addr * | ipAddr | ||
| ) |
| error_t mldStartListening | ( | NetInterface * | interface, |
| Ipv6FilterEntry * | entry | ||
| ) |
| error_t mldStopListening | ( | NetInterface * | interface, |
| Ipv6FilterEntry * | entry | ||
| ) |
Generated on Tue Jul 12 2022 17:10:21 by
1.7.2