Am 24.11.2015 um 17:32 schrieb Paul Kyzivat:
Henning,

On 11/24/15 10:09 AM, Henning Rogge wrote:
Am 24.11.2015 um 16:00 schrieb Paul Kyzivat:
So you are saying they are mutually exclusive: HELLO message by 9.4, all
other packets by 9.3. Can you make the text clearer about this. As
written it still could be interpreted as applying 9.3 to all packets,
including HELLO, and then applying 9.4 to HELLO packets. (Even though
this is nonsense if you think about it.)

No, it is NOT exclusive...

there is no Hello packet... there are just RFC5444 packets which might
contain one (or in theory multiple) NHDP HELLO messages.

Its the same with IP and UDP... every UDP header is contained in an IP
header. We are talking about two different levels of hierarchy.

DAT is processing both the RFC5444 packet header (which contains the
packet sequence number) of ALL RFC5444 packets and the message content
of the HELLO messages.

OK. But my confusion remains, because there seem to be duplicate actions
in both 9.3 and 9.4 that ought not be done twice. In particular:

9.3:
    1.  If L_DAT_last_pkt_seqno = UNDEFINED, then:

        1.  L_DAT_received[TAIL] := 1.

        2.  L_DAT_total[TAIL] := 1.

9.4:
    3.  If L_DAT_last_pkt_seqno = UNDEFINED, then:

        1.  L_DAT_received[TAIL] := L_DAT_received[TAIL] + 1.

        2.  L_DAT_total[TAIL] := L_DAT_total[TAIL] + 1.

So, if I do 9.3 for every packet, and then also do 9.4 for every HELLO
message within that packet, then I could end up incrementing
L_DAT_received[TAIL] *twice*.

     Thanks,
     Paul

If you look at the head of section 9.3 you will notice that this section will only be processed in the presence of a packet sequence number. One of the first things 9.3 does is to set the L_DAT_last_pkt_seqno variable.

The part of 9.4 dealing with L_DAT_received[] and L_DAT_total[] is the fallback strategy when the packet sequence number is missing. As soon as we see a packet sequence number from a neighbor, this codepath will be deactivated because the L_DAT_last_pkt_seqno variable will never be reset back to UNDEFINED.

See also section 4) for a more detailed explanation:

...
"The metric normally measures the loss of a link by tracking the incoming [RFC5444] packet sequence numbers. Without these packet
sequence numbers, the metric does calculate the loss of the link
based of received and lost [RFC5444] HELLO messages.  It uses the
incoming HELLO interval time (or if not present, the validity time)
to decide when a HELLO is lost."

Henning Rogge

--
Diplom-Informatiker Henning Rogge , Fraunhofer-Institut für
Kommunikation, Informationsverarbeitung und Ergonomie FKIE
Kommunikationssysteme (KOM)
Fraunhofer Straße 20, 53343 Wachtberg, Germany
Telefon +49 228 9435-961,   Fax +49 228 9435 685
mailto:henning.ro...@fkie.fraunhofer.de http://www.fkie.fraunhofer.de

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Gen-art mailing list
Gen-art@ietf.org
https://www.ietf.org/mailman/listinfo/gen-art

Reply via email to