Thanks to many people suggestion on how to express the list of VNs that an NVE 
is participating. 


Based on those comments, we created 3 types of subTLV to express the interested 
VNs:


   +-+-+-+-+-+-+-+-+
   |INT-VN-TYPE-1  |                  (1 byte)
   +-+-+-+-+-+-+-+-+
   |   Length      |                  (1 byte)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Requesting NVE Address subTLV   ...         (variable)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | RESV  |  Start VN ID          |  (4 bytes)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | VNID bit-map....
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
Figure 2. Enabled-VN TLV using bit map



   +-+-+-+-+-+-+-+-+
   | INT-VN-TYPE-2 |                  (1 byte)
   +-+-+-+-+-+-+-+-+
   |   Length      |                  (1 byte)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Requesting NVE Address subTLV   ...         (variable)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | RESV  |  Start VN ID          |  (4 bytes)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | RESV  |  End VN ID            |  (4 byptes)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
Figure 3. Enabled-VN TLV using Range


   +-+-+-+-+-+-+-+-+
   | INT-VN-TYPE-3 |                  (1 byte)
   +-+-+-+-+-+-+-+-+
   |   Length      |                  (1 byte)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Requesting NVE Address subTLV   ...         (variable)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | RESV  |        VN ID          |  (4 bytes)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | RESV  |        VN ID          |  (4 bytes)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | RESV  |        VN ID          |  (4 bytes)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     .   .   .
   +-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4. Enabled-VN TLV using list

-  Type: indicating different ways to express the VNs that NVE is 
participating: INT-VN-TYPE-1 is for using bit map to express the interested 
VNs; INT-VN-TYPE-2 is for using range to express the interested VNs (if the 
interested VNs are contiguous); IT-VN-TYPE-3 is for using individual VN list to 
express the interested VNs.


Please let us know if you have any issues using this format. 

Thanks, Linda


-----Original Message-----
From: Mingui Zhang 
Sent: Sunday, February 08, 2015 7:12 PM
To: Linda Dunbar
Cc: Tom Herbert; [email protected]; [email protected]
Subject: RE: [nvo3] is it resonsable that 
draft-dunbar-nvo3-nva-mapping-distribution-01 suggests NVE using bit-map to 
represent its supported VNs?

Hi Linda,

>> Therefore, I think it is better to have a flag indicating if the VNs 
>> are listed individually, Upper/Lower ranges, or bit mapped.
>>
>I wouldn't use a flag for that, it's probably cleaner to define another 
>TLV type that gives a list of VNIDs. Either the list or bit-map can be 
>used interchangeably.

I also think separate TLVs should be specified. Thus we will have three types 
of TLV to encode the VNID list: 
(1) VNIDs listed individually;
(2) Ranges with Upper/Lower bounds;
(3) One or *multiple* bit-maps of VNIDs.

Since it's still possible that a single TLV is too large by using any of the 
TLVs so fragmentation should be specified as well. 

Thanks,
Mingui




>-----Original Message-----
>From: nvo3 [mailto:[email protected]] On Behalf Of Tom Herbert
>Sent: Friday, January 30, 2015 6:27 AM
>To: Linda Dunbar
>Cc: [email protected]; [email protected]
>Subject: Re: [nvo3] is it resonsable that
>draft-dunbar-nvo3-nva-mapping-distribution-01 suggests NVE using 
>bit-map to represent its supported VNs?
>
>On Thu, Jan 29, 2015 at 1:53 PM, Linda Dunbar <[email protected]>
>wrote:
>> When a NVE is initialized or re-started, it uses Virtual Network 
>> scoped instances of the IS-IS to announce all the Virtual Networks in 
>> which it is participating.
>>
>>
>>
>> The  current draft-dunbar-nvo3-nva-mapping-distribution-01 suggests 
>> using the bit map to represent the supported VNs.
>>
>>    +-+-+-+-+-+-+-+-+
>>
>>    |     Type      |                  (1 byte)
>>
>>    +-+-+-+-+-+-+-+-+
>>
>>    |   Length      |                  (1 byte)
>>
>>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>>
>>    | RESV  |  Start VN ID          |  (2 bytes)
>>
>>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>>
>>    | VNID bit-map....
>>
>>    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>>
>> Figure 2. Enabled-VN TLV
>>
>Hi Linda,
>
>First a couple of meta comments on the draft:
>
>- Sizes of type and lengths in TLVs are inconsistent (some 16 bits, 
>some 32 bits). It might be just as well to make all of them 16 bits.
>- For the above, I think the Start VNID field is 4 bytes not 2 bytes.
>- Please avoid implicitly setting constraints on the data plane in the 
>definition of control plane. For instance, I've already made arguments 
>that VN ID might be thirty-two bits, and there's little cost to 
>defining thirty-two bit VN IDs in the control plane.
>
>>
>>
>>
>>
>> For 24-bits VN ID, there could be 16million VNs. Even with the “Start VN ID”
>> listed, the number of bytes for the bitmap can be very large.
>>
>>
>>
>> Therefore, I think it is better to have a flag indicating if the VNs 
>> are listed individually, Upper/Lower ranges, or bit mapped.
>>
>I wouldn't use a flag for that, it's probably cleaner to define another 
>TLV type that gives a list of VNIDs. Either the list or bit-map can be 
>used interchangeably.
>
>Tom
>
>>
>>
>> Any other suggestions?
>>
>>
>>
>> Linda
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> nvo3 mailing list
>> [email protected]
>> https://www.ietf.org/mailman/listinfo/nvo3
>>
>
>_______________________________________________
>nvo3 mailing list
>[email protected]
>https://www.ietf.org/mailman/listinfo/nvo3
_______________________________________________
nvo3 mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/nvo3

Reply via email to