Italo,

Your question is difficult to parse because:

  1) the example is long without an easy way to understand it.  For instance:

           Identities:
             +-- base-1
             |  +-- a
             |  +-- a1
             +-- base-2
                +-- b
                +-- b1

  2) the derived identities names aren’t logical.  For instance, this would’ve 
been easier to parse:

           Identities:
             +-- base-1
             |  +-- a1
             |  +-- a2
             +-- base-2
                +-- b1
                +-- b2

And the following even easier:

           Identities:
             +-- a
             |  +-- a1
             |  +-- a2
             +-- b
                +-- b1
                +-- b2

That said, see below:


> On Sep 23, 2020, at 5:00 AM, Italo Busi <[email protected]> wrote:
> 
> I have also another question about identityref with multiple base statements.
>  
> Let’s consider the following definitions:
>  
> identity base-1 {
>   description
>     "Base identity #1.";
> }
>  
> identity base-2 {
>   description
>     "Base identity #2.";
> }
>  
> identity a {
>   base base-1;
>   description
>     "Identity A.";
> }
>  
> identity a-1 {
>   base base-2;
>   base a;
>   description
>     "Identity A-1.";
> }
>  
> identity b {
>   base base-1;
>   description
>     "Identity B.";
> }
>  
> identity b-1 {
>   base base-2;
>   base b;
>   description
>     "Identity B-1.";
> }
>  
> And the following identityrefs:
>  
> leaf reference-1 {
>   type identityref {
>     base base-1;
>   }
>   description
>     "Reference to an identity #1.";
> }
>  
> leaf reference-2 {
>   type identityref {
>     base base-2;
>   }                 
>   description
>     "Reference to an identity #2.";
> }
>  
> In this case, my understanding is that all the possible pairs (a, a-1), (a, 
> b-1), (a-1, a-1), (a-1, b-1), (b, a-1), (b, b-1), (b-1, a-1) and (b-1, b-1) 
> would be valid values for reference-1 and reference-2.
>  
> Is my understanding correct?

Reference-1 can be any of: "base-1", “a”, and “”a1”
Reference-2 can be any of: “base-2", “b”, and “”b1”
 
A total of 9 combinations.  You only list 8 and none of them include “base-1” 
or “base-2”, so no, it doesn’t look correct.


> Is there a way to restrict the possible values for reference-1 and 
> reference-2 to a limited subset like (a, a-1) or (b, b-1)?
>  
> For example, would this code be valid?
>  
> leaf reference-2 {
>   type identityref {
>     base base-2;
>   }
>   must 'derived-from(../reference-2, ../reference-1)';
>   description
>     "Reference to an identity #2.";
> }
>  
> If not, is there any other option to restrict the possible values for 
> reference-1 and reference-2?

“must” expressions can be used.  For instance, the ssh-client-server draft 
includes the line:

        must 'public-key-format = "ct:ssh-public-key-format”'
        
        note: "public-key-format” is an identity.

I don’t know about your particular goal, but “must” expressions are incredibly 
powerful and likely can achieve what is needed.

K.  // contributor


>  
> Thanks, Italo
>  
> Italo Busi
> Principal Optical Transport Network Research Engineer
>  
> <image001.jpg>
> ____________________________________________________________________
>  
> Huawei Technologies Italia S.r.l.
> Address: Centro Direzionale Milano 2, Palazzo Verrocchio, 20090 Segrate (MI)
> Tel: +39 345 4721946 - Mobile: [email protected] 
> <mailto:[email protected]>
>  
> __________________________________________________________________________________
> Huawei Technologies Italia S.r.l. is a company registered in Italy at the 
> Company Registration Office of Milan, with registered number 04501190963 and 
> equity capital €3,000,000 fully paid up, whose registered office is in Milan, 
> Via Lorenteggio 240, Tower A, 20147 Milan, Italy. Huawei Technologies Italia 
> S.r.l. is 100% owned by Huawei Technologies Cooperatief U.A.  
> CONAI Reg. No. cc 12639454 - A.E.E. Registry No. IT10010000006521 - Batteries 
> and Accumulators Registry No. IT12050P00002839.
> ________________________________________________________________________________________________________________________
> This e-mail and its attachments contain confidential information from HUAWEI, 
> which is intended only for the person or entity whose address is listed 
> above. Any use of the information contained herein in any way (including, but 
> not limited to, total or partial disclosure, reproduction, or dissemination) 
> by persons other than the intended recipient(s) is prohibited. If you receive 
> this e-mail in error, please notify the sender by phone or email immediately 
> and delete it! Thank you.
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> PRIVACY NOTICE: Pursuant to Art. 13 of the General Data Protection Regulation 
> 2016/679 (GDPR), Huawei Technologies Italia S.r.l. informs you that the 
> personal data contained in this email will be collected and treated for the 
> acquisition of information preliminary to the conclusion of contracts, for 
> the definition of the contractual relationship, as well as for the 
> fulfillment of legal requirements related to civil, tax and accounting law or 
> any other legal obligation to which Huawei may be subject. Personal data will 
> not be subject to disclosure and spread unless otherwise required by law. 
> Huawei will take appropriate security measures to protect personal data 
> against loss, misuse disclosure or destruction of the information. Personal 
> Data held may be transferred to countries outside the European Union, however 
> Huawei Italia has put in place appropriate safeguards for the transfer of 
> personal data to third countries by adopting the standard data protection 
> clauses of the EU Commission. Personal Data are kept for a period necessary 
> for the fulfillment of contract obligations unless otherwise required by law. 
> You can exercise your rights under Art. 15 and following of the GDPR (i.e. 
> right of access, rectification, erasure, restriction, portability, object) by 
> contacting Huawei at this email address: [email protected] 
> <mailto:[email protected]> or through the following channel: 
> www.huawei.com/en/personal-data-request 
> <http://www.huawei.com/en/personal-data-request>. You have also the right to 
> lodge a complaint with the competent supervisory authorities. If you need any 
> further information or have any queries on how Huawei process your personal 
> data, please send an email to our Data Protection Officer at [email protected] 
> <mailto:[email protected]>.The Data Controller is Huawei Technologies Italia 
> S.r.l. with registered office in Milan, Via Lorenteggio 240 Tower A, 20147.
>  
>  
> _______________________________________________
> netmod mailing list
> [email protected] <mailto:[email protected]>
> https://www.ietf.org/mailman/listinfo/netmod 
> <https://www.ietf.org/mailman/listinfo/netmod>
_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to