Re: [dna] Pseudocode for Simple DNA (Providing text to resolve issue #10)

"JinHyeock Choi" <jinchoe@gmail.com> Tue, 07 October 2008 17:16 UTC

Return-Path: <dna-bounces@ietf.org>
X-Original-To: dna-archive@lists.ietf.org
Delivered-To: ietfarch-dna-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 293EA3A6AEA; Tue, 7 Oct 2008 10:16:22 -0700 (PDT)
X-Original-To: dna@core3.amsl.com
Delivered-To: dna@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 4E03D3A6AEA for <dna@core3.amsl.com>; Tue, 7 Oct 2008 10:16:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dlPVmLUF35rZ for <dna@core3.amsl.com>; Tue, 7 Oct 2008 10:16:20 -0700 (PDT)
Received: from wf-out-1314.google.com (wf-out-1314.google.com [209.85.200.171]) by core3.amsl.com (Postfix) with ESMTP id 4B4EE3A690B for <dna@ietf.org>; Tue, 7 Oct 2008 10:16:20 -0700 (PDT)
Received: by wf-out-1314.google.com with SMTP id 27so3719349wfd.31 for <dna@ietf.org>; Tue, 07 Oct 2008 10:16:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=dtVMvSQvlCcN7LqNpvzJbrUyneoL3I9OWIGaokQzIW4=; b=g95b2py0R4ihaFlBr/ZSC0jLeW2SVNdLWbfrN8ALRsQlL3LlJeXbdkKWsa8cypXePL j7Q7Y4/ZSal3lrBPTmyP2LJdLX+YVqnHdaKdI8cKcX0z06PyVeIxujq2bLV0YHnc7Yn6 hpWALVOyNJ1jBZJeg7DqnQ7BtRdxY8KNIRSFI=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=E0g3O6roVZhta3oegd9Y2rXQvwQJ2d9Ht3TPlZ+MH1pABpUuo4/yKnIm4lJ/KbP4nF cjTcc9Tx3bGisvHVaHkUUuQCVgBO5OAajrijfk7LbdIdBNF4rKvr2d0ZDOfl5DARiWaz 7Z4sPEDN5rpQLbOEawwqU7YUTyhuMvSjWYuTM=
Received: by 10.141.27.16 with SMTP id e16mr4102632rvj.136.1223399795501; Tue, 07 Oct 2008 10:16:35 -0700 (PDT)
Received: by 10.141.37.20 with HTTP; Tue, 7 Oct 2008 10:16:35 -0700 (PDT)
Message-ID: <92e919fb0810071016i544edf65i364339d03c09d3ef@mail.gmail.com>
Date: Wed, 08 Oct 2008 02:16:35 +0900
From: JinHyeock Choi <jinchoe@gmail.com>
To: Suresh Krishnan <suresh.krishnan@ericsson.com>
In-Reply-To: <48DAA2F7.1000502@ericsson.com>
MIME-Version: 1.0
Content-Disposition: inline
References: <48DAA2F7.1000502@ericsson.com>
Cc: dna@ietf.org
Subject: Re: [dna] Pseudocode for Simple DNA (Providing text to resolve issue #10)
X-BeenThere: dna@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: DNA working group mailing list <dna.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/dna>, <mailto:dna-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/dna>
List-Post: <mailto:dna@ietf.org>
List-Help: <mailto:dna-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dna>, <mailto:dna-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: dna-bounces@ietf.org
Errors-To: dna-bounces@ietf.org

> Hi Folks,
>
>  I propose to add the following text to a new section called
> "Pseudocode for Simple DNA" to resolve issue #10. The pseudocode is written
> in an imaginary language and any resemblance to real programming languages
> is unintentional.
>
>
> 6.  Pseudocode for Simple DNA
>
>       /* Link up indication received on INTERFACE */
>       /* Start Simple DNA process */
>
>       /* Mark All Addresses as deprecated */
>       Configured_Address_List=Get_Address_List(INTERFACE);
>       foreach Configured_Address in Configured_Address_List
>       {
>         if (Get_Address_State(Configured_Address)!=AS_TENTATIVE)
>         {
>           Set_Address_State(Configured_Address,AS_DEPRECATED);
>         }
>       }
>
>       /* Mark all routers' NC entries as STALE to speed up */
>       /* acquisition of new router if link change has occurred */
>       foreach Router_Address in DEFAULT_ROUTER_LIST
>       {
>         NCEntry=Get_Neighbor_Cache_Entry(Router_Address);
>         Set_Neighbor_Cache_Entry_State(NCEntry,NCS_STALE);
>       }
>
>       /* Thread A : Send Router Solicitation */
>       RS_Target_Address=FF02::2;
>       RS_Source_Address=Get_Any_Link_Local_Address(INTERFACE);
>       Send_Router_Solicitation(RS_Source_Address,RS_Target_Address);
>
>       /* Thread B : Send Neighbor Solicitation(s) */
>       Previously_Known_Router_List=Get_Router_List_from_SDAT();
>       NS_Source_Address=Get_Any_Link_Local_Address(INTERFACE);
>
>       foreach Router_Address in Previously_Known_Router_List
>       {
>         if (Get_Any_Valid_Address_from_SDAT(Router_Address))
>         {
>           Send_Neighbor_Solicitation(NS_Source_Address,Router_Address);
>         }
>       }
>
>       /* Thread C : Response collection */
>
>       /* Received Router Advertisement processing */
>       /* Only for RAs received as response to DNA RSs */
>
>       L3_Source=Get_L3_Source(RECEIVED_MESSAGE);
>       L2_Source=Get_L2_Source(RECEIVED_MESSAGE);
>       SDAT_Entry_List=Get_Entries_from_SDAT_L2L3(L3_Source,L2_Source));
>       foreach SDAT_Entry in SDAT_Entry_List
>       {
>         if (Exists_PIO(RECEIVED_MESSAGE,Get_Prefix(SDAT_Entry)))
>         {
>           /* Address is operable. Configure on Interface */
>           /* Rejoin solicited-node multicast group for address */
>         }
>         else
>         {
>           /* If address is configured on interface, remove it */
>           /* This could be because of a NA arriving before RA */
>         }
>       }
>
>       /* Mark router as reachable */
>       NCEntry=Get_Neighbor_Cache_Entry(L3_Source);
>       if (NCEntry is not NULL)
>       {
>         Set_Neighbor_Cache_Entry_State(NCEntry,NCS_REACHABLE);
>       }
>       else
>       {
>         Create_Neighbor_Cache_Entry(L3_Source,NCS_REACHABLE);
>       }
>
>       /* Ignore further NAs from this router */
>       Add_Router_to_NA_Ignore_List(L3_Source);
>
>
>       /* Received Neighbor Advertisement processing */
>       /* Only for NAs received as response to DNA NSs */
>
>       L3_Source=Get_L3_Source(RECEIVED_MESSAGE);
>       L2_Source=Get_L2_Source(RECEIVED_MESSAGE);
>
>       if (Is_Router_on_NA_Ignore_List(L3_Source)) {
>         /* Ignore message and wait for next message */
>         continue;
>       }
>
>       SDAT_Entry_List=Get_Entries_from_SDAT_L2L3(L3_Source,L2_Source));
>
>       foreach SDAT_Entry in SDAT_Entry_List
>       {
>           /* Address is operable. Configure on Interface */
>       }
>
>
> If you have any issues with this text, please respond to this mail on list.

thanks for your works. I'm struggling to decipher the codes.

Before making further comments, I'd like to ask one clarifying question.

When does DNA procedure stop?

What if NA arrives before RA?
Upon an NA's arrival,
does DNA procedure stop or keep waiting for an RA's arrival?

best regards

JinHyeock
_______________________________________________
dna mailing list
dna@ietf.org
https://www.ietf.org/mailman/listinfo/dna