I would like to at least see a sentence indicating that if a
configuration of egress processing needs instance IDs that differ on the
upper 8 bits, they need separate ETR instances.
Using the incoming RLOC is risky at best, and probably will fail in
real-world circumstances.
I think there needs to be some explanation in the LCAF draft. The more
verbose explanation can be in the VPN draft.
Yours,
Joel
On 5/2/16 3:16 PM, Dino Farinacci wrote:
I have a problem. I was hoping to stay out of this.
Glad you joined in.
But the proposed description does not work.
Well we can improve on it.
Since xTRs form overlapping sets, I don't see any way to assign IDs to
Instances such that any given xTR does not need see the upper 8 bits of the
instance-ID it receives.
Well the lisp-vpn document could explain in more detail. We had one, it
expired, and I think its going to refreshed soon. I’ll contact the authors.
If the argument were that we want future flexibility, so we are supporting 32
bits in the control plane, I could see it. But as written, I would not know
what to do in an Etr or ITR if I had an Instance ID with the upper bits set?
Do I truncate on send, and compare only the lower 24 bits upon receipt? Once
we start needing the upper byte, I don't see how that could work very long.
Here is an example.
Say a network administrator wants to configure instance-IDs 0x800000ff and
0x000000ff each on different interfaces. Much like VRFs can be configured. This
xTR *could* encap with this configuration but cannot decap. So let’s go through
each direction:
(1) When a packet arrives on interface 0x800000ff, the ITR knows what map-cache
to use based on the 32-bit instance-ID. If there is a cache miss, it can do a
32-bit lookup and the mapping system will certainly return RLOCs for the given
EID being requested (the extended EID as defined in the DDT spec).
(2) Let’s say the RLOCs go to ETRs that are configured with instance-ID
0x800000ff. So when packets arrive at this ETR, the data header indicates
0x0000ff. The ETR has no problem finding the correct routing table for 0x0000FF
(it is the same as 0x800000FF). That is there are two names for the table.
(3) Let’s say the RLOCs that are returned for an EID lookup for 0x000000FF
(which is unique from 0x800000ff in the mapping system) for another ETR. And
that ETR is configured with only the instance ID 0x000000ff (just like the ETR
in (2)). Here there is no problem. And encapsulated packets to 0x0000ff go to
to the ETR for decap and delivery.
(4) If the ITR in (1) is also an ETR and gets encapsulated packets for
0x0000ff, it has some choices:
(a) Don’t allow this to happen and disallow the configuration so the xTR in
(1) looks like
the xTRs in (2) and (3).
(b) Check both tables for an EID match. And use the one that matches. This
assumes globally
unique addresses so the EID is in either one or the other table but not
both.
(c) Do a source RLOC lookup where the xTR can register what instance-IDs it
supports so you can get
the other 8 bits.
This needs to be explained in a use-case document on the usage of assigning
instance-IDs. The LCAF spec needs to resist putting these details in there, but
just describe the encoding and the format of messages.
Comments?
Dino
_______________________________________________
lisp mailing list
lisp@ietf.org
https://www.ietf.org/mailman/listinfo/lisp