[Anima] GRASP M_FLOOD captured from Reggie.py -- could it be wrong?

Michael Richardson <mcr+ietf@sandelman.ca> Sun, 13 December 2020 19:44 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DA6603A0418 for <anima@ietfa.amsl.com>; Sun, 13 Dec 2020 11:44:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.001
X-Spam-Level:
X-Spam-Status: No, score=0.001 tagged_above=-999 required=5 tests=[SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jPrHBWCgkgMm for <anima@ietfa.amsl.com>; Sun, 13 Dec 2020 11:44:02 -0800 (PST)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 845643A040B for <anima@ietf.org>; Sun, 13 Dec 2020 11:44:01 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 10F143898C; Sun, 13 Dec 2020 14:46:31 -0500 (EST)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id pYgWer4rpA7p; Sun, 13 Dec 2020 14:46:28 -0500 (EST)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id 67B503898B; Sun, 13 Dec 2020 14:46:28 -0500 (EST)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id A7C245D1; Sun, 13 Dec 2020 14:43:57 -0500 (EST)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: "Brian E. Carpenter" <brian.e.carpenter@gmail.com>, anima@ietf.org
X-Attribution: mcr
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature"
Date: Sun, 13 Dec 2020 14:43:57 -0500
Message-ID: <28780.1607888637@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/thw6sjyWaZKRrCmrxQz7KUP2zoY>
Subject: [Anima] GRASP M_FLOOD captured from Reggie.py -- could it be wrong?
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Dec 2020 19:44:05 -0000

I captured this from Reggie.py (diag output below) a few days ago:

[9, 3591865773, h'2607F0B0000F000200000000000005F7', 120000,
    [
      ["AN_join_registrar", 5, 1, "EST-TLS"],
      [103, h'2607F0B0000F000200000000000005F7', 6, 80]
    ]
]

(formatting is mine)

I'm confused by this.
    Objective-Name: "AN_join_registrar",
    objective-flags: 5,
    loop-count: 1,
    objective-value: "EST-TLS"

and then the locator-option starts with 103...?

I guess I'm still confused by why this is:
  [ [objective1],[locator2-option], [objective2],[locator2-option],...]

and not:
  [ [objective1, locator2-option], [objective2, locator2-option],...]

or maybe:
  [ [[objective1], [locator2-option]], [[objective2], [locator2-option]],...]


given that it says:
flood-message = [M_FLOOD, session-id, initiator, ttl,
                +[objective, (locator-option / [])]]

so I reviewed RFC8610 so under +[], which is section:
section 3.2 (Ocurrence). + => "one or more",
section 3.4 (Array).

I conclude that I think that Reggie.py is wrong.
I think that this is the same mistake that we made in BRSKI.

I am using the code at:
    commit cf716f69e74041081c3eb93131deefe43baea8bb (HEAD -> master, origin/master, origin/HEAD)
    Author: Brian E Carpenter <brian.e.carpenter@gmail.com>
    Date:   Tue Nov 17 12:28:14 2020 +1300

    Dummy AN-overview for redirect


The entire packet is captured as test data at:
  https://github.com/AnimaGUS-minerva/connect/blob/main/src/graspsamples.rs

what I saw:
85                                      # array(5)
   09                                   # unsigned(9)
   1A D61785AD                          # unsigned(3591865773)
   50                                   # bytes(16)
      2607F0B0000F000200000000000005F7  # "&\a\xF0\xB0\x00\x0F\x00\x02\x00\x00\x00\x00\x00\x00\x05\xF7"
   1A 0001D4C0                          # unsigned(120000)
   82                                   # array(2)
      84                                # array(4)
         71                             # text(17)
            414E5F6A6F696E5F726567697374726172 # "AN_join_registrar"
         05                             # unsigned(5)
         01                             # unsigned(1)
         67                             # text(7)
            4553542D544C53              # "EST-TLS"
      84                                # array(4)
         18 67                          # unsigned(103)
         50                             # bytes(16)
            2607F0B0000F000200000000000005F7 # "&\a\xF0\xB0\x00\x0F\x00\x02\x00\x00\x00\x00\x00\x00\x05\xF7"
         06                             # unsigned(6)
         18 50                          # unsigned(80)


What I think I should have seen:

[9, 3591865773, h'2607F0B0000F000200000000000005F7', 120000, [[["AN_join_registrar", 5, 1, "EST-TLS"], [103, h'2607F0B0000F000200000000000005F7', 6, 80]]]]

85                                      # array(5)
   09                                   # unsigned(9)
   1A D61785AD                          # unsigned(3591865773)
   50                                   # bytes(16)
      2607F0B0000F000200000000000005F7  # "&\a\xF0\xB0\x00\x0F\x00\x02\x00\x00\x00\x00\x00\x00\x05\xF7"
   1A 0001D4C0                          # unsigned(120000)
   81                                   # array(1)
      82                                # array(2)
         84                             # array(4)
            71                          # text(17)
               414E5F6A6F696E5F726567697374726172 # "AN_join_registrar"
            05                          # unsigned(5)
            01                          # unsigned(1)
            67                          # text(7)
               4553542D544C53           # "EST-TLS"
         84                             # array(4)
            18 67                       # unsigned(103)
            50                          # bytes(16)
               2607F0B0000F000200000000000005F7 # "&\a\xF0\xB0\x00\x0F\x00\x02\x00\x00\x00\x00\x00\x00\x05\xF7"
            06                          # unsigned(6)
            18 50                       # unsigned(80)



--
Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide