Hi,

I have aligned my Python demos** of the BRSKI discovery mechanisms with the -12 
draft.
Here are dumps of the received flood messages, with discussion:

(1) Flood sent by the registrar as received by the proxy. This is Python output
(so the b'...' strings are hexdumps of bytes objects.)

[9, 1729214102, b'2406e00741ec000128ccdc4c97036781', 120000, 
[['AN_join_registrar', 5, 255, 'EST-TLS'], [103, 
b'2406e00741ec000128ccdc4c97036781', 6, 80]]]

Nothing serious to report here. Since the draft only defines the 'EST-TLS'
form, I haven't included any alternatives. My code could also handle announcing
IP-in-IP for example. 

Compare to the example in the draft:

   [M_FLOOD, 12340815, h'fda379a6f6ee00000200000064000001', 180000,
               ["AN_join_registrar", 4, 255, "EST-TLS"],
               [O_IPv6_LOCATOR,
                    h'fda379a6f6ee00000200000064000001', TCP, 80]]

I'd prefer to see TCP represented as IPPROTO_TCP to align with the GRASP spec.
The other differences are unimportant (my network has global IPv6 addresses
instead of ULAs, I set the 'discoverable' flag bit, and I used a different 
timeout).

(2) Flood sent by the proxy as received by the pledge, also Python output.

[9, 160559994, b'2406e00741ec000128ccdc4c97036781', 180000, [['AN_proxy', 5, 1, 
''], [103, b'fe8000000000000028ccdc4c97036781', 6, 11805]]] 

Compare to the example in the draft:

   [M_FLOOD, 12340815, h'fe800000000000000000000000000001', 180000,
               ["AN_Proxy", 4, 1, ""],
               [O_IPv6_LOCATOR,
                    h'fe800000000000000000000000000001', 'TCP', 4443]]

Several comments:

1. The 3rd element is the 'initiator' address. The draft shows that as
a link-local. It doesn't matter too much, but my code uses a routeable
address. It's only there for disambiguation in a multi-hop flood,
which doesn't apply in this case. The address that matters is the second
one, in the locator. The packet itself is sent link-local.

2. 'TCP' shouldn't be a string, it should be IPPROTO_TCP as above.

3. The objective is defined as having a null value. Why isn't it
"EST-TLS" again?

** Code at https://github.com/becarpenter/graspy (Reggie.py, Procksy.py, 
Pledji.py)

Regards
   Brian

_______________________________________________
Anima mailing list
Anima@ietf.org
https://www.ietf.org/mailman/listinfo/anima

Reply via email to