Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages | Examples

Ethernet
[Base Protocols]

Collaboration diagram for Ethernet:


Detailed Description

RFC 894 IP over Ethernet.

These routines link the IP layer to the Ethernet driver. Applications do not directly use this.

Todo:
Multicast support.


Functions

void NutEtherInput (NUTDEVICE *dev, NETBUF *nb)
 Handle incoming Ethernet frames.
int NutEtherOutput (NUTDEVICE *dev, u_short type, u_char *ha, NETBUF *nb)
 Send Ethernet frame.


Function Documentation

void NutEtherInput NUTDEVICE dev,
NETBUF nb
 

Handle incoming Ethernet frames.

Splits the Ethernet frame into the data link and the network part. Then the frame is routed to the proper handler, based on the type field in the Ethernet header.

If the frame neither contains an IP nor an ARP type telegram, then it is silently discarded.

Note:
This routine is called by the device driver on incoming ethernet packets. Applications typically do not call this function.
Parameters:
dev Identifies the device that received the frame.
nb Pointer to a network buffer structure containing the ethernet frame.

int NutEtherOutput NUTDEVICE dev,
u_short  type,
u_char ha,
NETBUF nb
 

Send Ethernet frame.

Send an Ethernet frame of a given type using the specified device.

Parameters:
dev Identifies the device to use.
type Type of this frame, either ETHERTYPE_IP or ETHERTYPE_ARP.
ha MAC address of the destination, set null for broadcasts.
nb Network buffer structure containing the packet to be sent. The structure must have been allocated by a previous call NutNetBufAlloc() and will be freed if this function returns with an error.
Returns:
0 on success, -1 in case of any errors.


© 2000-2006 by egnite Software GmbH - visit http://www.ethernut.de/