Go to the documentation of this file.
   38 #ifndef MLD_TICK_INTERVAL 
   39    #define MLD_TICK_INTERVAL 200 
   40 #elif (MLD_TICK_INTERVAL < 10) 
   41    #error MLD_TICK_INTERVAL parameter is not valid 
   45 #ifndef MLD_ROBUSTNESS_VARIABLE 
   46    #define MLD_ROBUSTNESS_VARIABLE 2 
   47 #elif (MLD_ROBUSTNESS_VARIABLE < 1) 
   48    #error MLD_ROBUSTNESS_VARIABLE parameter is not valid 
   52 #ifndef MLD_UNSOLICITED_REPORT_INTERVAL 
   53    #define MLD_UNSOLICITED_REPORT_INTERVAL 10000 
   54 #elif (MLD_UNSOLICITED_REPORT_INTERVAL < 1000) 
   55    #error MLD_UNSOLICITED_REPORT_INTERVAL parameter is not valid 
   59 #ifndef MLD_OLDER_VERSION_QUERIER_PRESENT_TIMEOUT 
   60    #define MLD_OLDER_VERSION_QUERIER_PRESENT_TIMEOUT 400000 
   61 #elif (MLD_OLDER_VERSION_QUERIER_PRESENT_TIMEOUT < 1000) 
   62    #error MLD_OLDER_VERSION_QUERIER_PRESENT_TIMEOUT parameter is not valid 
   66 #ifndef MLD_V2_UNSOLICITED_REPORT_INTERVAL 
   67    #define MLD_V2_UNSOLICITED_REPORT_INTERVAL 1000 
   68 #elif (MLD_V2_UNSOLICITED_REPORT_INTERVAL < 1000) 
   69    #error MLD_V2_UNSOLICITED_REPORT_INTERVAL parameter is not valid 
   73 #ifndef MLD_MAX_MSG_SIZE 
   74    #define MLD_MAX_MSG_SIZE 1024 
   75 #elif (MLD_MAX_MSG_SIZE < 1) 
   76    #error MLD_MAX_MSG_SIZE parameter is not valid 
   80 #define MLD_HOP_LIMIT 1 
  115 #if defined(__CCRX__) 
  117 #elif defined(__CWCC__) || defined(_WIN32) 
  118    #pragma pack(push, 1) 
  149 #if defined(_CPU_BIG_ENDIAN) && !defined(__ICCRX__) 
  194 #if defined(__CCRX__) 
  196 #elif defined(__CWCC__) || defined(_WIN32) 
  
MldMcastAddrRecordType
MLDv2 multicast address record types.
void mldProcessMessage(NetInterface *interface, const Ipv6PseudoHeader *pseudoHeader, const NetBuffer *buffer, size_t offset, const NetRxAncillary *ancillary)
Process incoming MLD message.
Structure describing a buffer that spans multiple chunks.
uint32_t mldDecodeFloatingPointValue8(uint8_t code)
Decode a floating-point value (8-bit code)
@ MLD_MCAST_ADDR_RECORD_TYPE_IS_EX
systime_t mldGetRandomDelay(systime_t maxDelay)
Generate a random delay.
@ MLD_MCAST_ADDR_RECORD_TYPE_IS_IN
@ MLD_MCAST_ADDR_RECORD_TYPE_TO_IN
error_t mldInit(NetInterface *interface)
MLD initialization.
error_t mldSendMessage(NetInterface *interface, const Ipv6Addr *destAddr, NetBuffer *buffer, size_t offset)
Send MLD message.
typedef __packed_struct
MLD message.
uint16_t numOfMcastAddrRecords
uint8_t mcastAddrRecords[]
uint32_t systime_t
System time.
uint32_t mldDecodeFloatingPointValue16(uint16_t code)
Decode a floating-point value (16-bit code)
@ MLD_MCAST_ADDR_RECORD_TYPE_TO_EX
void mldLinkChangeEvent(NetInterface *interface)
Callback function for link change event.
@ MLD_MCAST_ADDR_RECORD_TYPE_BLOCK
void mldTick(NetInterface *interface)
MLD node timer handler.
@ MLD_MCAST_ADDR_RECORD_TYPE_ALLOW
const Ipv6Addr MLD_V2_ALL_ROUTERS_ADDR