Subject: [lisp] Map-Versioning

From: Luigi Iannone <[email-masked]>
Date: Wed, 31 Mar 2010 12:56:45 +0200

Hi All,

As a result of the meeting last week there was agreement among the version-numbering and version hashing proponents in adopting the versioning solution as defined in draft-iannone-mapping-versioning-01.txt (which includes Source Map-Version and ordering in the different versions) w.r.t. the hashing versioning.

However, modifications are needed in the lisp specific header format in order to accommodate the Instance Bit (I-bit) and the related field that goes in the second 32-bits of the header.

For this reason we propose to modify the header format definition to include versioning in the following way:

0 x 0 1 x
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|flags|   Source Map-Version  |Destination Map-Version|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Instance ID / Locator Status Bits          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

When the V-bit is set the low-order 24-bits of the first longword (which usually contains the nonce) are used transport both source and destination Map-Versions. In particular the first 12 bits are used for Source Map-Version and the second 12 bits for the Destination Map-Version.

      0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   |                          Record  TTL                          |
  |   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  R   | Locator Count | EID mask-len  | ACT |A|    Reserved           |
  e   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  c   | Rsvd  |  Map-Version Number   |            EID- AFI           |
  o   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  r   |                          EID-prefix                           |
  d   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  /|    Priority   |    Weight     |  M Priority   |   M Weight    |
  | / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |Loc|      Unused Flags           |R|           Loc-AFI             |
  | \ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  \|                             Locator                           |
  +-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

In order to maintain all packets format definition in one document the header format will be integrated in the main spec (draft-ietf-lisp-07) while all the description of how to use Map-Version will be concentrated in the  original mapping versioning draft (which of course will be updated accordingly to these changes).

Any objection or comment from the group?

Luigi