EthernetFragmentPhyHeader¶
Namespace: inet::physicallayer
class EthernetFragmentPhyHeader
This class represents an Ethernet fragment PHY header as defined in the IEEE Std 802.3-2018, IEEE Standard for Ethernet.
- 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
| Preamble (0x55) | + +—————+ | | SMD-Sx | +———————————————–+—————+
- 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
| Preamble (0x55) | + +—————+—————+ | | SMD-Cx | FragNumber | +——————————-+—————+—————+
Usage diagram¶
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
class |
This is a base class for all IEEE 802.3 Ethernet PHY headers defined the IEEE Std 802.3-2018, IEEE Standard for Ethernet. |
Fields¶
Name |
Type |
Description |
|---|---|---|
id |
int |
|
mutable |
bool |
|
complete |
bool |
|
correct |
bool |
|
properlyRepresented |
bool |
|
chunkLength |
||
rawBin |
string[] |
|
rawHex |
string[] |
|
regionTags |
||
chunkLength |
||
preambleType |
||
smdNumber |
uint8_t |
0-3, see SMD_Sx or SMD_Cx |
fragmentNumber |
uint8_t |
0-3 (real fragment number modulo 4) |
Properties¶
Name |
Value |
Description |
|---|---|---|
beforeChange |
handleChange() |
|
descriptor |
readonly |
|
existingClass |
||
packetData |
Source code¶
//
// This class represents an Ethernet fragment PHY header as defined in the IEEE
// Std 802.3-2018, IEEE Standard for Ethernet.
//
// 0 1 2 3
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
// +---------------------------------------------------------------+
// | Preamble (0x55) |
// + +---------------+
// | | SMD-Sx |
// +-----------------------------------------------+---------------+
//
// 0 1 2 3
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
// +---------------------------------------------------------------+
// | Preamble (0x55) |
// + +---------------+---------------+
// | | SMD-Cx | FragNumber |
// +-------------------------------+---------------+---------------+
//
class EthernetFragmentPhyHeader extends EthernetPhyHeaderBase
{
EthernetPhyHeaderType preambleType = SFD;
uint8_t smdNumber = 0; // 0-3, see SMD_Sx or SMD_Cx
uint8_t fragmentNumber = 0; // 0-3 (real fragment number modulo 4)
}
File: src/inet/physicallayer/wired/ethernet/EthernetPhyHeader.msg