Hi Eric,


Please see inline below with [Lucy1]



-----Original Message-----
From: Eric C Rosen [mailto:ero...@juniper.net]
Sent: Tuesday, September 22, 2015 12:20 PM
To: Lucy yong; Jeffrey (Zhaohui) Zhang; draft-ietf-bess...@ietf.org
Cc: bess@ietf.org
Subject: Re: [bess] comment on draft-ietf-bess-ir



Hi Lucy,



[Lucy] A parent for a mcast group can not consider the route to have been 
withdrawn and replaced because of RT is not indicate the parent.

The parent must check if the leaf A-D for the mcast is from its child.

There is a case, a parent for a mcast group receives an leaf A-D of the group 
from a downstream node whose parent is not this parent. In this case, the 
parent must not treat it as implicit withdraw.



I believe your suggestion is in violation of the BGP specification.

[Lucy1] Above is not my suggestion. My suggestion has been lost in 
"copy/paste". What is the violation of the BGP specification? Do you mean: A 
node sends a leaf A-D route with a RT first and then sends the withdraw leaf 
A-D route with different RT value?



[Lucy] Leaf A-D is for downstream to inform upstream parent, shouldn't be the 
same for segmented P-tunnels (IR) or non-segmented P-tunnels? If not, please 
explain.



When non-segmented ingress replication is used, the ingress PE needs to see the 
Leaf A-D routes from all the egress PEs.  (The ingress PE is the upstream 
parent in this case, even if the ingress PE is not a BGP peer of the egress 
PEs.)  This means that the RT on the Leaf A-D routes needs to identify the 
ingress PE.  However, the Leaf A-D routes may need to travel over multiple BGP 
sessions before they reach the ingress PE.

Some of these BGP sessions may be IBGP sessions, some may be EBGP sessions. 
It's rather important that the route not get discarded before it reaches the 
ingress PE, even though it passes through multiple BGP speakers.  If one wants 
to constrain the distribution of the routes, one still has to guarantee that 
the routes will reach their targets.

[Lucy1] Thx. IMO: this mechanism for membership announcement raises a BIG 
concern on the scalability and performance. Why is it not a concern for you?



Now let's turn to the issue you raised with regard to section 6.2 of the draft 
-- when is it is safe for an intermediate node to assign the same label to two 
tunnels?

[Lucy1] Agree, it has an issue in this ECMP example (for N3). Thanks.

Lucy



Consider two flows that originate from the same ingress PE (and same ingress 
VRF).  Call these flows K1 and K2.  We'll call the ingress PE "I-PE".



Let's consider a single egress PE, "E-PE", and let's suppose that we are using 
segmented ingress replication.



The following diagram depicts a possible way that the Leaf A-D routes may flow 
from E-PE to I-PE (thanks, Jeffrey, for the diagram):





                    K1: L4 <----       K1: L2 <----

       <------    -------------- N2 -----------------      <-----

       K1&K2: L6 /                                   \    K1&K2: L1

I-PE --------- N1                                   N3 ----------- E-PE

                 \                                   /

                  -------------- N4 -----------------

                    K2: L5 <----       K2: L3 <----

In words:



- E-PE sends Leaf(K1) to N3 with label L1.



- E-PE sends Leaf(K2) to N3 with label L1. (Flows K1 and K2 have same

ingress PE and same parent node, so can be assigned the same label.)



- N3 sends Leaf(K1) to N2 with label L2.



- N3 sends Leaf(K2) to N4 with label L3.  (The choice of N4 rather than

N2 as parent might be due to ECMP.)



- N2 sends Leaf(K1) to N1, with label L4.



- N4 sends Leaf(K2) to N1, with label L5.



Now N1 has to send both Leaf(K1) and Leaf(K2) to I-PE.  Per section 6.2,

it will assign a different label in each Leaf A-D route, since K1 and K2

have different children.  But let's suppose for now we follow your

suggestion, and allow N1 to assign the same label (L6) in both Leaf A-D

routes.



Let's look at the resulting data flow.  Suppose I-PE sends a K1 packet

to N1, with label L6.  N1 will have to send this packet to N2 with label

L4, and to N4 with label L6.



N2 will send the packet to N3 with label L2, and N4 will send the packet

to N3 with label L3.



N3 will send both packets to E-PE with label L1.



E-PE will then have received two copies of the K1 packet, and both

copies carry label L1.  Therefore E-PE has no way of knowing that it

needs to discard one copy.  The result is that E-PE will forward

duplicate traffic out its VRF interface.



On the other hand, if we follow the procedure specifies in section 6.2,

N1 will not forward K1 packets to N4, and E-PE will not forward

duplicate traffic.





Eric
_______________________________________________
BESS mailing list
BESS@ietf.org
https://www.ietf.org/mailman/listinfo/bess

Reply via email to