Webserver+3d print

Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

mld.h File Reference

mld.h File Reference

MLD (Multicast Listener Discovery for IPv6) More...

Go to the source code of this file.

Enumerations

enum  MldState
 

MLD node states.

More...

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.

Author:
Oryx Embedded SARL (www.oryx-embedded.com)
Version:
1.7.6

Definition in file mld.h.


Enumeration Type Documentation

enum MldState

MLD node states.

Definition at line 64 of file mld.h.


Function Documentation

void mldDumpMessage ( const MldMessage *  message )

Dump MLD message for debugging purpose.

Parameters:
[in]messagePointer to the MLD message

Definition at line 580 of file mld.c.

error_t mldInit ( NetInterface *  interface )

MLD initialization.

Parameters:
[in]interfaceUnderlying network interface
Returns:
Error code

Definition at line 62 of file mld.c.

void mldLinkChangeEvent ( NetInterface *  interface )

Callback function for link change event.

Parameters:
[in]interfaceUnderlying network interface

Definition at line 195 of file mld.c.

void mldProcessListenerQuery ( NetInterface *  interface,
Ipv6PseudoHeader *  pseudoHeader,
const NetBuffer buffer,
size_t  offset,
uint8_t  hopLimit 
)

Process incoming Multicast Listener Query message.

Parameters:
[in]interfaceUnderlying network interface
[in]pseudoHeaderIPv6 pseudo header
[in]bufferMulti-part buffer containing the incoming MLD message
[in]offsetOffset to the first byte of the MLD message
[in]hopLimitHop Limit field from IPv6 header

Definition at line 265 of file mld.c.

void mldProcessListenerReport ( NetInterface *  interface,
Ipv6PseudoHeader *  pseudoHeader,
const NetBuffer buffer,
size_t  offset,
uint8_t  hopLimit 
)

Process incoming Multicast Listener Report message.

Parameters:
[in]interfaceUnderlying network interface
[in]pseudoHeaderIPv6 pseudo header
[in]bufferMulti-part buffer containing the incoming MLD message
[in]offsetOffset to the first byte of the MLD message
[in]hopLimitHop Limit field from IPv6 header

Definition at line 368 of file mld.c.

uint32_t mldRand ( uint32_t  max )

Get a random value in the specified range.

Parameters:
[in]maxUpper bound
Returns:
Random value in the specified range

Definition at line 568 of file mld.c.

error_t mldSendListenerDone ( NetInterface *  interface,
Ipv6Addr *  ipAddr 
)

Send Multicast Listener Done message.

Parameters:
[in]interfaceUnderlying network interface
[in]ipAddrIPv6 address specifying the multicast address being left
Returns:
Error code

Definition at line 502 of file mld.c.

error_t mldSendListenerReport ( NetInterface *  interface,
Ipv6Addr *  ipAddr 
)

Send Multicast Listener Report message.

Parameters:
[in]interfaceUnderlying network interface
[in]ipAddrIPv6 address specifying the multicast address
Returns:
Error code

Definition at line 435 of file mld.c.

error_t mldStartListening ( NetInterface *  interface,
Ipv6FilterEntry entry 
)

Start listening to the address on the interface.

Parameters:
[in]interfaceUnderlying network interface
[in]entryIPv6 filter entry identifying the address to listen to
Returns:
Error code

Definition at line 76 of file mld.c.

error_t mldStopListening ( NetInterface *  interface,
Ipv6FilterEntry entry 
)

Stop listening to the address on the interface.

Parameters:
[in]interfaceUnderlying network interface
[in]entryIPv6 filter entry identifying the multicast address to leave
Returns:
Error code

Definition at line 125 of file mld.c.

void mldTick ( NetInterface *  interface )

MLD timer handler.

This routine must be periodically called by the TCP/IP stack to handle MLD related timers

Parameters:
[in]interfaceUnderlying network interface

Definition at line 152 of file mld.c.