Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
ethernet.c File Reference
Ethernet. More...
Go to the source code of this file.
Functions | |
error_t | ethInit (NetInterface *interface) |
Ethernet related initialization. | |
void | ethProcessFrame (NetInterface *interface, EthHeader *ethFrame, size_t length) |
Process an incoming Ethernet frame. | |
error_t | ethSendFrame (NetInterface *interface, const MacAddr *destAddr, NetBuffer *buffer, size_t offset, uint16_t type) |
Send an Ethernet frame. | |
error_t | ethCheckDestAddr (NetInterface *interface, const MacAddr *macAddr) |
Destination MAC address filtering. | |
error_t | ethAcceptMulticastAddr (NetInterface *interface, const MacAddr *macAddr) |
Add a multicast address to the MAC filter table. | |
error_t | ethDropMulticastAddr (NetInterface *interface, const MacAddr *macAddr) |
Remove a multicast address from the MAC filter table. | |
uint32_t | ethCalcCrc (const void *data, size_t length) |
Ethernet CRC calculation. | |
uint32_t | ethCalcCrcEx (const NetBuffer *buffer, size_t offset, size_t length) |
Calculate CRC over a multi-part buffer. | |
NetBuffer * | ethAllocBuffer (size_t length, size_t *offset) |
Allocate a buffer to hold an Ethernet frame. | |
error_t | macStringToAddr (const char_t *str, MacAddr *macAddr) |
Convert a string representation of a MAC address to a binary MAC address. | |
char_t * | macAddrToString (const MacAddr *macAddr, char_t *str) |
Convert a MAC address to a dash delimited string. | |
error_t | eui64StringToAddr (const char_t *str, Eui64 *eui64) |
Convert a string representation of an EUI-64 address to a binary EUI-64 address. | |
char_t * | eui64AddrToString (const Eui64 *eui64, char_t *str) |
Convert an EUI-64 address to a dash delimited string. | |
void | macAddrToEui64 (const MacAddr *macAddr, Eui64 *interfaceId) |
Map a MAC address to the IPv6 modified EUI-64 identifier. | |
void | ethDumpHeader (const EthHeader *ethHeader) |
Dump Ethernet header for debugging purpose. |
Detailed Description
Ethernet.
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.
- Version:
- 1.7.6
Definition in file ethernet.c.
Function Documentation
error_t ethAcceptMulticastAddr | ( | NetInterface * | interface, |
const MacAddr * | macAddr | ||
) |
Add a multicast address to the MAC filter table.
- Parameters:
-
[in] interface Underlying network interface [in] macAddr Multicast MAC address to accept
- Returns:
- Error code
Definition at line 472 of file ethernet.c.
NetBuffer* ethAllocBuffer | ( | size_t | length, |
size_t * | offset | ||
) |
Allocate a buffer to hold an Ethernet frame.
- Parameters:
-
[in] length Desired payload length [out] offset Offset to the first byte of the payload
- Returns:
- The function returns a pointer to the newly allocated buffer. If the system is out of resources, NULL is returned
Definition at line 729 of file ethernet.c.
uint32_t ethCalcCrc | ( | const void * | data, |
size_t | length | ||
) |
Ethernet CRC calculation.
- Parameters:
-
[in] data Pointer to the data over which to calculate the CRC [in] length Number of bytes to process
- Returns:
- Resulting CRC value
Definition at line 596 of file ethernet.c.
uint32_t ethCalcCrcEx | ( | const NetBuffer * | buffer, |
size_t | offset, | ||
size_t | length | ||
) |
Calculate CRC over a multi-part buffer.
- Parameters:
-
[in] buffer Pointer to the multi-part buffer [in] offset Offset from the beginning of the buffer [in] length Number of bytes to process
- Returns:
- Resulting CRC value
Definition at line 656 of file ethernet.c.
error_t ethCheckDestAddr | ( | NetInterface * | interface, |
const MacAddr * | macAddr | ||
) |
Destination MAC address filtering.
- Parameters:
-
[in] interface Underlying network interface [in] macAddr Destination MAC address to be checked
- Returns:
- Error code
Definition at line 417 of file ethernet.c.
error_t ethDropMulticastAddr | ( | NetInterface * | interface, |
const MacAddr * | macAddr | ||
) |
Remove a multicast address from the MAC filter table.
- Parameters:
-
[in] interface Underlying network interface [in] macAddr Multicast MAC address to drop
- Returns:
- Error code
Definition at line 542 of file ethernet.c.
void ethDumpHeader | ( | const EthHeader * | ethHeader ) |
Dump Ethernet header for debugging purpose.
- Parameters:
-
[in] ethHeader Pointer to the Ethernet header
Definition at line 1008 of file ethernet.c.
error_t ethInit | ( | NetInterface * | interface ) |
Ethernet related initialization.
- Parameters:
-
[in] interface Underlying network interface
- Returns:
- Error code
Definition at line 151 of file ethernet.c.
void ethProcessFrame | ( | NetInterface * | interface, |
EthHeader * | ethFrame, | ||
size_t | length | ||
) |
Process an incoming Ethernet frame.
- Parameters:
-
[in] interface Underlying network interface [in] ethFrame Incoming Ethernet frame to process [in] length Total frame length
Definition at line 169 of file ethernet.c.
error_t ethSendFrame | ( | NetInterface * | interface, |
const MacAddr * | destAddr, | ||
NetBuffer * | buffer, | ||
size_t | offset, | ||
uint16_t | type | ||
) |
Send an Ethernet frame.
- Parameters:
-
[in] interface Underlying network interface [in] destAddr MAC address of the destination host [in] buffer Multi-part buffer containing the payload [in] offset Offset to the first payload byte [in] type Ethernet type
- Returns:
- Error code
Definition at line 314 of file ethernet.c.
char_t* eui64AddrToString | ( | const Eui64 * | eui64, |
char_t * | str | ||
) |
Convert an EUI-64 address to a dash delimited string.
- Parameters:
-
[in] eui64 Pointer to the EUI-64 address [out] str NULL-terminated string representing the EUI-64 address
- Returns:
- Pointer to the formatted string
Definition at line 956 of file ethernet.c.
error_t eui64StringToAddr | ( | const char_t * | str, |
Eui64 * | eui64 | ||
) |
Convert a string representation of an EUI-64 address to a binary EUI-64 address.
- Parameters:
-
[in] str NULL-terminated string representing the EUI-64 address [out] eui64 Binary representation of the EUI-64 address
- Returns:
- Error code
Definition at line 867 of file ethernet.c.
void macAddrToEui64 | ( | const MacAddr * | macAddr, |
Eui64 * | interfaceId | ||
) |
Map a MAC address to the IPv6 modified EUI-64 identifier.
- Parameters:
-
[in] macAddr Host MAC address [out] interfaceId IPv6 modified EUI-64 identifier
Definition at line 981 of file ethernet.c.
char_t* macAddrToString | ( | const MacAddr * | macAddr, |
char_t * | str | ||
) |
Convert a MAC address to a dash delimited string.
- Parameters:
-
[in] macAddr Pointer to the MAC address [out] str NULL-terminated string representing the MAC address
- Returns:
- Pointer to the formatted string
Definition at line 843 of file ethernet.c.
error_t macStringToAddr | ( | const char_t * | str, |
MacAddr * | macAddr | ||
) |
Convert a string representation of a MAC address to a binary MAC address.
- Parameters:
-
[in] str NULL-terminated string representing the MAC address [out] macAddr Binary representation of the MAC address
- Returns:
- Error code
Definition at line 754 of file ethernet.c.
Generated on Tue Jul 12 2022 17:10:19 by
