Hi,

I agree BGP would be much better if this was lifted up - indeed, if lifted further up past MED then it is guaranteed MED can no longer break your network (yay!).

Unfortunately, mixed envs can break iBGP convergence and cause oscillations, as the commit message notes? It seems like a loaded gun to give admins - and we could just have bgpd check it's safe with neighbours automatically - which would make it harder to silentl. Yet still requeued? (resend):

# commit message says routing-loops maybe possible in mixed nets. BGP # oscillation is definitely possible (also not good). Needs some # mechanism in place first to negotiate decision order, e.g. the # patches I posted.

regards,

Paul

On Fri, 11 Dec 2015, Donald Sharp wrote:

From: Pradosh Mohapatra <[email protected]>

A fat tree topology running IBGP gets into two issues with anycast address
routing. Consider the following topology:


       R9   R10
         x x
 R3   R4     R7   R8
    x           x
 R1   R2     R5   R6
 |    |      |    |
10/8 10/8  10/8   S

Let's remind ourselves of BGP decision process steps:

1. Highest Local Preference
2. Shortest AS Path Length
3. Lowest Origin Type
4. Lowest MED (Multi-Exit Discriminator)
5. Prefer External to Internal
6. Closest Egress (Lowest IGP Distance)
7. Tie Breaking (Lowest-Router-ID)
8. Tie Breaking (Lowest-cluster-list length)
9. Tie Breaking (Lowest-neighbor-address)

Without any policies, steps 1-6 will almost always evaluate identically for
all paths received on any router in the above topology. Let's assume that
the router-ids follow the following inequality: R1 < R2 < R5 < R6. Owing to
the 7th step above, all routers will now choose R1's path as the best. This
is undesirable. As an example, traffic from S to 10/8 will follow the path
S -> R6 -> R7 -> R9 -> R4 -> R2 -> 10/8 instead of S -> R6 -> R7 -> R5 -> 10/8.
Furthermore, once R7 (& R8) chooses R1's path as the best, it would withdraw
its path learned through (R5, R6) from (R9, R10). This leads to inefficient
load balancing - e.g. R9 can't do ECMP across all available egresses -
(R1, R2, R5).

The patch addresses these issues by noting that that cluster list is always
carried along with the routes and its length is a good indicator of IBGP
hops. It thus makes sense to compare that as an extension to metric after
step 6. That automatically ensures correct multipath computation.

Unfortunately a partial deployment of this in a generic topology (note:
fat-tree/clos topologies work fine) may lead to potential loops. It needs
to be looked into.

regards,
--
Paul Jakma | [email protected] | @pjakma | Key ID: 0xD86BF79464A2FF6A
Fortune:
Mollison's Bureaucracy Hypothesis:
        If an idea can survive a bureaucratic review and be implemented
        it wasn't worth doing.

_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to