IGMP protocol definitions. More...
Go to the source code of this file.
Data Structures | |
struct | igmp |
IGMP packet structure. More... | |
struct | igmpv3 |
IGMPv3 query format. More... | |
struct | igmp_grouprec |
IGMPv3 group record. More... | |
struct | igmp_report |
IGMPv3 report. More... | |
Defines | |
#define | IGMP_MINLEN 8 |
Minimum IGMP packet length. | |
#define | IGMP_MEMBERSHIP_QUERY 0x11 |
Membership query. | |
#define | IGMP_V1_MEMBERSHIP_REPORT 0x12 |
Ver. 1 membership report. | |
#define | IGMP_V2_MEMBERSHIP_REPORT 0x16 |
Ver. 2 membership report. | |
#define | IGMP_V3_MEMBERSHIP_REPORT 0x22 |
Ver. 3 membership report. | |
#define | IGMP_V2_LEAVE_GROUP 0x17 |
Leave-group message. | |
#define | IGMP_MAX_HOST_REPORT_DELAY 10 |
Maximum delay for response query. | |
#define | IGMP_TIMER_SCALE 10 |
Code field time scale. | |
#define | IGMP_EXCLUDE_LIST 1 |
List identifiers. | |
#define | IGMP_INCLUDE_LIST 2 |
#define | IGMP_RECORDED_LIST 3 |
Typedefs | |
typedef struct igmp | IGMP |
IGMP packet type. | |
typedef struct igmp_report | IGMP_REPORT |
Functions | |
void | NutIgmpInput (NUTDEVICE *dev, NETBUF *nb) |
Process incoming IGMP packets. | |
int | NutIgmpOutput (uint8_t type, uint32_t dest, NETBUF *nb) |
Send an IGMP datagram. | |
void | NutIgmpJoinGroup (NUTDEVICE *dev, uint32_t ip_addr) |
void | NutIgmpLeaveGroup (NUTDEVICE *dev, uint32_t ip_addr) |
IGMPv3 Report Types | |
#define | IGMP_REPORT_MODE_IN 1 |
Mode-is-include. | |
#define | IGMP_REPORT_MODE_EX 2 |
Mode-is-exclude. | |
#define | IGMP_REPORT_TO_IN 3 |
Change-to-include. | |
#define | IGMP_REPORT_TO_EX 4 |
Change-to-exclude. | |
#define | IGMP_REPORT_ALLOW_NEW 5 |
Allow-new-sources. | |
#define | IGMP_REPORT_BLOCK_OLD 6 |
Block-old-sources. | |
IGMPv3 Report Type Flags | |
#define | IGMP_MASK_CUR_STATE 0x01 |
Report current-state. | |
#define | IGMP_MASK_ALLOW_NEW 0x02 |
Report source as allow-new. | |
#define | IGMP_MASK_BLOCK_OLD 0x04 |
Report source as block-old. | |
#define | IGMP_MASK_TO_IN 0x08 |
Report source as to_in. | |
#define | IGMP_MASK_TO_EX 0x10 |
Report source as to_ex. | |
#define | IGMP_MASK_STATE_T1 0x20 |
State at T1. | |
#define | IGMP_MASK_STATE_T2 0x40 |
State at T2. | |
#define | IGMP_MASK_IF_STATE 0x80 |
Report current-state per interface. | |
#define | IGMP_MASK_STATE_TX (IGMP_MASK_STATE_T1 | IGMP_MASK_STATE_T2) |
#define | IGMP_MASK_PENDING (IGMP_MASK_CUR_STATE | IGMP_MASK_ALLOW_NEW | IGMP_MASK_BLOCK_OLD) |
IGMP protocol definitions.
Definition in file igmp.h.