EthernetControlFrame.msg

Msg File src/inet/linklayer/ethernet/common/EthernetControlFrame.msg

Name Type Description
EthernetControlOpCode enum (no description)
EthernetControlFrameBase class

This is a base class for all IEEE 802.3 Ethernet control frames defined the IEEE Std 802.3-2018, IEEE Standard for Ethernet.

EthernetPauseFrame class

This class represents an IEEE 802.3 Ethernet MAC Pause frame as defined in the section 31.4.1 MAC Control frame format of the IEEE Std 802.3-2018, IEEE Standard for Ethernet.

Source code

//
// Copyright (C) 2020 OpenSim Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
//

import inet.common.INETDefs;
import inet.common.packet.chunk.Chunk;

namespace inet;

enum EthernetControlOpCode
{
    ETHERNET_CONTROL_PAUSE = 1;
}

//
// This is a base class for all IEEE 802.3 Ethernet control frames defined the
// IEEE Std 802.3-2018, IEEE Standard for Ethernet.
//
class EthernetControlFrameBase extends FieldsChunk
{
    int opCode = -1;
}

//
// This class represents an IEEE 802.3 Ethernet MAC Pause frame as defined in
// the section 31.4.1 MAC Control frame format of 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
// +-------------------------------+-------------------------------+
// |             OpCode            |           PauseTime           |
// +-------------------------------+-------------------------------+
//
class EthernetPauseFrame extends EthernetControlFrameBase
{
    chunkLength = B(4); // B(2) + B(2)
    opCode = ETHERNET_CONTROL_PAUSE;
    int pauseTime; // in 512 bit-time units
}