Subject: Re: [lisp] Flow label redux [Re: IPv6 UDP checksum issue]

From: [email-masked] (Noel Chiappa)
Date: Thu, 6 Aug 2009 13:00:14 -0400 (EDT)

> From: Brian E Carpenter <[email-masked]>

    > I see no particular issue with a network where some LAG-aware routers
    > do include the flow label in the hash and others don't.

Any time you have a network which is using hop-by-hop path selection (i.e.
each node makes an independent decision on the next hop) and those nodes are
not all using i) the same algorithm on ii) the same data, you can have routing
loops.

Not saying we'll necessarily get any in this case, but your statement, as
written, might be questionable.

	Noel

---

From: Iljitsch van Beijnum <[email-masked]>
Date: Fri, 7 Aug 2009 11:34:09 +0200

> not all using i) the same algorithm on ii) the same data, you can  

Depends on whether you are using strong multipath routing or weak  
multipath routing. (I hope there is better existing terminology for  
this, but haven't found it so far.)

Consider:

A      B
|      |
+------+
|      |
|      |
|      |
+------+
|      |
C      D

In the strong multipath routing case traffic from C to A can flow  
directly and C-D-B-A. So far so good. But D's traffic can flow D-C-A  
and D-B-A. This means that traffic towards A will flow over the C-D  
link in BOTH directions. This can only happen when C and D can  
determine for each packet whether it is on the C-D-B-A path or the D-C- 
A path. So there must be something in the packet that determines this  
and that is interpreted the same way by C and D.

In the weak multipath routing case this problem doesn't exist, because  
packets towards a certain destination may only traverse a certain link  
in one direction.

At this point, you won't be surprised to learn that existing multipath  
routing techniques, including link aggregation load balancing of  
various kinds, tend to use weak multipath routing. The exception is  
OSPF ToS routing, which uses the type-of-service bits to keep things  
straight. (Don't remember how the new and improved OSPF multitopology  
routing does this...)

---

From: Havard Eidnes <[email-masked]>
Date: Thu, 06 Aug 2009 20:04:18 +0200 (CEST)

> Any time you have a network which is using hop-by-hop path
> selection (i.e.  each node makes an independent decision on the
> next hop) and those nodes are not all using i) the same
> algorithm on ii) the same data, you can have routing loops.

In principle you're of course correct if the flow label was
entered as a factor into the layer-3 routing computation,
especially if individual routers do so differently.

However, I don't think that would be the case in this specific
example which is talking about a Link Aggregation Group (LAG).  A
LAG will from the layer-3 routing perspective appear as a single
point-to-point path.  So... what we're talking about is primarily
a link-level forwarding decision, not a layer-3 routing decision.
Thus, you can't get a routing loop, even if the devices at each
end of the LAG would use different algorithms for distributing
the load across the member links of the LAG.

While I have your collective attention, I'll just say that I
sometimes could wish for more focus on speedy deployment, and to
seriously consider the time it takes from "tweak to a standard"
until it's either initially deployed or even worse universally
deployed in operational networks.  To that end I'd like to
commend the LISP designers for wanting to work with existing
deployed hardware, and that I would turn my thumb down to those
who seem to indicate they want to not to consider the already
deployed base, and in effect go back to square zero.

Best regards,

- Håvard