Re: [Bier] Questions on draft-eckert-bier-te-arch-01

Eric C Rosen <erosen@juniper.net> Fri, 16 October 2015 18:48 UTC

Return-Path: <erosen@juniper.net>
X-Original-To: bier@ietfa.amsl.com
Delivered-To: bier@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8BA921ACDA2 for <bier@ietfa.amsl.com>; Fri, 16 Oct 2015 11:48:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.003
X-Spam-Level:
X-Spam-Status: No, score=-0.003 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1OCBZRz5krt6 for <bier@ietfa.amsl.com>; Fri, 16 Oct 2015 11:48:50 -0700 (PDT)
Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0741.outbound.protection.outlook.com [IPv6:2a01:111:f400:fc10::1:741]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B81F61ACDCA for <bier@ietf.org>; Fri, 16 Oct 2015 11:48:49 -0700 (PDT)
Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=erosen@juniper.net;
Received: from [172.29.36.57] (66.129.241.14) by BN3PR0501MB1089.namprd05.prod.outlook.com (10.160.113.11) with Microsoft SMTP Server (TLS) id 15.1.293.16; Fri, 16 Oct 2015 18:48:43 +0000
To: Toerless Eckert <eckert@cisco.com>
References: <55DF5BAD.9060003@juniper.net> <20151007221035.GA26709@cisco.com> <561BFD2C.8090708@juniper.net> <20151013000257.GA13911@cisco.com>
From: Eric C Rosen <erosen@juniper.net>
Message-ID: <56214683.5090900@juniper.net>
Date: Fri, 16 Oct 2015 14:48:35 -0400
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <20151013000257.GA13911@cisco.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Originating-IP: [66.129.241.14]
X-ClientProxiedBy: CO2PR18CA0041.namprd18.prod.outlook.com (25.161.80.51) To BN3PR0501MB1089.namprd05.prod.outlook.com (25.160.113.11)
X-Microsoft-Exchange-Diagnostics: 1; BN3PR0501MB1089; 2:uQUK6HbCDMaovhTssX4NmDlE2rguQ87iE7ERVqQFAiRYQ43+1uvLzfQuvknNl0xAkp7G5usT2Vd9kRu48mDI+NyRWQBXrXxooIoAQJ4TsCeVCMotWt78idD+2SrTs1dJW7Z2PXxr0oUS5mk1zuu/itihUFd80Bg8gth8wK1dkJw=; 3:w+/995rUIgzjFe/SgKZkmtUgZYEPIYqPFyF5g++KuWk520CQ4aAueHIwDHprBmh9MLcKSflnWGKDvrQcm9XUKu2fOVjyJjXX4hq4ofOIlqIf48QUTwifMqacgWwESIsi3wjeDE0K9ozL1LaUkUsOkA==; 25:OIiN9okLYQDmZ8uSLCH61RKgmk00Yapsgl8sku3FHjN7P+UCxfkp1l1hubyTEmrCxCvYyRlj/pdcB/5DlT5mCynzd4eS1aCfyv09q9wI2n4WQ+tv3HXqeLn1vwQREOYqt7/LiRhZYgAQvojCVTCFEPg8j6zWbNhbF6V5/9mvwPzGmLzF3/OUaxmOpv1N6do9CUv1/WqsL0IyOveY3+IvHP1Yu+4hv5sZx1YCGWAw4eODaYfcEPd02zkWzUr5L5Hrh3///2ZfBM8IylxRW/xLEA==
X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0501MB1089;
X-Microsoft-Exchange-Diagnostics: 1; BN3PR0501MB1089; 20:G9VVapaWl7oABf0Trww/DpLyRcbGIvK0oRUzVcI87M5d8/9AMt5WNRFhVwCXGjw/ukaFAdm637KUgvSA5pPtzxsto73G+bkWqeXrOkYRcTTEWwSs9smzZNmTwqLYk2mTSZU40VK7wZcXvxYxpnzVVEe4w3ShTLpA4gn0a3ZunEBxcTx1ANv31okcrJkFKrYgddjEWtvJ3XmKM0YLFaxBwv/Umcww/DkfRJpJ9IO6FB19BEAFVoen/3IeaURGfq2IXwEL48E560kG3ywgPm/L8ES6qm2+QhAr3wh4FX3fORTA45PGcw7ZteZVC8Y8btzH8FAm96kabRaE24Zyg7ZArz8lCYlCKMo7uQq7QvowD/6Xnv49n7DzCw3nUwmmBTnh7/5/c4qGoKSKhjQNTgS4uo3TZt7NNCkhhp10gcFLvFH+eikeEuJF2uai9m3cAM+fTLuxMf6gLdU0EHYy5YYev5LYBLertKqWOz8Pdu8+xNfTR2mL/ignevyLIozONSiM; 4:6B1xsCGncOqCfqpQTp0+leHWmjn4aJvDNWUzHfSn7Ebwd/V52SUnVEIryWNfGWFgiUE1nmxv6+o0baUecznEUBqj6KnMMpFd3/mtEfyT0IsVK3CiITVhy2iDmHdP2kZ3NXxFvNo/DbGUM8b+R4UHyUYik6cqC7wGQb0jcrNorEXA9ZAneFyH/0TuCs+fBeEKJk4U+H65n0DuzWgrfPhJXRUK5XjqhtnRwIOIUgJW+e9IhAuelRVa0QM0xcPHj5FGiE9Cj6Z3/QHTQeXc2+0vzVirvLjomfCDWLNlMJRdSGCqr5Z5Uy7fdDdMxUTG6QaZem3hrBTGK0jHlBrhpYvB/BojfwdbRU8C47RctJmbrAk=
X-Microsoft-Antispam-PRVS: <BN3PR0501MB108983782C000A349BA47AC9D43D0@BN3PR0501MB1089.namprd05.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001); SRVR:BN3PR0501MB1089; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1089;
X-Forefront-PRVS: 0731AA2DE6
X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(6049001)(189002)(51444003)(199003)(110136002)(77096005)(40100003)(64706001)(66066001)(105586002)(5008740100001)(5001960100002)(64126003)(42186005)(23746002)(117636001)(189998001)(65956001)(97736004)(122386002)(5004730100002)(99136001)(86362001)(65806001)(230783001)(101416001)(5007970100001)(36756003)(65816999)(83506001)(93886004)(92566002)(50466002)(54356999)(46102003)(2950100001)(50986999)(76176999)(81156007)(47776003)(59896002)(106356001)(4001350100001)(87976001)(87266999)(62816006); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1089; H:[172.29.36.57]; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
Received-SPF: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: 1; BN3PR0501MB1089; 23:VeYkw6PJUk7K7ItgnlyP/++JHXqNwzJp/RGgIp2RZgQw+tBcHYe3nqUbVueriBD320D/NSlqDrxwS4KzvVpHfMpWH2h2uwjmQD6taWSE7Nm/5DQ/JL66Swto8x4alE9xBxi1DfNvbZkhgG/1G9kPmift+CKwSPsg1COaJgQjKoliK5XG0OM0BlwMdhhknqc0gp4nLoJVy64YMmGb3jI2HJUA2DXYyZ0VIl/qwL7E67+bWRws0ve6lZqcgPtwGGaxXl9eVBQYP3abtBZDQTEhVxOtTW7NdHkt0ap0xo3ir2aHVyjuJTnhVlAPFOktFmDnI2kUQVVpCgnjkX0peDELPg0urX93Fnm6pi200Q95ZdEJVTuzXS+Q1y/mKoj88eIOzNHnJhEI+eC76TQ3owQwiEheLPG5NYljAlWEvtnom+ZJ/YGEYuPUZlQ+dOzRSyHdpYHTMwm9+SwmI7zWBHdWOcOVG/SK6b9bsI0gO0SAUVuIXCmyK/0n1sPj37HEiGGys7Pa3Z/tiK3Gd5SXndE3p5/Mv5wKnu/Zt4uZNCFgl0APmsIX4J65rZsPSbs6VoaMH4maR6xDeYGd+Te+Wc7skx4DBI4HL5lB2M7t357oCMvIuY+YxdAn9zUtSSDyk1d0yJRWxXUjgj3xNIrDca/Vvq6uDFC3h4OW/u1UAo7OMcCMinZAEvjECuJChb83H1vjS8upwfrBZ4EDCG9bmbNfCGMzfcdO4cy25+pQv6c2NqtjN+/hQEUBGjabDMEqk3VkDJKMISOcj7WxaY7CrK/yComREqaD4BBuGW3ZMq1koTW53PRMZwM0aDSWlgE1b1sNHwd5GOh7UAnEY+nsICFNMWkIGR3+45mKlTP5yDBBqkkLFIAschvqI1KKtHkAnwm23osUhl0q4mYf8wCzYhAEG/VpmyDZD50UvuYx9JyDH7zO7d0H6eAEbsBWZAUg2SprC4weaOnPD1xVq9sgcLoLDR7aHpLyDd5wfv99xinFPYhVrJNXC/Dta0I170cMsh3gSmZziO/cRodfYmj9B01igpiMPrfrZIrklocZGoXrlIfeGejnCfnkTUKDWd09wKJYQm9oBUzB4x+QkllkIRuqR0bovnf342EPrNmDCPAxHKTHBEotwK91fQ1iC8/nvIcArYbRlbYftevgNQyT3BFmzcYFi9di5or/jWKkZ51FCHEAj31DwJgDlC92lGGNvNudsGT0mxaXYLEdwIbsR1hYUw==
X-Microsoft-Exchange-Diagnostics: 1; BN3PR0501MB1089; 5:b3tUIuzr43nGrB+J/QzKaZqdQWvorUOR18e9XKjh2tYYWjDdtKRLbJTSOSp9QYDuY9yXP/aKEJir6S1lXHvPiUiriXpFU8H8ieMR6aqxzB02dH8nHTvK/pg7atkcTzXkTUSGkDJrJVSc2k1mWOumSA==; 24:XWu3+gZwiH6bA1rMmZbYIKLyeL4SzRQcGjah5HHfmlAK9FpDL3lCrnEDIW0Fdm5YVQH4HiENnwHQG9gQbmx5W16p6m1SJaNHbcxNeym/nRU=; 20:NOL/xwtdAyh4pZcXcnQ7T04JbjHp2i8ogdMSTgahFYrSwjregqMS89eYgy/kPyto0F78V9tWbQox+h7URUbZLg==
SpamDiagnosticOutput: 1:23
SpamDiagnosticMetadata: NSPM
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Oct 2015 18:48:43.3401 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1089
Archived-At: <http://mailarchive.ietf.org/arch/msg/bier/NIu_iFycz8_53nfPE9r65XsRc58>
Cc: "BIER (bier@ietf.org)" <bier@ietf.org>, Neale Ranns <nranns@cisco.com>
Subject: Re: [Bier] Questions on draft-eckert-bier-te-arch-01
X-BeenThere: bier@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"Bit Indexed Explicit Replication discussion list\"" <bier.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bier>, <mailto:bier-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bier/>
List-Post: <mailto:bier@ietf.org>
List-Help: <mailto:bier-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bier>, <mailto:bier-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 16 Oct 2015 18:48:56 -0000

>> [Eric] in BIER-TE forwarding the BFIR-id doesn't require a bit in the
>> BitString, so eliminating the BFIR-id doesn't really seem to provide
>> much value.

> [Toerless] 16 bit header saved.

I think that would count as "not much value" ;-)  FWIW, originally the 
MPLS encapsulation made the BFIR-id an optional field, but then you need 
a flag bit to say whether it is present, and it just seemed simpler to 
always include it.

> [Toerless] If BFR is leaf BFER, then controller only assigns bit to the
> links leading up to the leaf BFER, not the BFER itself.

> For all non-leaf BFER, controller assigns an individual bit.

Got it, I didn't attend properly to the fact that non-leaf BFERs have 
their own bits.

Maybe I should have said "almost got it" ;-)  Under what conditions will 
a leaf node receive a packet that it doesn't need to consume?  That is, 
what is the significance of failing to set the local_decaps bit?

Doesn't this scheme make it difficult to add a new BFER for an existing 
flow, or to change a non-leaf node from being a non-BFER to being a BFER 
for an existing flow?

> [Toerless] Lets run a simple example: 5 country network. 1000 BFER, each country
> 200 BFER, 3 routers in each country connecting to core. Call them
> them sub-domain BFIR if you want. Controller allocates
> one sub-domain per country. Fills up 256 bitstring with in-country
> BFER and in-country links Aka: lets say all relevant links between
> sub-domain BFIR and BFER are < 56.
>
> Lets look at BFIR service lookup for some IPTV (S,G) on ANY BFIR
> across the whole network: OIF list of 5 replications, each replication
> has unicast/MPLS label of one sub-domain BFIR follows by that BFIRs
> label for the subdomain of interest, followed by the BIER bitstring for
> the "in-country bits".
>
> Scales with number of BFER + number of relevant replication
> transit hops.  In above example, maybe 20% of BFER ???
>
> If you'd try to run this example with BIER instead of BIER-TE and
> did random BFR-ID == SI allocation, you may end up sending more copies
> across a lot of links. Eg: when you end up with BFR-ID with 2 different
> SI in a country. So the logic of allocating BFR-ID or sub-domains
> is really necessary/beneficial almost as much in BIER as in BIER-TE
> in these type of examples.

In non-TE BIER, you could also set up each country as a separate BIER 
sub-domain (or even a completely separate BIER domain, if we had 
inter-domain signaling of some sort).  Something like that might be 
needed anyway for inter-AS BIER.

>> Part of the BFER processing would be to figure out for each packet (a)
>> am I supposed to receive this packet and (b) did I receive it from the
>> sub-domain over which I'm expecting it?
>
> Hmmm... no, can't parse that. knowing which sub-domain a packet is
> for is like BIER via the label when MPLS encap is done (otherwise it
> wouldhave to be in the BIER header). Punting to higher layer is
> just based on having a bit with local decap and as explained above,
> the controller can intelligently assign this shared for leaf BFERs.

Think about an application like MVPN extranet, where one (S,G) flow is 
traveling through one sub-domain, another (S,G) flow is traveling 
through another sub-domain, and you have to make sure that each flow 
gets punted to the proper VRF.  If a given BFER for that flow is in both 
sub-domains, you'd need to know the sub-domain in order to dispatch to 
the proper VRF.  But I guess this could happen in non-TE BIER as well if 
different VPNs are using different sub-domains.

>>> [Toerless] rings require also only one bit per node (local decap),
>>> and a single shared bit for the ring (Section 4.6) (or even for
>>> multiple rings).
>>
>> [Eric] I don't quite understand from section 4.6 why a given packet will not
>> revolve around the ring forever, as the "ring bit" only seems to get
>> reset when the packet leaves the ring.  Also, if the "ring bit" gets
>> reset when a packet leaves the ring, how do you use one bit for multiple
>> rings?  Perhaps I've misunderstood something.
>
> [Toerless]  "On BFR2, the adjacency also points to the
>     clockwise neighbor BFR1, but without DNR set.  "

> DNR bit is part of the adjacency in the BIFT, so only
> the copies sent across the ring adjacencies will have it set, and then
> we do not set DNR towards the end of the ring before it would loop.

Doesn't this assume that all the BIER-TE packets enter the ring at a 
single ingress?  If packets can enter the ring at multiple points, what 
is the meaning of "end of the ring"?

> [Toerless] Multiple rings is just an example. DNR allows you to save bits
> in bitstring whenever you are fine all BIER-TE traffic is flooded
> across that sub-topology. Just set up in the BIFTs appropriate
> adjacencies to flood (loop free) across the topology.

I see how this would work for a sub-topology that is itself a tree 
(single ingress).  But if the non-leaf nodes in the sub-topology are 
also BFERs, you'd still need bits for them.