Wireshark-dev: [Wireshark-dev] Wireshark dissector does not match spec for IEEE P802.1AS-Rev/D8

From: Ari Timonen <Ari.Timonen@xxxxxxxxxxxx>
Date: Wed, 20 Jan 2021 10:46:32 +0000

Hello,

The time synchronization protocol IEEE P802.1AS dissector does not parse TLV flags correctly.

The specification IEEE P802.1AS-Rev/D8.0 page 155 has the correct TLV flags.

1. The computeNeighbourRateRatio is first bit not second.

2. The computeMeanLink delay is the second bit
3. The oneStepReceiveCapable is the third bit.
4. The computeNeighborPropDelay flag does not exist.

It could be because the packet is dissected as PTP2 packet.

Precision Time Protocol (IEEE1588)

    0001 .... = transportSpecific: 0x1

        ...1 .... = 802.1as conform: True

    .... 1100 = messageId: Signalling Message (0xc)

    0001 .... = Reserved: 1

    .... 0010 = versionPTP: 2

    messageLength: 60

    subdomainNumber: 0

    Reserved: 0

    flags: 0x0008

        0... .... .... .... = PTP_SECURITY: False

        .0.. .... .... .... = PTP profile Specific 2: False

        ..0. .... .... .... = PTP profile Specific 1: False

        .... .0.. .... .... = PTP_UNICAST: False

        .... ..0. .... .... = PTP_TWO_STEP: False

        .... ...0 .... .... = PTP_ALTERNATE_MASTER: False

        .... .... ..0. .... = FREQUENCY_TRACEABLE: False

        .... .... ...0 .... = TIME_TRACEABLE: False

        .... .... .... 1... = PTP_TIMESCALE: True

        .... .... .... .0.. = PTP_UTC_REASONABLE: False

        .... .... .... ..0. = PTP_LI_59: False

        .... .... .... ...0 = PTP_LI_61: False

    correction: 0.000000 nanoseconds

        correction: Ns: 0 nanoseconds

        correctionSubNs: 0 nanoseconds

    Reserved: 0

    ClockIdentity: 0xacde48234567abcd

    SourcePortID: 1

    sequenceId: 1

    control: Sync Message (0)

    logMessagePeriod: 127

    targetPortIdentity: 0xffffffffffffffff

    targetPortId: 65535

    Message Interval Request TLV

        tlvType: Organization extension (3)

        lengthField: 12

        organizationId: IEEE 802 (0x0080c2)

        OrganizationSubType: 2

        linkDelayInterval: 13

        timeSyncInterval: 14

        announceInterval: 15

        flags: 0x07

            .... ..1. = computeNeighborRateRatio: True

            .... .1.. = computeNeighborPropDelay: True

Yours,
Ari Timonen