Namespace inet
PacketProtocolTag
classThis 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 |
Shared Tagging operations (observed)
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