www.beck-ipc.com

@CHIP-RTOS C Library - TCP/IP API


Add_IGMP_Membership

Install an IP multicast address entry.

int Add_IGMP_Membership ( const unsigned long far *MulticastIP,
                          const unsigned char far *MacAddress,
                          int *error );

Parameters

MulticastIP

Pointer to multicast IPv4 address in network byte order.

MacAddress

Pointer to a 6 byte array that contains the corresponding Ethernet address.

error

Output parameter:  Failure code, 0 on success.

Return Value

0: success
-1: See reported error code.

Comments

IP Multicasting is the Internet abstraction of hardware multicasting.   It allows transmission of IP datagrams to a group of hosts that form a single multicast group.   Membership in a multicast group is dynamic.   Hosts may join or leave the group at any time.   Each multicast group has unique IP multicast address (Class D address).   The first four bits of an IP multicast address must match to binary 1110.   IP multicast addresses range from 224.0.0.0 through 239.255.255.255.

For the usage of IP multicasting on an Ethernet interface, IP multicast addresses must be mapped to Ethernet hardware addresses.   The Ethernet device of the IPC@CHIP® will be switched into the Ethernet multicast mode.   In this mode it receives any incoming IP packet with the mapped Ethernet multicast address and forwards it to the TCP/IP layer.   Each IP multicast packet will be sent with the mapped Ethernet multicast address.

Because of the feature, that a multicast IP packet will be received by any member of a multicast group, sending and receiving of IP multicast packets is only usable with UDP sockets (datagram sockets).

After installing a IP multicast address with this API, the application programmer is able use this address as a destination address when sending datagrams.   A UDP socket is able to receive datagrams at the specified multicast address.

The maximum number of supported IP multicast addresses in the IPC@CHIP® is limited to 15.   Before installing an IP multicast address, you can find out the corresponding Ethernet multicast address with IPMulticast_to_MacAddr API.

This implementation does not support multicast routing.   Sending and receiving multicast datagrams works only at local network.
Using multicast addresses is only possible on the Ethernet interface.  

SC1x3/SC2x Comments

This API applies only to IPv4 multicast.

See Also

RTOS API

This library function invokes a RTOS software interrupt. Refer to this RTOS API function's documentation for more details.

Supported since or modified in @CHIP-RTOS version

    SC12SC13SC11SC1x3SC2x
    V1.02V1.00V1.00V0.90V1.00

This API List
List of C Libraries
@CHIP-RTOS Main Index


End of document