PacketProtocolTag

Namespace inet

PacketProtocolTag

class

C++ definition

This tag specifies the protocol of the packet.

Packet processing at the sender ===============================

| ApplicationData | whole packet has no protocol data part has no protocol

| UdpHeader ApplicationData | whole packet has UDP protocol data part has UDP protocol

| Ipv4Header UdpHeader ApplicationData | whole packet has IPv4 protocol data part has IPv4 protocol

EthernetMacHeader | Ipv4Header UdpHeader ApplicationData | whole packet has incomplete Ethernet protocol data part has IPv4 protocol

EthernetMacHeader | Ipv4Header UdpHeader ApplicationData | EthernetPadding EthernetFcs whole packet has Ethernet protocol data part has IPv4 protocol

| EthernetMacHeader Ipv4Header UdpHeader ApplicationData EthernetPadding EthernetFcs | whole packet has Ethernet protocol data part has Ethernet protocol

Packet processing at the receiver =================================

| EthernetMacHeader Ipv4Header UdpHeader ApplicationData EthernetPadding EthernetFcs | whole packet has Ethernet protocol data part has Ethernet protocol

EthernetMacHeader Ipv4Header UdpHeader ApplicationData EthernetPadding | EthernetFcs whole packet has Ethernet protocol data part has no protocol

EthernetMacHeader | Ipv4Header UdpHeader ApplicationData | EthernetPadding EthernetFcs whole packet has Ethernet protocol data part has IPv4 protocol

EthernetMacHeader Ipv4Header | UdpHeader ApplicationData | EthernetPadding EthernetFcs whole packet has Ethernet protocol data part has UDP protocol

EthernetMacHeader Ipv4Header UdpHeader | ApplicationData | EthernetPadding EthernetFcs whole packet has Ethernet protocol data part has no protocol

Extends

Name Type Description
ProtocolTagBase (unknown -- not in documented files)

Fields

Name Type Description
frontOffset b

extra offset relative to the packet data part front offset

backOffset b

extra offset relative to the packet data part back offset

Source code

//
// This tag specifies the protocol of the packet.
//
// Packet processing at the sender
// ===============================
//
// | ApplicationData |
//     whole packet has no protocol
//     data part has no protocol
//
// | UdpHeader ApplicationData |
//     whole packet has UDP protocol
//     data part has UDP protocol
//
// | Ipv4Header UdpHeader ApplicationData |
//     whole packet has IPv4 protocol
//     data part has IPv4 protocol
//
// EthernetMacHeader | Ipv4Header UdpHeader ApplicationData |
//     whole packet has incomplete Ethernet protocol
//     data part has IPv4 protocol
//
// EthernetMacHeader | Ipv4Header UdpHeader ApplicationData | EthernetPadding EthernetFcs
//     whole packet has Ethernet protocol
//     data part has IPv4 protocol
//
// | EthernetMacHeader Ipv4Header UdpHeader ApplicationData EthernetPadding EthernetFcs |
//     whole packet has Ethernet protocol
//     data part has Ethernet protocol
//
// Packet processing at the receiver
// =================================
//
// | EthernetMacHeader Ipv4Header UdpHeader ApplicationData EthernetPadding EthernetFcs |
//     whole packet has Ethernet protocol
//     data part has Ethernet protocol
//
// EthernetMacHeader Ipv4Header UdpHeader ApplicationData EthernetPadding | EthernetFcs
//     whole packet has Ethernet protocol
//     data part has no protocol
//
// EthernetMacHeader | Ipv4Header UdpHeader ApplicationData | EthernetPadding EthernetFcs
//     whole packet has Ethernet protocol
//     data part has IPv4 protocol
//
// EthernetMacHeader Ipv4Header | UdpHeader ApplicationData | EthernetPadding EthernetFcs
//     whole packet has Ethernet protocol
//     data part has UDP protocol
//
// EthernetMacHeader Ipv4Header UdpHeader | ApplicationData | EthernetPadding EthernetFcs
//     whole packet has Ethernet protocol
//     data part has no protocol
//
class PacketProtocolTag extends ProtocolTagBase
{
    b frontOffset = b(0); // extra offset relative to the packet data part front offset
    b backOffset = b(0); // extra offset relative to the packet data part back offset
}

File: src/inet/common/ProtocolTag.msg