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

EthernetPhyHeaderBase

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

b

rawBin

string[]

rawHex

string[]

regionTags

SharingRegionTagSet::TagBaseRegionTag[]

chunkLength

preambleType

EthernetPhyHeaderType

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