LISP architecture can be applied to a wide variety of
address-families. This textual-convention is a generalization
for representing addresses belonging to those address-families.
For convenience, this document refers to any such address as a
LISP address. LispAddressType textual-convention consists of
the following four-tuple:
1. IANA Address Family Number: A field of length 2 octets,
whose value is of the form following the assigned
AddressFamilyNumbers textual-convention described in
IANA-ADDRESS-FAMILY-NUMBERS-MIB DEFINITIONS, available from
http://www.iana.org/assignments/ianaaddressfamilynumbers-mib.
The enumerations are also listed in [IANA]. Note that this
list of address family numbers is maintained by IANA.
2. Length of LISP address: A field of length 1 octet, whose
value indicates the octet-length of the next (third)
field of this LispAddressType four-tuple.
3. LISP address: A field of variable length as indicated in
the previous (second) field, whose value is an address
of the IANA Address Family indicated in the first field
of this LispAddressType four-tuple. Note that any of
the IANA Address Families can be represented.
Particularly when the address family is LISP Canonical
Address Format (LCAF)
with IANA-assigned Address Family Number 16387, then the
first octet of this field indicates the LCAF type, and the
rest of this field is same as the encoding format of the
LISP Canonical Address after the length field, as defined
in LCAF document.
4. Mask-length of address: A field of length 1 octet, whose
value is the mask-length to be applied to the LISP
address specified in the previous (third) field.
To illustrate the use of this object, consider the LISP MIB
Object below titled lispMapCacheEntry. This object begins
with the following entities:
lispMapCacheEntry ::= SEQUENCE {
lispMapCacheEidLength INTEGER,
lispMapCacheEid LispAddressType,
... [skip] ...
Example 1: Suppose that the IPv4 EID-Prefix stored is
192.0.2.0/24. In this case, the values within
lispMapCacheEntry would be:
lispMapCacheEidLength = 8
lispMapCacheEid = 1, 4, 192.0.2.0, 24
... [skip] ...
where 8 is the total length in octets of the next object
(lispMapCacheEID of type LispAddressType). Then, the value
1 indicates the IPv4 AF (per the
IANA-ADDRESS-FAMILY-NUMBERS-MIB), the value 4 indicates that
the AF is 4 octets in length, 192.0.2.0 is the IPv4 address,
and the value 24 is the mask-length in bits. Note that the
lispMapCacheEidLength value of 8 is used to compute the
length of the fourth (last) field in lispMapCacheEid to be 1
octet -- as computed by 8 - (2 + 1 + 4) = 1.
Example 2: Suppose that the IPv6 EID-Prefix stored is
2001:db8:a::/48. In this case, the values within
lispMapCacheEntry would be:
lispMapCacheEidLength = 20
lispMapCacheEid = 2, 16, 2001:db8:a::, 48
... [skip] ...
where 20 is the total length in octets of the next object
(lispMapCacheEID of type LispAddressType). Then, the value
2 indicates the IPv6 AF (per the
IANA-ADDRESS-FAMILY-NUMBERS-MIB), the value 16 indicates
that the AF is 16 octets in length, 2001:db8:a:: is the IPv6
address, and the value 48 is the mask-length in bits. Note
that the lispMapCacheEidLength value of 20 is used to
compute the length of the fourth (last) field in
lispMapCacheEid to be 1 octet -- as computed by
20 - (2 + 1 + 16) = 1.
Example 3: As an example where LCAF is used, suppose
that the IPv4 EID-Prefix stored is 192.0.2.0/24 and it
is part of LISP Instance ID 101. In this case, the values
within lispMapCacheEntry would be:
lispMapCacheEidLength = 14
lispMapCacheEid = 16387, 10, 2, 101, 1, 192.0.2.0, 24
... [skip] ...
where 14 is the total length in octets of the next object
(lispMapCacheEID of type LispAddressType). Then, the value
16387 indicates the LCAF AF (see the
IANA-ADDRESS-FAMILY-NUMBERS-MIB), the value 10 indicates that
the LCAF AF is 10 octets in length in this case, 2 indicates
that LCAF Type 2 encoding is used (see the LCAF document), 101
gives the Instance ID, 1 gives the AFI (per the
IANA-ADDRESS-FAMILY-NUMBERS-MIB) for an IPv4 address, 192.0.2.0
is the IPv4 address, and 24 is the mask-length in bits. Note
that the lispMapCacheEidLength value of 14 octets is used to
compute the length of the last field in lispMapCacheEid to be 1
octet -- as computed by 14 - (2 + 1 + 1 + 3 + 2 + 4) = 1.
Note: all LISP header formats and locations of specific
flags, bits, and fields are as given in the base LISP
references of RFC 6830, RFC 6832, and RFC 6833. |