mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
25 lines
1.2 KiB
C
25 lines
1.2 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#define ETH_ADDR_LEN (6) /* MAC Address length */
|
|
#define ETH_HEADER_LEN (14) /* Ethernet frame header size: Dest addr(6 Bytes) + Src addr(6 Bytes) + length/type(2 Bytes) */
|
|
#define ETH_VLAN_TAG_LEN (4) /* Optional 802.1q VLAN Tag length */
|
|
#define ETH_CRC_LEN (4) /* Ethernet frame CRC length */
|
|
|
|
#define ETH_MAX_PAYLOAD_LEN (1500) /* Maximum Ethernet payload size */
|
|
#define ETH_MIN_PAYLOAD_LEN (46) /* Minimum Ethernet payload size */
|
|
#define ETH_JUMBO_FRAME_PAYLOAD_LEN (9000) /* Jumbo frame payload size */
|
|
#define ETH_MAX_PACKET_SIZE (ETH_HEADER_LEN + ETH_VLAN_TAG_LEN + ETH_MAX_PAYLOAD_LEN + ETH_CRC_LEN) /* Maximum frame size (1522 Bytes) */
|
|
#define ETH_MIN_PACKET_SIZE (ETH_HEADER_LEN + ETH_MIN_PAYLOAD_LEN + ETH_CRC_LEN) /* Minimum frame size (64 Bytes) */
|
|
|
|
#define ETH_IEEE802_3_MAX_LEN 0x05DC /* Maximum length of IEEE802.3 frame stored in Length/Ethtype field */
|
|
|
|
/* EtherTypes */
|
|
#define ETH_T_8021Q 0x8100 /* 802.1Q VLAN tag */
|
|
#define ETH_T_8021AD 0x88A8 /* 802.1ad Service VLAN (double vlan tag) */
|